Implement optional signature
All checks were successful
continuous-integration/drone/push Build is passing

This commit is contained in:
nemunaire 2022-11-11 13:27:09 +01:00
parent a48bc1f1bc
commit b4b531409f
3 changed files with 33 additions and 16 deletions

View file

@ -55,11 +55,11 @@ export class WorkRepository {
}
}
async retrieveWork(tag) {
async retrieveWork(admin_struct) {
const res = await fetch(this.id_work?`api/works/${this.id_work}/repositories/${this.id}/trigger`:`api/repositories/${this.id}/trigger`, {
method: 'POST',
headers: {'Accept': 'application/json'},
body: !tag || tag.length == 0?null:JSON.stringify(tag)
body: !admin_struct?{}:JSON.stringify(admin_struct)
});
if (res.status == 200) {
const data = await res.json();

View file

@ -38,7 +38,7 @@
let nb_users = 0;
let show_logs = null;
let run_pull_for = {repo: null, user: null, tag: null};
let run_pull_for = {repo: null, user: null, struct: {tag: null, sig_optional: false}};
let search_repo_for = {repo: null, user: null};
</script>
@ -90,7 +90,7 @@
<button
class="btn btn-sm btn-primary mx-1"
title="Rafraîchir"
on:click={() => { run_pull_for = { repo, user, tag: '', modal: new bootstrap.Modal(document.getElementById('pullModal'))}; run_pull_for.modal.show(); }}
on:click={() => { run_pull_for = { repo, user, struct: {tag:''}, modal: new bootstrap.Modal(document.getElementById('pullModal'))}; run_pull_for.modal.show(); }}
>
<i class="bi bi-arrow-clockwise"></i>
</button>
@ -128,7 +128,7 @@
<div class="modal fade" tabindex="-1" id="pullModal">
<div class="modal-dialog">
<form class="modal-content" on:submit|preventDefault={() => {run_pull_for.modal.hide(); try { run_pull_for.repo.retrieveWork(run_pull_for.tag) } catch(err) { ToastsStore.addToast({color: "danger", title: "Connexion impossible", msg: err}) };}}>
<form class="modal-content" on:submit|preventDefault={() => {run_pull_for.modal.hide(); try { run_pull_for.repo.retrieveWork(run_pull_for.struct) } catch(err) { ToastsStore.addToast({color: "danger", title: "Connexion impossible", msg: err}) };}}>
<div class="modal-header">
<h5 class="modal-title">Repository Pull {#if run_pull_for.user}{run_pull_for.user.login}{/if}</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
@ -136,7 +136,13 @@
<div class="modal-body">
<div class="form-group row mb-2">
<label class="col-2 col-form-label" for="pull-tag">Tag</label>
<input class="form-control col" id="pull-tag" autofocus placeholder={w.tag} bind:value={run_pull_for.tag}>
<input class="form-control col" id="pull-tag" autofocus placeholder={w.tag} bind:value={run_pull_for.struct.tag}>
</div>
<div class="form-check">
<input class="form-check-input" type="checkbox" value="1" id="optional-sig" bind:checked={run_pull_for.struct.sig_optional}>
<label class="form-check-label" for="optional-sig">
Signature du tag optionnelle
</label>
</div>
</div>
<div class="modal-footer">
@ -150,7 +156,7 @@
<div class="modal fade" tabindex="-1" id="repoModal">
<div class="modal-dialog">
<form class="modal-content" on:submit|preventDefault={() => {search_repo_for.modal.hide(); try { search_repo_for.repo.retrieveWork(run_pull_for.tag) } catch(err) { ToastsStore.addToast({color: "danger", title: "Connexion impossible", msg: err}) }; search_repo_for.user = null; }}>
<form class="modal-content" on:submit|preventDefault={() => {search_repo_for.modal.hide(); try { search_repo_for.repo.retrieveWork(run_pull_for.struct) } catch(err) { ToastsStore.addToast({color: "danger", title: "Connexion impossible", msg: err}) }; search_repo_for.user = null; }}>
<div class="modal-header">
<h5 class="modal-title">Repository selector {#if search_repo_for.user}{search_repo_for.user.login}{/if}</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>