Ajout saisie tarif des sorties temporaires

This commit is contained in:
Jean-Christophe Engel 2026-02-09 14:50:04 +01:00
parent 03d278ab2c
commit bc2aefe26a
3 changed files with 146 additions and 38 deletions

View file

@ -5,6 +5,7 @@
{{*
paramètres :
- key : clé du matériel à sortir
- output_type : loan (prêt), rent (location), rien (cas général)
*}}
{{* récupérer la config des entrées/sorties *}}
@ -12,7 +13,17 @@
{{* types de sorties *}}
{{#foreach from=$config.output_nature key=key}}
{{if $type != 'retour'}}
{{if $type == 'retour'}}
{{:continue}}
{{/if}}
{{if $type == 'temporaire' && $fee == 'payant'}}
{{:assign var="paid_keys." value=$key}}
{{/if}}
{{if $_GET.output_type == null}}
{{:assign var="output_labels.%s"|args:$key value=$label}}
{{elseif $type == 'temporaire' && $_GET.output_type == "loan" && $fee != 'payant'}}
{{:assign var="output_labels.%s"|args:$key value=$label}}
{{elseif $type == 'temporaire' && $_GET.output_type == "rent" && $fee == 'payant'}}
{{:assign var="output_labels.%s"|args:$key value=$label}}
{{/if}}
{{/foreach}}
@ -200,19 +211,36 @@
{{/if}}
{{:input type="date" name="date" label="Date de sortie" required=true default=$now|date_short}}
{{:input type="number" name="amount" label="Quantité" required=true default=1 min=1 max=$dispo}}
<div id="rent_user">
{{if $_GET.output_type == null || $_GET.output_type == "rent"}}
{{:input
type="list"
name="user"
label="Membre destinataire"
target="!users/selector.php"
multiple=true
max=1
required=true
}}
{{/if}}
</div>
</dl>
</fieldset>
<fieldset class="entree">
<legend>Informations facultatives</legend>
<dl>
{{:input
type="list"
name="user"
label="Membre destinataire"
target="!users/selector.php"
multiple=true
max=1
}}
<div id="loan_user">
{{if $_GET.output_type != "rent"}}
{{:input
type="list"
name="user"
label="Membre destinataire"
target="!users/selector.php"
multiple=true
max=1
}}
{{/if}}
</div>
{{:input type="list" name="transactions" label="Écritures liées" target="!acc/transactions/selector.php" multiple=true help="par exemple écriture avec facture"}}
{{:input type="textarea" name="remarques" label="Remarques" cols="40" rows="3" required=false}}
{{:input id="set_return_date" type="checkbox" value=1 name="set_return_date" label="Fixer une date de retour" help="Cocher pour fixer une date de retour"}}
@ -234,7 +262,10 @@
{{:admin_footer}}
<script type="text/javascript" src="../scripts.js"></script>
<script type="text/javascript">
var paid_keys = {{$paid_keys|json_encode|raw}};
function changeVisibility(evt, idcheck = 'f_set_return_date_1', fields = ['div_return_date']) {
toggleVisibility(idcheck, fields);
}
@ -244,9 +275,23 @@ function changeReturnDate(evt, id_date = 'f_date', id_return_date = 'f_return_da
setReturnDate(id_date, id_return_date, id_loan_duration);
}
function toggleUserDiv(event) {
const operation = document.getElementById('f_operation').value;
console.log('paid_keys=' + paid_keys + ', operation=' + operation);
if (paid_keys.includes(operation)) {
g.toggle('#rent_user', true);
g.toggle('#loan_user', false);
} else {
g.toggle('#rent_user', false);
g.toggle('#loan_user', true);
}
}
toggleUserDiv();
(function () {
document.getElementById('f_set_return_date_1').checked = false;
document.getElementById('f_set_return_date_1').onclick = changeVisibility;
document.getElementById('f_date').onchange = changeReturnDate;
document.getElementById('f_operation').onchange = toggleUserDiv;
})();
</script>