Suppression case Fixer date retour

This commit is contained in:
Jean-Christophe Engel 2026-03-16 15:55:23 +01:00
parent 8bbd0b8101
commit e4e717dfb1
7 changed files with 125 additions and 90 deletions

View file

@ -26,9 +26,3 @@
{{/foreach}} {{/foreach}}
{{/if}} {{/if}}
{{/foreach}} {{/foreach}}
{{if $module.config.loan_duration != null}}
{{:assign loan_duration=$module.config.loan_duration}}
{{else}}
{{:assign loan_duration=$config_defaut.loan_duration}}
{{/if}}

View file

@ -3,9 +3,9 @@
{{#restrict block=true section="accounting" level="write"}}{{/restrict}} {{#restrict block=true section="accounting" level="write"}}{{/restrict}}
{{#form on="save"}} {{#form on="save"}}
{{* vérifier la valisité de la durée saisie *}} {{* vérifier la validité de la durée saisie *}}
{{if $_POST.loan_duration <= 0}} {{if $_POST.loan_duration < 0}}
{{:error message="Durée (%s) erronée ; doit être > 0"|args:$_POST.loan_duration}} {{:error message="Durée (%s) erronée ; doit être >= 0"|args:$_POST.loan_duration}}
{{/if}} {{/if}}
{{:save {{:save
@ -30,7 +30,7 @@
<fieldset> <fieldset>
<legend>Autres paramètres</legend> <legend>Autres paramètres</legend>
<dl> <dl>
{{:input type="number" name="loan_duration" label="Durée de prêt par défaut" min=1 required=true default=$loan_duration help="Durée en nombre de jours"}} {{:input type="number" name="loan_duration" label="Durée de prêt par défaut" min=0 default=$module.config.loan_duration help="Durée en nombre de jours ; mettre 0 pour supprimer la durée par défaut"}}
</dl> </dl>
</fieldset> </fieldset>
<p class="submit"> <p class="submit">

View file

@ -40,6 +40,5 @@
"label" : "Retour de Location/Emprunt", "label" : "Retour de Location/Emprunt",
"type" : "retour" "type" : "retour"
} }
], ]
"loan_duration" : "30"
} }

View file

@ -16,7 +16,7 @@
{{/load}} {{/load}}
{{* récupérer la config des entrées/sorties *}} {{* récupérer la config des entrées/sorties *}}
{{:include file="../_get_config.html" keep="config, directions, loan_duration"}} {{:include file="../_get_config.html" keep="config, directions"}}
{{:assign var="type_mvt" from="config.%s_nature.%s.type"|args:$mvt_new.direction:$mvt_new.operation}} {{:assign var="type_mvt" from="config.%s_nature.%s.type"|args:$mvt_new.direction:$mvt_new.operation}}
{{* interdire de dupliquer un retour => utiliser le bouton « Retour » *}} {{* interdire de dupliquer un retour => utiliser le bouton « Retour » *}}
@ -95,8 +95,12 @@
{{:assign var="mvt_new.amount" value=$_POST.amount}} {{:assign var="mvt_new.amount" value=$_POST.amount}}
{{:assign var="mvt_new.date" value=$_POST.date|parse_date}} {{:assign var="mvt_new.date" value=$_POST.date|parse_date}}
{{:assign var="mvt_new.comment" value=$_POST.comment}} {{:assign var="mvt_new.comment" value=$_POST.comment}}
{{if $_POST.set_return_date != null}}
{{:assign return_date=$_POST.return_date}} {{if $_POST.return_date != null}}
{{:assign return_date=$_POST.return_date|parse_date}}
{{if $return_date < $_POST.date|parse_date}}
{{:error message="La date de retour doit être postérieure à la date de sortie !"}}
{{/if}}
{{else}} {{else}}
{{:assign return_date=null}} {{:assign return_date=null}}
{{/if}} {{/if}}
@ -205,7 +209,7 @@
user=$user.id user=$user.id
storage=$_POST.storage storage=$_POST.storage
transactions=$transactions transactions=$transactions
return_date=$return_date|parse_date return_date=$return_date
}} }}
{{if $_GET.from|substr:0:1 == "l"}} {{if $_GET.from|substr:0:1 == "l"}}
@ -240,7 +244,6 @@
-------------------- Préparer la saisie -------------------- -------------------- Préparer la saisie --------------------
*}} *}}
{{* récupérer les infos de la catégorie *}}
{{#load key=$equipment.category assign="category"}}{{/load}} {{#load key=$equipment.category assign="category"}}{{/load}}
{{:assign var="op_label" from="config.%s_nature.%s.label"|args:$mvt_new.direction:$mvt_new.operation}} {{:assign var="op_label" from="config.%s_nature.%s.label"|args:$mvt_new.direction:$mvt_new.operation}}
@ -268,15 +271,16 @@
<fieldset> <fieldset>
<legend>Informations obligatoires</legend> <legend>Informations obligatoires</legend>
<dl> <dl>
{{:input type="date" name="date" label="Date" required=true default=$mvt_new.date}}
{{:input type="number" name="amount" label="Quantité" min=1 required=true default=$mvt_new.amount}}
{{if $mvt_new.direction == "input"}} {{if $mvt_new.direction == "input"}}
{{:input type="select" name="operation" label="Type" required=true options=$input_labels|sort default=$mvt_new.operation}} {{:input type="select" name="operation" label="Type" required=true options=$input_labels|sort default=$mvt_new.operation}}
{{else}} {{else}}
{{:input type="select" name="operation" label="Type" required=true options=$output_labels|sort default=$mvt_new.operation}} {{:input type="select" name="operation" label="Type" required=true options=$output_labels|sort default=$mvt_new.operation}}
{{/if}} {{/if}}
{{:input type="date" name="date" label="Date" required=true default=$mvt_new.date}}
{{:input type="number" name="amount" label="Quantité" min=1 required=true default=$mvt_new.amount}}
</dl> </dl>
</fieldset> </fieldset>
<fieldset class="entree"> <fieldset class="entree">
<legend>Autres informations</legend> <legend>Autres informations</legend>
<dl> <dl>
@ -292,27 +296,25 @@
}} }}
{{/if}} {{/if}}
{{if $mvt_new.direction == "input" && $storage != null}} {{if $mvt_new.direction == "input" && $storage != null}}
{{:input type="select" name="storage" default=$mvt_new.storage label="Lieu de stockage" default_empty="— Aucun —" options=$storage required=false}} {{:input type="select" name="storage" label="Lieu de stockage" default=$mvt_new.storage default_empty="— Aucun —" options=$storage required=false}}
{{/if}} {{/if}}
{{if $type_mvt != "retour"}} {{if $type_mvt != "retour"}}
{{:input type="list" name="transactions" label="Écritures liées" target="!acc/transactions/selector.php" multiple=true help="par exemple écriture avec facture"}} {{:input type="list" name="transactions" label="Écritures liées" target="!acc/transactions/selector.php" multiple=true help="par exemple écriture avec facture"}}
{{/if}} {{/if}}
{{:input type="textarea" name="comment" label="Remarques" cols="40", rows="3" required=false default=$mvt_new.comment}} {{:input type="textarea" name="comment" label="Remarques" cols="40" rows="3" required=false default=$mvt_new.comment}}
{{if $mvt_new.direction == "output" && $type_mvt == "temporaire"}} {{if $mvt_new.direction == "output"}}
{{if $mvt_new.return_date != null}} {{if $mvt_new.return_date != null}}
{{:assign checked="checked"}}
{{:assign visibility="visible"}}
{{:assign return_date=$mvt_new.return_date}} {{:assign return_date=$mvt_new.return_date}}
{{else}} {{else}}
{{:assign visibility="hidden"}} {{if $module.config.loan_duration != null && $module.config.loan_duration > 0}}
{{:assign ts_sortie=$mvt_new.date|strtotime}} {{:assign ts_sortie=$mvt_new.date|strtotime}}
{{:assign ts_retour="%d+%d*(60*60*24)"|math:$ts_sortie:$loan_duration}} {{:assign ts_retour="%d+%d*(60*60*24)"|math:$ts_sortie:$module.config.loan_duration}}
{{:assign return_date=$ts_retour|date_short}} {{:assign return_date=$ts_retour|date_short}}
{{/if}}
{{/if}} {{/if}}
{{: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" checked="%s"|args:$checked}} <div id="div_return_date">
<div id="div_return_date" style="visibility:{{$visibility}}">
{{:input type="date" name="return_date" label="Date de retour" default=$return_date}} {{:input type="date" name="return_date" label="Date de retour" default=$return_date}}
<input type="hidden" id="loan_duration" name="loan_duration" value="{{$loan_duration}}"> <input type="hidden" id="loan_duration" name="loan_duration" value="{{$module.config.loan_duration}}">
</div> </div>
{{/if}} {{/if}}
</dl> </dl>
@ -327,9 +329,17 @@
{{:admin_footer}} {{:admin_footer}}
<script type="text/javascript" src="../scripts.js"></script> <script type="text/javascript" src="../scripts.js"></script>
<script type="text/javascript"> <script type="text/javascript">
function changeVisibility(evt, idcheck = 'f_set_return_date_1', fields = ['div_return_date']) { let output_nature = {{$config.output_nature|json_encode|raw}};
toggleVisibility(idcheck, fields);
function changeVisibility(evt,
id_date = 'f_date',
id_type = 'f_operation',
div = 'div_return_date',
id_return_date = 'f_return_date')
{
toggleVisibility(id_date, id_type, div, id_return_date);
} }
function changeReturnDate(evt, id_date = 'f_date', id_return_date = 'f_return_date', id_loan_duration='loan_duration') function changeReturnDate(evt, id_date = 'f_date', id_return_date = 'f_return_date', id_loan_duration='loan_duration')
@ -338,7 +348,8 @@ function changeReturnDate(evt, id_date = 'f_date', id_return_date = 'f_return_da
} }
(function () { (function () {
document.getElementById('f_set_return_date_1').onclick = changeVisibility; document.getElementById('f_operation').onchange = changeVisibility;
document.getElementById('f_date').onchange = changeReturnDate; document.getElementById('f_date').onchange = changeReturnDate;
document.getElementById('f_operation').onchange();
})(); })();
</script> </script>

View file

@ -15,7 +15,7 @@
{{/load}} {{/load}}
{{* récupérer la config des entrées/sorties *}} {{* récupérer la config des entrées/sorties *}}
{{:include file="../_get_config.html" keep="config, directions, loan_duration"}} {{:include file="../_get_config.html" keep="config, directions"}}
{{:assign var="type_mvt" from="config.%s_nature.%s.type"|args:$mvt_new.direction:$mvt_new.operation}} {{:assign var="type_mvt" from="config.%s_nature.%s.type"|args:$mvt_new.direction:$mvt_new.operation}}
{{if $mvt_new.direction == "input"}} {{if $mvt_new.direction == "input"}}
@ -59,11 +59,11 @@
-------------------- Traiter la saisie -------------------- -------------------- Traiter la saisie --------------------
*}} *}}
{{#form on="save"}} {{#form on="save"}}
{{* vérifier la validité de la saisie *}}
{{if $_POST.amount <= 0}} {{if $_POST.amount <= 0}}
{{:error message="La quantité (%s) doit être strictement positive !!"|args:$_POST.amount}} {{:error message="La quantité (%s) doit être strictement positive !!"|args:$_POST.amount}}
{{/if}} {{/if}}
{{* vérifier validité des données *}}
{{if $_POST.date|parse_date|strtotime > $now}} {{if $_POST.date|parse_date|strtotime > $now}}
{{:error message="Impossible de saisir une date dans le futur (%s)"|args:$_POST.date}} {{:error message="Impossible de saisir une date dans le futur (%s)"|args:$_POST.date}}
{{/if}} {{/if}}
@ -86,8 +86,12 @@
{{:assign var="mvt_new.amount" value=$_POST.amount}} {{:assign var="mvt_new.amount" value=$_POST.amount}}
{{:assign var="mvt_new.date" value=$_POST.date|parse_date}} {{:assign var="mvt_new.date" value=$_POST.date|parse_date}}
{{:assign var="mvt_new.comment" value=$_POST.comment}} {{:assign var="mvt_new.comment" value=$_POST.comment}}
{{if $_POST.set_return_date != null}}
{{:assign return_date=$_POST.return_date}} {{if $_POST.return_date != null}}
{{:assign return_date=$_POST.return_date|parse_date}}
{{if $return_date < $_POST.date|parse_date}}
{{:error message="La date de retour doit être postérieure à la date de sortie !"}}
{{/if}}
{{else}} {{else}}
{{:assign return_date=null}} {{:assign return_date=null}}
{{/if}} {{/if}}
@ -222,7 +226,7 @@
user=$user_id user=$user_id
storage=$_POST.storage storage=$_POST.storage
transactions=$transactions transactions=$transactions
return_date=$return_date|parse_date return_date=$return_date
}} }}
{{if $_GET.from|substr:0:1 == "l"}} {{if $_GET.from|substr:0:1 == "l"}}
@ -250,9 +254,10 @@
{{else}} {{else}}
{{:assign mvt_label="sortie"}} {{:assign mvt_label="sortie"}}
{{/if}} {{/if}}
{{:admin_header title="Modifier une %s"|args:$mvt_label custom_css="./../style.css" current="module_equipment"}}
{{:admin_header title="Modifier une %s"|args:$mvt_label custom_css="./../style.css" current="module_equipment"}}
{{:form_errors}} {{:form_errors}}
{{* {{*
-------------------- Préparer la saisie -------------------- -------------------- Préparer la saisie --------------------
*}} *}}
@ -315,30 +320,26 @@
max=1 max=1
}} }}
{{/if}} {{/if}}
{{if $mvt_new.direction == "input"}} {{if $mvt_new.direction == "input" && $storage != null}}
{{if $storage != null}} {{:input type="select" name="storage" label="Lieu de stockage" default=$mvt_new.storage default_empty="— Aucun —" options=$storage required=false}}
{{:input type="select" name="storage" label="Lieu de stockage" default=$mvt_new.storage default_empty="— Aucun —" options=$storage required=false}}
{{/if}}
{{/if}} {{/if}}
{{if $type_mvt != "retour"}} {{if $type_mvt != "retour"}}
{{:input type="list" name="transactions" default=$mvt_new.transactions label="Écritures liées" target="!acc/transactions/selector.php" multiple=true help="par exemple écriture avec facture"}} {{:input type="list" name="transactions" label="Écritures liées" default=$mvt_new.transactions target="!acc/transactions/selector.php" multiple=true help="par exemple écriture avec facture"}}
{{/if}} {{/if}}
{{:input type="textarea" name="comment" label="Remarques" cols="40", rows="3" required=false default=$mvt_new.comment}} {{:input type="textarea" name="comment" label="Remarques" cols="40", rows="3" required=false default=$mvt_new.comment}}
{{if $mvt_new.direction == "output" && $type_mvt == "temporaire"}} {{if $mvt_new.direction == "output"}}
{{if $mvt_new.return_date != null}} {{if $mvt_new.return_date != null}}
{{:assign checked="checked"}}
{{:assign visibility="visible"}}
{{:assign return_date=$mvt_new.return_date}} {{:assign return_date=$mvt_new.return_date}}
{{else}} {{else}}
{{:assign visibility="hidden"}} {{if $module.config.loan_duration != null && $module.config.loan_duration > 0}}
{{:assign ts_sortie=$mvt_new.date|strtotime}} {{:assign ts_sortie=$mvt_new.date|strtotime}}
{{:assign ts_retour="%d+%d*(60*60*24)"|math:$ts_sortie:$loan_duration}} {{:assign ts_retour="%d+%d*(60*60*24)"|math:$ts_sortie:$module.config.loan_duration}}
{{:assign return_date=$ts_retour|date_short}} {{:assign return_date=$ts_retour|date_short}}
{{/if}}
{{/if}} {{/if}}
{{: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" checked="%s"|args:$checked}} <div id="div_return_date">
<div id="div_return_date" style="visibility:{{$visibility}}">
{{:input type="date" name="return_date" label="Date de retour" default=$return_date}} {{:input type="date" name="return_date" label="Date de retour" default=$return_date}}
<input type="hidden" id="loan_duration" name="loan_duration" value="{{$loan_duration}}"> <input type="hidden" id="loan_duration" name="loan_duration" value="{{$module.config.loan_duration}}">
</div> </div>
{{/if}} {{/if}}
</dl> </dl>
@ -353,9 +354,17 @@
{{:admin_footer}} {{:admin_footer}}
<script type="text/javascript" src="../scripts.js"></script> <script type="text/javascript" src="../scripts.js"></script>
<script type="text/javascript"> <script type="text/javascript">
function changeVisibility(evt, idcheck = 'f_set_return_date_1', fields = ['div_return_date']) { let output_nature = {{$config.output_nature|json_encode|raw}};
toggleVisibility(idcheck, fields);
function changeVisibility(evt,
id_date = 'f_date',
id_type = 'f_operation',
div = 'div_return_date',
id_return_date = 'f_return_date')
{
toggleVisibility(id_date, id_type, div, id_return_date);
} }
function changeReturnDate(evt, id_date = 'f_date', id_return_date = 'f_return_date', id_loan_duration='loan_duration') function changeReturnDate(evt, id_date = 'f_date', id_return_date = 'f_return_date', id_loan_duration='loan_duration')
@ -364,7 +373,8 @@ function changeReturnDate(evt, id_date = 'f_date', id_return_date = 'f_return_da
} }
(function () { (function () {
document.getElementById('f_set_return_date_1').onclick = changeVisibility; document.getElementById('f_operation').onchange = changeVisibility;
document.getElementById('f_date').onchange = changeReturnDate; document.getElementById('f_date').onchange = changeReturnDate;
document.getElementById('f_operation').onchange();
})(); })();
</script> </script>

View file

@ -9,7 +9,7 @@
*}} *}}
{{* récupérer la config des entrées/sorties *}} {{* récupérer la config des entrées/sorties *}}
{{:include file="../_get_config.html" keep="config, loan_duration"}} {{:include file="../_get_config.html" keep="config"}}
{{* types de sorties *}} {{* types de sorties *}}
{{#foreach from=$config.output_nature key=key}} {{#foreach from=$config.output_nature key=key}}
@ -33,22 +33,27 @@
{{* Traiter l'envoi du formulaire *}} {{* Traiter l'envoi du formulaire *}}
{{#form on="save"}} {{#form on="save"}}
{{* vérifier la validité de la saisie *}}
{{* interdire date dans le futur *}} {{* interdire date dans le futur *}}
{{if $_POST.date|parse_date|strtotime > $now}} {{if $_POST.date|parse_date|strtotime > $now}}
{{:error message="Impossible de saisir une date dans le futur (%s)"|args:$_POST.date}} {{:error message="Impossible de saisir une date dans le futur (%s)"|args:$_POST.date}}
{{/if}} {{/if}}
{{* vérifier les infos saisies *}}
{{if $_POST.operation == ""}} {{if $_POST.operation == ""}}
{{:error message="Vous devez choisir un type de sortie"}} {{:error message="Vous devez choisir un type de sortie"}}
{{/if}} {{/if}}
{{:assign var="type_mvt" from="config.output_nature.%s.type"|args:$_POST.operation}} {{:assign var="type_mvt" from="config.output_nature.%s.type"|args:$_POST.operation}}
{{if $type_mvt != "temporaire" && $_POST.set_return_date != null}} {{if $type_mvt != "temporaire" && $_POST.return_date != null}}
{{:error message="On ne peut associer une date de retour qu'à une sortie temporaire"}} {{:error message="On ne peut associer une date de retour qu'à une sortie temporaire"}}
{{/if}} {{/if}}
{{if $_POST.set_return_date != null}}
{{:assign return_date=$_POST.return_date}} {{if $_POST.return_date != null}}
{{:assign return_date=$_POST.return_date|parse_date}}
{{if $return_date < $_POST.date|parse_date}}
{{:error message="La date de retour doit être postérieure à la date de sortie !"}}
{{/if}}
{{else}} {{else}}
{{:assign return_date=null}} {{:assign return_date=null}}
{{/if}} {{/if}}
@ -169,7 +174,7 @@
date=$_POST.date|parse_date date=$_POST.date|parse_date
comment=$_POST.remarques|trim comment=$_POST.remarques|trim
user=$user.id user=$user.id
return_date=$return_date|parse_date return_date=$return_date
transactions=$transactions transactions=$transactions
}} }}
{{:redirect force="../equipment_history.html?ok=1&key=%s&prop=1&msg=sortie"|args:$_GET.key}} {{:redirect force="../equipment_history.html?ok=1&key=%s&prop=1&msg=sortie"|args:$_GET.key}}
@ -180,13 +185,16 @@
{{* barre de navigation *}} {{* barre de navigation *}}
{{:include file="../_nav.html" current="sorties"}} {{:include file="../_nav.html" current="sorties"}}
{{/if}} {{/if}}
{{:form_errors}}
{{#load key=$equipment.category assign="category"}}{{/load}} {{#load key=$equipment.category assign="category"}}{{/load}}
{{:assign dispo="%d-%d"|math:$equipment.stock:$equipment.out}} {{:assign dispo="%d-%d"|math:$equipment.stock:$equipment.out}}
{{if $dispo > 0}} {{if $dispo > 0}}
{{:assign ts_retour="%d+%d*(60*60*24)"|math:$now:$loan_duration}} {{if $module.config.loan_duration != null && $module.config.loan_duration > 0}}
{{:assign date_retour=$ts_retour|date_short}} {{:assign ts_retour="%d+%d*(60*60*24)"|math:$now:$module.config.loan_duration}}
{{:assign date_retour=$ts_retour|date_short}}
{{/if}}
{{* formulaire de sortie de matériel *}} {{* formulaire de sortie de matériel *}}
<form method="post" action=""> <form method="post" action="">
@ -226,10 +234,9 @@
}} }}
{{:input type="list" name="transactions" label="Écritures liées" target="!acc/transactions/selector.php" multiple=true help="par exemple écriture avec facture"}} {{: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 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">
<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="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}}"> <input type="hidden" id="loan_duration" name="loan_duration" value="{{$module.config.loan_duration}}">
</div> </div>
</dl> </dl>
</fieldset> </fieldset>
@ -241,16 +248,20 @@
<p class="block error">Il n'y a aucune unité de ce matériel disponible à la date du {{$now|date_short}}</p> <p class="block error">Il n'y a aucune unité de ce matériel disponible à la date du {{$now|date_short}}</p>
{{/if}} {{/if}}
{{:form_errors}}
{{:admin_footer}} {{:admin_footer}}
<script type="text/javascript" src="../scripts.js"></script> <script type="text/javascript" src="../scripts.js"></script>
<script type="text/javascript"> <script type="text/javascript">
var paid_keys = {{$paid_keys|json_encode|raw}}; let output_nature = {{$config.output_nature|json_encode|raw}};
function changeVisibility(evt, idcheck = 'f_set_return_date_1', fields = ['div_return_date']) { function changeVisibility(evt,
toggleVisibility(idcheck, fields); id_date = 'f_date',
id_type = 'f_operation',
div = 'div_return_date',
id_return_date = 'f_return_date')
{
toggleVisibility(id_date, id_type, div, id_return_date);
} }
function changeReturnDate(evt, id_date = 'f_date', id_return_date = 'f_return_date', id_loan_duration='loan_duration') function changeReturnDate(evt, id_date = 'f_date', id_return_date = 'f_return_date', id_loan_duration='loan_duration')
@ -259,8 +270,8 @@ function changeReturnDate(evt, id_date = 'f_date', id_return_date = 'f_return_da
} }
(function () { (function () {
document.getElementById('f_set_return_date_1').checked = false; document.getElementById('f_operation').onchange = changeVisibility;
document.getElementById('f_set_return_date_1').onclick = changeVisibility;
document.getElementById('f_date').onchange = changeReturnDate; document.getElementById('f_date').onchange = changeReturnDate;
document.getElementById('f_operation').onchange();
})(); })();
</script> </script>

View file

@ -26,18 +26,6 @@ function disableColumSort(liste) {
} }
} }
function toggleVisibility(idcheck, fields) {
const elem = document.getElementById(idcheck);
for (let id of fields) {
const field = document.getElementById(id);
if (elem.checked) {
field.style.visibility = "visible";
} else {
field.style.visibility = "hidden";
}
}
}
/** /**
* renvoyer la valeur en secondes d'une date au format j/m/a * renvoyer la valeur en secondes d'une date au format j/m/a
* @param {string} date * @param {string} date
@ -59,7 +47,29 @@ function getDate(idelem) {
function setReturnDate(id_date, id_return_date, id_loan_duration) function setReturnDate(id_date, id_return_date, id_loan_duration)
{ {
const loan_duration = document.getElementById(id_loan_duration).value; const loan_duration = document.getElementById(id_loan_duration).value;
let nbsec = getDate(id_date) + loan_duration*24*60*60; if (loan_duration !== undefined && loan_duration > 0) {
const date_retour = new Date(nbsec * 1000); let nbsec = getDate(id_date) + loan_duration*24*60*60;
document.getElementById(id_return_date).value = date_retour.toLocaleDateString(); const date_retour = new Date(nbsec * 1000);
document.getElementById(id_return_date).value = date_retour.toLocaleDateString();
}
}
/**
* changer la visibilité de la date de retour
*/
function toggleVisibility(id_date, id_type, div, id_return_date)
{
const key = document.getElementById(id_type).value;
let type_sortie;
if (key !== undefined && key != '') {
type_sortie = output_nature[key].type;
}
const div_date = document.getElementById(div);
if (type_sortie == 'temporaire') {
div_date.style.visibility = "visible";
document.getElementById(id_date).onchange();
} else {
div_date.style.visibility = "hidden";
document.getElementById(id_return_date).value = null;
}
} }