Sortie temporaire : ajout date retour

This commit is contained in:
Jean-Christophe Engel 2025-10-24 10:50:57 +02:00
parent 8266ab8aeb
commit fc526918f9
8 changed files with 159 additions and 4 deletions

View file

@ -6,7 +6,7 @@
*}}
{{* récupérer la config des entrées/sorties *}}
{{:include file="../_get_config.html" keep="config"}}
{{:include file="../_get_config.html" keep="config, loan_duration"}}
{{* types de sorties *}}
{{#foreach from=$config.output_nature key=key}}
@ -31,6 +31,15 @@
{{/if}}
{{:assign var="type_mvt" from="config.output_nature.%s.type"|args:$_POST.operation}}
{{if $type_mvt != "temporaire" && $_POST.set_return_date != null}}
{{:error message="On ne peut associer une date de retour qu'à une sortie temporaire"}}
{{/if}}
{{if $_POST.set_return_date != null}}
{{:assign return_date=$_POST.return_date}}
{{else}}
{{:assign return_date=null}}
{{/if}}
{{if $_POST.user|count > 1}}
{{:error message="Un membre au plus peut être associé à une sortie"}}
{{/if}}
@ -142,6 +151,7 @@
date=$_POST.date|parse_date
comment=$_POST.remarques|trim
user=$user.id
return_date=$return_date|parse_date
}}
{{:redirect force="../equipment_history.html?ok=1&key=%s&prop=1&msg=sortie"|args:$_GET.key}}
{{/form}}
@ -156,6 +166,8 @@
{{:assign dispo="%d-%d"|math:$equipment.stock:$equipment.out}}
{{if $dispo > 0}}
{{:assign ts_retour="%d+%d*(60*60*24)"|math:$now:$loan_duration}}
{{:assign date_retour=$ts_retour|date_short}}
{{* formulaire de sortie de matériel *}}
<form method="post" action="">
@ -194,6 +206,11 @@
max=1
}}
{{: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"}}
<div id="div_return_date" style="visibility:hidden">
{{:input type="date" id="return_date" name="return_date" label="Date de retour" default=$date_retour}}
<input type="hidden" id="loan_duration" name="loan_duration" value="{{$loan_duration}}">
</div>
</dl>
</fieldset>
<p class="submit">
@ -206,3 +223,23 @@
{{:form_errors}}
{{:admin_footer}}
<script type="text/javascript" src="../scripts.js"></script>
<script type="text/javascript">
function changeVisibility(evt, idcheck = 'f_set_return_date_1', fields = ['div_return_date']) {
toggleVisibility(idcheck, fields);
}
function changeReturnDate(evt, id_date = 'f_date', id_return_date = 'f_return_date', id_loan_duration='loan_duration') {
const loan_duration = document.getElementById(id_loan_duration).value;
let nbsec = getDate(id_date) + loan_duration*24*60*60;
const date_retour = new Date(nbsec * 1000);
document.getElementById(id_return_date).value = date_retour.toLocaleDateString();
}
(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;
})();
</script>