mirror of
https://github.com/arcan1s/ahriman.git
synced 2025-11-18 14:33:41 +00:00
* Allow to use single web instance for any repository * some improvements * drop includes from user home directory, introduce new variables to docker The old solution didn't actually work as expected, because devtools configuration belongs to filesystem (as well as sudo one), so it was still required to run setup command. In order to handle additional repositories, the POSTSETUP and PRESETUP commands variables have been introduced. FAQ has been updated as well * raise 404 in case if repository is unknown
58 lines
3.1 KiB
Django/Jinja
58 lines
3.1 KiB
Django/Jinja
<div id="package-rebuild-modal" tabindex="-1" role="dialog" class="modal fade">
|
|
<div class="modal-dialog" role="document">
|
|
<div class="modal-content">
|
|
<form id="package-rebuild-form" onsubmit="return false">
|
|
<div class="modal-header">
|
|
<h4 class="modal-title">Rebuild depending packages</h4>
|
|
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="close"></button>
|
|
</div>
|
|
<div class="modal-body">
|
|
<div class="form-group row">
|
|
<label for="package-rebuild-repository-input" class="col-sm-4 col-form-label">repository</label>
|
|
<div class="col-sm-8">
|
|
<select id="package-rebuild-repository-input" class="form-control" name="repository" required>
|
|
{% for repository in repositories %}
|
|
<option value="{{ repository.id }}" data-repository="{{ repository.repository }}" data-architecture="{{ repository.architecture }}">{{ repository.repository }} ({{ repository.architecture }})</option>
|
|
{% endfor %}
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="form-group row">
|
|
<label for="package-rebuild-dependency-input" class="col-sm-4 col-form-label">dependency</label>
|
|
<div class="col-sm-8">
|
|
<input id="package-rebuild-dependency-input" type="text" class="form-control" placeholder="packages dependency" name="package" required>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div class="modal-footer">
|
|
<button type="submit" class="btn btn-primary" onclick="packagesRebuild()"><i class="bi bi-play"></i> rebuild</button>
|
|
</div>
|
|
</form>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<script>
|
|
const packageRebuildModal = $("#package-rebuild-modal");
|
|
const packageRebuildForm = $("#package-rebuild-form");
|
|
packageRebuildModal.on("shown.bs.modal", () => {
|
|
$(`#package-rebuild-repository-input option[value="${repository.architecture}-${repository.repository}"]`).prop("selected", true);
|
|
|
|
});
|
|
packageRebuildModal.on("hidden.bs.modal", () => { packageRebuildForm.trigger("reset"); });
|
|
|
|
const packageRebuildDependencyInput = $("#package-rebuild-dependency-input");
|
|
const packageRebuildRepositoryInput = $("#package-rebuild-repository-input");
|
|
|
|
function packagesRebuild() {
|
|
const packages = packageRebuildDependencyInput.val();
|
|
const repository = getRepositorySelector(packageRebuildRepositoryInput);
|
|
if (packages) {
|
|
packageRebuildModal.modal("hide");
|
|
const onSuccess = update => `Repository rebuild has been run for packages which depend on ${update}`;
|
|
const onFailure = error => `Repository rebuild failed: ${error}`;
|
|
doPackageAction("/api/v1/service/rebuild", [packages], repository, onSuccess, onFailure);
|
|
}
|
|
}
|
|
</script>
|