Compare commits
No commits in common. "main" and "return_date" have entirely different histories.
main
...
return_dat
33 changed files with 76 additions and 385 deletions
|
|
@ -1,7 +1,5 @@
|
|||
{{* -*- brindille -*- *}}
|
||||
|
||||
{{#restrict block=true section="accounting" level="write"}}{{/restrict}}
|
||||
|
||||
{{:admin_header title="Matériels archivés" current="module_equipment"}}
|
||||
{{:include file="_nav.html" current="archives"}}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{{* -*- brindille -*- *}}
|
||||
|
||||
{{#restrict block=true section="accounting" level="write"}}{{/restrict}}
|
||||
{{* barre de navigation *}}
|
||||
{{if ! $dialog}}
|
||||
{{:include file="../_nav.html" current="config" subcurrent="categories"}}
|
||||
{{/if}}
|
||||
|
||||
{{* Traiter l'envoi du formulaire *}}
|
||||
{{#form on="save"}}
|
||||
|
|
@ -22,11 +25,6 @@
|
|||
{{/form}}
|
||||
|
||||
{{:admin_header title="Gestion des matériels" current="module_equipment"}}
|
||||
{{* barre de navigation *}}
|
||||
{{if ! $dialog}}
|
||||
{{:include file="../_nav.html" current="config" subcurrent="categories"}}
|
||||
{{/if}}
|
||||
|
||||
{{:form_errors}}
|
||||
|
||||
{{* formulaire d'ajout de catégorie *}}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
{{* -*- brindille -*- *}}
|
||||
|
||||
{{#restrict block=true section="accounting" level="write"}}{{/restrict}}
|
||||
|
||||
{{#load key=$_GET.key assign="category"}}
|
||||
{{else}}
|
||||
{{:error message="Catégorie introuvable"}}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
{{* -*- brindille -*- *}}
|
||||
|
||||
{{#restrict block=true section="accounting" level="write"}}{{/restrict}}
|
||||
|
||||
{{:admin_header title="Configuration" current="module_equipment"}}
|
||||
|
||||
{{* barre de navigation *}}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
{{* -*- brindille -*- *}}
|
||||
|
||||
{{#restrict block=true section="accounting" level="write"}}{{/restrict}}
|
||||
|
||||
{{#load key=$_GET.key assign="category"}}
|
||||
{{else}}
|
||||
{{:error message="Catégorie introuvable"}}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
{{* -*- brindille -*- *}}
|
||||
|
||||
{{#restrict block=true section="accounting" level="write"}}{{/restrict}}
|
||||
|
||||
{{:admin_header title="Configuration" current="module_equipment"}}
|
||||
|
||||
{{* barre de navigation *}}
|
||||
|
|
|
|||
|
|
@ -1,12 +1,15 @@
|
|||
{{* -*- brindille -*- *}}
|
||||
|
||||
{{#restrict block=true section="accounting" level="write"}}{{/restrict}}
|
||||
|
||||
{{*
|
||||
paramètres :
|
||||
- dir : input ou output
|
||||
*}}
|
||||
|
||||
{{* barre de navigation *}}
|
||||
{{if ! $dialog}}
|
||||
{{:include file="../_nav.html" current="config" subcurrent="typesES"}}
|
||||
{{/if}}
|
||||
|
||||
{{* Traiter l'envoi du formulaire *}}
|
||||
|
||||
{{* lecture config *}}
|
||||
|
|
@ -48,11 +51,6 @@
|
|||
{{/form}}
|
||||
|
||||
{{:admin_header title="Gestion des matériels" current="module_equipment"}}
|
||||
{{* barre de navigation *}}
|
||||
{{if ! $dialog}}
|
||||
{{:include file="../_nav.html" current="config" subcurrent="typesES"}}
|
||||
{{/if}}
|
||||
|
||||
{{:form_errors}}
|
||||
|
||||
{{if $_GET.dir == 'input'}}
|
||||
|
|
|
|||
|
|
@ -1,13 +1,15 @@
|
|||
{{* -*- brindille -*- *}}
|
||||
|
||||
{{#restrict block=true section="accounting" level="write"}}{{/restrict}}
|
||||
|
||||
{{*
|
||||
paramètres :
|
||||
- dir : input ou output
|
||||
- op_key : clé du type de mouvement à supprimer
|
||||
*}}
|
||||
|
||||
{{* barre de navigation *}}
|
||||
{{if ! $dialog}}
|
||||
{{:include file="../_nav.html" current="config" subcurrent="typesES"}}
|
||||
{{/if}}
|
||||
|
||||
{{* lecture config (défaut ou enregistrée) *}}
|
||||
{{:include file="../_get_config.html" keep="config, directions"}}
|
||||
|
|
@ -35,10 +37,6 @@
|
|||
{{/form}}
|
||||
|
||||
{{:admin_header title="Gestion des matériels" current="module_equipment"}}
|
||||
{{* barre de navigation *}}
|
||||
{{if ! $dialog}}
|
||||
{{:include file="../_nav.html" current="config" subcurrent="typesES"}}
|
||||
{{/if}}
|
||||
{{:form_errors}}
|
||||
|
||||
{{:assign var="mvt_label" from="config.%s_nature.%s.label"|args:$_GET.dir:$_GET.op_key}}
|
||||
|
|
|
|||
|
|
@ -1,36 +0,0 @@
|
|||
{{* -*- brindille -*- *}}
|
||||
|
||||
{{#restrict block=true section="accounting" level="write"}}{{/restrict}}
|
||||
|
||||
{{:admin_header title="Configuration" current="module_equipment"}}
|
||||
|
||||
{{#form on="save"}}
|
||||
{{:save
|
||||
key="config"
|
||||
loan_duration=$_POST.loan_duration
|
||||
}}
|
||||
{{/form}}
|
||||
|
||||
{{* barre de navigation *}}
|
||||
{{:include file="../_nav.html" current="config" subcurrent="divers"}}
|
||||
|
||||
{{if $_GET.ok}}
|
||||
<p class="block confirm">Configuration enregistrée.</p>
|
||||
{{/if}}
|
||||
|
||||
{{* lecture config (défaut ou enregistrée) *}}
|
||||
{{:include file="../_get_config.html" keep="loan_duration"}}
|
||||
|
||||
<form method="post" action="" data-focus="1">
|
||||
<fieldset class="storage">
|
||||
<legend>Autres paramètres</legend>
|
||||
<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"}}
|
||||
|
||||
</dl>
|
||||
</fieldset>
|
||||
<p class="submit">
|
||||
{{:button type="submit" name="save" label="Enregistrer" shape="right" class="main"}}
|
||||
</p>
|
||||
</form>
|
||||
{{:admin_footer}}
|
||||
|
|
@ -1,13 +1,16 @@
|
|||
{{* -*- brindille -*- *}}
|
||||
|
||||
{{#restrict block=true section="accounting" level="write"}}{{/restrict}}
|
||||
|
||||
{{*
|
||||
paramètres :
|
||||
- dir : input ou output
|
||||
- op_key : clé du type de mouvement dont on veut modifier le libellé
|
||||
*}}
|
||||
|
||||
{{* barre de navigation *}}
|
||||
{{if ! $dialog}}
|
||||
{{:include file="../_nav.html" current="config" subcurrent="typesES"}}
|
||||
{{/if}}
|
||||
|
||||
{{* lecture config (défaut ou enregistrée) *}}
|
||||
{{:include file="../_get_config.html" keep="config, directions"}}
|
||||
|
||||
|
|
@ -40,12 +43,7 @@
|
|||
{{/form}}
|
||||
|
||||
{{:admin_header title="Gestion des matériels" current="module_equipment"}}
|
||||
{{* barre de navigation *}}
|
||||
{{if ! $dialog}}
|
||||
{{:include file="../_nav.html" current="config" subcurrent="typesES"}}
|
||||
{{/if}}
|
||||
{{:form_errors}}
|
||||
|
||||
{{:assign var="default_label" from="config.%s_nature.%s.label"|args:$_GET.dir:$_GET.op_key}}
|
||||
<form method="post" action="" data-focus="1">
|
||||
<fieldset>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
{{* -*- brindille -*- *}}
|
||||
|
||||
{{#restrict block=true section="accounting" level="write"}}{{/restrict}}
|
||||
|
||||
{{*
|
||||
Afficher l'historique des mouvements d'un matériel
|
||||
paramètres
|
||||
|
|
@ -226,7 +224,7 @@
|
|||
{{/if}}
|
||||
{{:linkbutton
|
||||
label="Détails"
|
||||
href="movements/movement_details.html?key=%s&prop=%s&from=eh"|args:$key:$_GET.prop
|
||||
href="movements/movement_details.html?key=%s&prop=%s"|args:$key:$_GET.prop
|
||||
shape="eye"
|
||||
}}
|
||||
{{/if}}
|
||||
|
|
@ -316,7 +314,7 @@
|
|||
{{/if}}
|
||||
{{:linkbutton
|
||||
label="Détails"
|
||||
href="movements/movement_details.html?key=%s&prop=%s&from=eh"|args:$key:$_GET.prop
|
||||
href="movements/movement_details.html?key=%s&prop=%s"|args:$key:$_GET.prop
|
||||
shape="eye"
|
||||
}}
|
||||
</td>
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
{{* -*- brindille -*- *}}
|
||||
|
||||
{{#restrict block=true section="accounting" level="write"}}{{/restrict}}
|
||||
|
||||
{{*
|
||||
Afficher l'historique de tous les mouvements
|
||||
*}}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
{{* -*- brindille -*- *}}
|
||||
|
||||
{{#restrict block=true section="accounting" level="write"}}{{/restrict}}
|
||||
|
||||
{{:admin_header title="Gestion des matériels" custom_css="./style.css" current="module_equipment"}}
|
||||
|
||||
{{* barre de navigation *}}
|
||||
|
|
|
|||
|
|
@ -1,37 +1,8 @@
|
|||
{{* -*- brindille -*- *}}
|
||||
|
||||
{{#restrict block=true section="accounting" level="write"}}{{/restrict}}
|
||||
|
||||
{{:admin_header title="Matériels hors de l'asso" custom_css="../style.css" current="module_equipment"}}
|
||||
{{:include file="./_nav.html" current="historique" subcurrent="prêts"}}
|
||||
|
||||
{{*
|
||||
vérifier l'existence de la table du module
|
||||
eh oui, il se peut qu'elle ne soit pas encore créée si aucune donnée n'a été ajoutée dedans
|
||||
*}}
|
||||
|
||||
{{#load limit="1"}}
|
||||
{{:assign table_presente=true}}
|
||||
{{else}}
|
||||
{{:assign table_presente=false}}
|
||||
{{/load}}
|
||||
|
||||
{{if $table_presente}}
|
||||
{{if $_GET.ok}}
|
||||
{{if $_GET.msg == "modification"}}
|
||||
<p class="block confirm">Modification enregistrée</p>
|
||||
{{elseif $_GET.msg == "copie"}}
|
||||
<p class="block confirm">Mouvement copié</p>
|
||||
{{elseif $_GET.msg == "suppression"}}
|
||||
<p class="block confirm">Mouvement supprimé</p>
|
||||
{{/if}}
|
||||
{{elseif $_GET.err}}
|
||||
{{if $_GET.msg == "suppression"}}
|
||||
<p class="block error">Ce mouvement ne peut être supprimé</p>
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
|
||||
|
||||
{{* lecture config (défaut ou enregistrée) *}}
|
||||
{{:include file="./_get_config.html" keep="config"}}
|
||||
|
||||
|
|
@ -53,11 +24,11 @@
|
|||
json_extract(mvt.document, '$.amount') AS out_amount,
|
||||
json_extract(mvt.document, '$.return_date') AS return_date,
|
||||
json_extract(mvt.document, '$.amount') - IFNULL(SUM(json_extract(retour.document, '$.amount')), 0) AS remain
|
||||
FROM {!$module.table} AS mvt
|
||||
LEFT JOIN users ON json_extract(mvt.document, '$.user') = users.id
|
||||
LEFT JOIN {!$module.table} AS links ON mvt.key = json_extract(links.document, '$.temp_key')
|
||||
LEFT JOIN {!$module.table} AS retour ON retour.key = json_extract(links.document, '$.return')
|
||||
INNER JOIN {!$module.table} AS mat ON mat.key = json_extract(mvt.document, '$.equipment')
|
||||
FROM module_data_equipment AS mvt
|
||||
INNER JOIN users ON json_extract(mvt.document, '$.user') = users.id
|
||||
LEFT JOIN module_data_equipment AS links ON mvt.key = json_extract(links.document, '$.temp_key')
|
||||
LEFT JOIN module_data_equipment AS retour ON retour.key = json_extract(links.document, '$.return')
|
||||
INNER JOIN module_data_equipment AS mat ON mat.key = json_extract(mvt.document, '$.equipment')
|
||||
WHERE
|
||||
json_extract(mvt.document, '$.type') = 'movement'
|
||||
AND
|
||||
|
|
@ -99,30 +70,22 @@
|
|||
<td>{{$remain}}</td>
|
||||
<td>
|
||||
{{if $return_date != null}}
|
||||
{{:assign jour="jour}}
|
||||
{{if $nb_jours > 0}}
|
||||
{{if $nb_jours > 1}}{{:assign jour="jours"}}{{/if}}
|
||||
{{:tag color="darkred" label="Retard %s %s"|args:$nb_jours:$jour}}
|
||||
{{elseif $nb_jours < 0}}
|
||||
{{:assign delai="abs(%d)"|math:$nb_jours}}
|
||||
{{if $nb_jours < -1}}{{:assign jour="jours"}}{{/if}}
|
||||
{{"Reste %s %s"|args:$delai:$jour}}
|
||||
{{else}}
|
||||
{{:tag color="darkgreen" label="À rendre aujourd'hui"}}
|
||||
{{/if}}
|
||||
{{if $nb_jours > 0}}
|
||||
{{:tag color="darkred" label="Retard %s jours"|args:$nb_jours}}
|
||||
{{elseif $nb_jours < 0}}
|
||||
{{:assign delai="abs(%d)"|math:$nb_jours}}
|
||||
{{"Reste %s jours"|args:$delai}}
|
||||
{{else}}
|
||||
{{:tag color="darkgreen" label="À rendre aujourdh'ui"}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
</td>
|
||||
<td class="actions">
|
||||
<td>
|
||||
{{:linkbutton
|
||||
label="Retour"
|
||||
href="movements/output_return.html?key=%s&prop=1"|args:$mvt_key
|
||||
shape="reset"
|
||||
target="_dialog"}}
|
||||
{{:linkbutton
|
||||
label="Détails"
|
||||
href="movements/movement_details.html?key=%s&prop=1&from=lh"|args:$mvt_key
|
||||
shape="eye"
|
||||
}}
|
||||
</td>
|
||||
</tr>
|
||||
{{else}}
|
||||
|
|
@ -130,8 +93,5 @@
|
|||
{{/select}}
|
||||
</tbody>
|
||||
</table>
|
||||
{{else}}
|
||||
<p class="block alert">Aucun mouvement.</p>
|
||||
{{/if}}
|
||||
|
||||
{{:admin_footer}}
|
||||
|
|
|
|||
|
|
@ -1,126 +0,0 @@
|
|||
{{* -*- brindille -*- *}}
|
||||
|
||||
{{*
|
||||
Afficher l'historique des mouvements d'un matériel pour un membre
|
||||
paramètres
|
||||
- key : clé du matériel
|
||||
- id : id du membre
|
||||
*}}
|
||||
|
||||
{{#restrict block=true section="users" level="read"}}{{/restrict}}
|
||||
|
||||
{{:admin_header title="Historique membre" custom_css="./style.css" current="module_equipment"}}
|
||||
|
||||
{{* lecture config (défaut ou enregistrée) *}}
|
||||
{{:include file="./_get_config.html" keep="config, directions"}}
|
||||
|
||||
{{#foreach from=$directions key="direction"}}
|
||||
{{:assign var="nature" from="config.%s_nature"|args:$direction}}
|
||||
{{#foreach from=$nature key=key}}
|
||||
{{:assign var="types.%s.%s."|args:$direction:$type value=$key|quote_sql}}
|
||||
{{/foreach}}
|
||||
{{:assign var="io_types" from="types.%s"|args:$direction}}
|
||||
{{#foreach from=$io_types key=key}}
|
||||
{{:assign var=elem from="io_types.%s"|args:$key}}
|
||||
{{:assign elem=$elem|implode:","}}
|
||||
{{:assign elem="("|cat:$elem|cat:")"}}
|
||||
{{:assign var="%s_types.%s"|args:$direction:$key value=$elem}}
|
||||
{{/foreach}}
|
||||
{{/foreach}}
|
||||
|
||||
{{#users id=$_GET.id}}
|
||||
{{:assign user_name=$nom}}
|
||||
{{else}}
|
||||
{{:error message="Il n'existe aucun membre avec l'identifiant %s !"|args:$_GET.id}}
|
||||
{{/users}}
|
||||
|
||||
{{#load key=$_GET.key|trim}}
|
||||
{{:assign eqpmt_name=$name}}
|
||||
{{else}}
|
||||
{{:error message="Il n'existe aucun matériel avec la clé %s !"|args:$_GET.key|trim}}
|
||||
{{/load}}
|
||||
|
||||
<h3>Historique des mouvements de « {{$eqpmt_name}} » du membre « {{$user_name}} »</h3>
|
||||
|
||||
{{:assign otk=null}}
|
||||
{{#select
|
||||
mvt.key AS mvt_key,
|
||||
json_extract(mvt.document, '$.direction') as direction,
|
||||
json_extract(mvt.document, '$.operation') as operation,
|
||||
json_extract(mvt.document, '$.date') as date,
|
||||
json_extract(mvt.document, '$.amount') as amount,
|
||||
COALESCE((SELECT
|
||||
json_extract(links.document, '$.temp_key')
|
||||
FROM {!$module.table} AS links
|
||||
WHERE json_extract(links.document, '$.temp_key') = mvt.key
|
||||
OR json_extract(links.document, '$.return') = mvt.key), mvt.key)
|
||||
AS out_temp_key
|
||||
FROM {!$module.table} AS mvt
|
||||
INNER JOIN users ON json_extract(mvt.document, '$.user') = users.id
|
||||
INNER JOIN {!$module.table} AS eqpmt
|
||||
ON json_extract(mvt.document, '$.equipment') = eqpmt.key
|
||||
WHERE users.id = :user
|
||||
AND eqpmt.key = :eqpmt_key
|
||||
AND (json_extract(mvt.document, '$.operation') IN !output_types
|
||||
OR json_extract(mvt.document, '$.operation') IN !input_types)
|
||||
ORDER BY out_temp_key, date
|
||||
;
|
||||
:user = $_GET.id
|
||||
:eqpmt_key = $_GET.key|trim
|
||||
!output_types=$output_types.temporaire
|
||||
!input_types=$input_types.retour
|
||||
}}
|
||||
|
||||
{{:assign var="type_mvt" from="config.%s_nature.%s.type"|args:$direction:$operation}}
|
||||
{{:assign var="op_label" from="config.%s_nature.%s.label"|args:$direction:$operation}}
|
||||
{{:assign var="total" from="reste.%s"|args:$out_temp_key}}
|
||||
{{if $total == null}}
|
||||
{{:assign total=0}}
|
||||
{{/if}}
|
||||
|
||||
{{if $otk != null && $otk != $out_temp_key}}
|
||||
</tbody>
|
||||
</table>
|
||||
{{/if}}
|
||||
{{if $otk == null || $otk != $out_temp_key}}
|
||||
<table class="list">
|
||||
<thead>
|
||||
<tr>
|
||||
<td>Date</td>
|
||||
<td>Opération</td>
|
||||
<td>Quantité</td>
|
||||
<td>Total</td>
|
||||
<td class="actions"></td>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
{{:assign otk=$out_temp_key}}
|
||||
{{/if}}
|
||||
|
||||
{{if $direction == 'input' && $type_mvt == 'retour'}}
|
||||
{{:assign var="reste.%s"|args:$out_temp_key value="%d-%d"|math:$total:$amount}}
|
||||
{{elseif $direction == 'output' && $type_mvt == 'temporaire'}}
|
||||
{{:assign var="reste.%s"|args:$out_temp_key value="%d+%d"|math:$total:$amount}}
|
||||
{{/if}}
|
||||
{{:assign var="total" from="reste.%s"|args:$out_temp_key}}
|
||||
|
||||
<tr>
|
||||
<td>{{$date|date_short}}</td>
|
||||
<td>{{$op_label}}</td>
|
||||
<td>{{$amount}}</td>
|
||||
<td>{{$total}}</td>
|
||||
<td class="actions">
|
||||
{{#restrict section="accounting" level="write"}}
|
||||
{{if $direction == "output" && $type_mvt == "temporaire"}}
|
||||
{{:linkbutton
|
||||
label="Retour"
|
||||
href="%smovements/output_return.html?key=%s&prop=0&user=%s"|args:$module.url:$mvt_key:$_GET.id
|
||||
shape="history"
|
||||
target="_dialog"}}
|
||||
{{/if}}
|
||||
{{/restrict}}
|
||||
</td>
|
||||
</tr>
|
||||
{{/select}}
|
||||
</tbody>
|
||||
</table>
|
||||
|
|
@ -1,7 +1,5 @@
|
|||
{{* -*- brindille -*- *}}
|
||||
|
||||
{{#restrict block=true section="accounting" level="write"}}{{/restrict}}
|
||||
|
||||
{{*
|
||||
Paramètres :
|
||||
- key : clé du matériel à modifier
|
||||
|
|
|
|||
|
|
@ -4,7 +4,5 @@ author="Jean-Christophe Engel"
|
|||
author_url="https://gitea.zaclys.com/lesanges"
|
||||
home_button=true
|
||||
menu=true
|
||||
restrict_section="users"
|
||||
restrict_level="read"
|
||||
restrict_details="... mais uniquement pour consulter l'historique des prêts des membres ; seuls les membres ayant accès en écriture à la comptabilité pourront utiliser l'ensemble des fonctionalités du module."
|
||||
allow_user_restrict=false
|
||||
restrict_section="accounting"
|
||||
restrict_level="write"
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
{{* -*- brindille -*- *}}
|
||||
|
||||
{{#restrict block=true section="accounting" level="write"}}{{/restrict}}
|
||||
{{* barre de navigation *}}
|
||||
{{if ! $dialog}}
|
||||
{{:include file="../_nav.html" current="entrees"}}
|
||||
{{/if}}
|
||||
|
||||
{{* récupérer la config des entrées/sorties *}}
|
||||
{{:include file="../_get_config.html" keep="config"}}
|
||||
|
|
@ -117,10 +120,6 @@
|
|||
{{/form}}
|
||||
|
||||
{{:admin_header title="Entrée de matériel" current="module_equipment"}}
|
||||
{{* barre de navigation *}}
|
||||
{{if ! $dialog}}
|
||||
{{:include file="../_nav.html" current="entrees"}}
|
||||
{{/if}}
|
||||
{{:form_errors}}
|
||||
|
||||
{{if $categories != null}}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
{{* -*- brindille -*- *}}
|
||||
|
||||
{{#restrict block=true section="accounting" level="write"}}{{/restrict}}
|
||||
|
||||
{{*
|
||||
Dupliquer un mouvement
|
||||
paramètres :
|
||||
|
|
@ -207,12 +205,7 @@
|
|||
transactions=$transactions
|
||||
return_date=$return_date|parse_date
|
||||
}}
|
||||
{{if $_GET.from == "lh"}}
|
||||
{{:assign from="../loan_history.html"}}
|
||||
{{else}}
|
||||
{{:assign from="../equipment_history.html"}}
|
||||
{{/if}}
|
||||
{{:redirect force="%s?ok=1&key=%s&prop=%s&msg=copie"|args:$from:$eqpmt_key:$prop}}
|
||||
{{:redirect force="../equipment_history.html?ok=1&key=%s&prop=%s&msg=copie"|args:$eqpmt_key:$prop}}
|
||||
{{/form}}
|
||||
|
||||
{{if $mvt_new.direction == "input"}}
|
||||
|
|
@ -280,9 +273,9 @@
|
|||
{{/if}}
|
||||
{{if $mvt_new.direction == "input"}}
|
||||
{{:input type="select" name="storage" default=$mvt_new.storage label="Lieu de stockage" default_empty="— Aucun —" options=$storage required=false}}
|
||||
{{/if}}
|
||||
{{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"}}
|
||||
{{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"}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{: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"}}
|
||||
|
|
@ -299,7 +292,6 @@
|
|||
{{: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" style="visibility:{{$visibility}}">
|
||||
{{: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}}">
|
||||
</div>
|
||||
{{/if}}
|
||||
</dl>
|
||||
|
|
@ -319,13 +311,7 @@ function changeVisibility(evt, idcheck = 'f_set_return_date_1', fields = ['div_r
|
|||
toggleVisibility(idcheck, fields);
|
||||
}
|
||||
|
||||
function changeReturnDate(evt, id_date = 'f_date', id_return_date = 'f_return_date', id_loan_duration='loan_duration')
|
||||
{
|
||||
setReturnDate(id_date, id_return_date, id_loan_duration);
|
||||
}
|
||||
|
||||
(function () {
|
||||
document.getElementById('f_set_return_date_1').onclick = changeVisibility;
|
||||
document.getElementById('f_date').onchange = changeReturnDate;
|
||||
})();
|
||||
</script>
|
||||
|
|
|
|||
|
|
@ -1,6 +1,4 @@
|
|||
{{* -*- brindille -*- *}}
|
||||
|
||||
{{#restrict block=true section="accounting" level="write"}}{{/restrict}}
|
||||
{{* -*- brindille -*-}}
|
||||
|
||||
{{*
|
||||
paramètres GET :
|
||||
|
|
@ -23,11 +21,6 @@
|
|||
{{:include file="../_get_config.html" keep="config"}}
|
||||
|
||||
{{#form on="delete"}}
|
||||
{{if $_GET.from == "lh"}}
|
||||
{{:assign from="../loan_history.html"}}
|
||||
{{else}}
|
||||
{{:assign from="../equipment_history.html"}}
|
||||
{{/if}}
|
||||
{{* vérifier s'il est possible de supprimer le mouvement *}}
|
||||
{{if $mvt_suppr.direction == 'input'}}
|
||||
{{:assign var="type_operation" from="config.input_nature.%s.type"|args:$mvt_suppr.operation}}
|
||||
|
|
@ -36,7 +29,7 @@
|
|||
{{:assign link_key=$key}}
|
||||
{{/load}}
|
||||
{{if $link_key != null}}
|
||||
{{:redirect force="%s?key=%s&prop=%s&err=1&msg=suppression"|args:$from:$mvt_suppr.equipment:$_GET.prop}}
|
||||
{{:redirect force="../equipment_history.html?key=%s&prop=%s&err=1&msg=suppression"|args:$mvt_suppr.equipment:$_GET.prop}}
|
||||
{{/if}}
|
||||
{{else}}
|
||||
{{:assign dispo=0}}
|
||||
|
|
@ -69,7 +62,7 @@
|
|||
|
||||
{{* problème ? *}}
|
||||
{{if $dispo < 0 || $nonprop < 0}}
|
||||
{{:redirect force="%s?key=%s&prop=%s&err=1&msg=suppression"|args:$from:$mvt_suppr.equipment:$_GET.prop}}
|
||||
{{:redirect force="../equipment_history.html?key=%s&prop=%s&err=1&msg=suppression"|args:$mvt_suppr.equipment:$_GET.prop}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{/load}}
|
||||
|
|
@ -90,7 +83,7 @@
|
|||
{{:assign link_key=$key}}
|
||||
{{/load}}
|
||||
{{if $link_key != null}}
|
||||
{{:redirect force="%s?key=%s&prop=%s&err=1&msg=suppression"|args:$from:$mvt_suppr.equipment:$_GET.prop}}
|
||||
{{:redirect force="../equipment_history.html?key=%s&prop=%s&err=1&msg=suppression"|args:$mvt_suppr.equipment:$_GET.prop}}
|
||||
{{/if}}
|
||||
{{elseif $type_operation == 'retour'}}
|
||||
{{#load type="link" where="$$.return = :key" :key=$_GET.key}}
|
||||
|
|
@ -155,7 +148,7 @@
|
|||
out=$curr_eqpmt.out
|
||||
notowned=$curr_eqpmt.notowned
|
||||
}}
|
||||
{{:redirect force="%s?ok=1&key=%s&prop=%s&msg=suppression"|args:$from:$mvt_suppr.equipment:$_GET.prop}}
|
||||
{{:redirect force="../equipment_history.html?ok=1&key=%s&prop=%s&msg=suppression"|args:$mvt_suppr.equipment:$_GET.prop}}
|
||||
{{else}}
|
||||
{{* supprimer le matériel *}}
|
||||
{{:delete key=$curr_eqpmt.key}}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
{{* -*- brindille -*- *}}
|
||||
|
||||
{{#restrict block=true section="accounting" level="write"}}{{/restrict}}
|
||||
|
||||
{{*
|
||||
Enregistrer une entrée de matériel
|
||||
paramètres :
|
||||
|
|
@ -44,7 +42,7 @@
|
|||
{{:assign var="equipment.notowned" value="%d+%d"|math:$equipment.notowned:$_POST.amount|intval}}
|
||||
{{/if}}
|
||||
|
||||
{{* écritures liées *}}
|
||||
{{* documents liés *}}
|
||||
{{#foreach from=$_POST.transactions item="value"}}
|
||||
{{:assign var="transactions." value=$value|intval}}
|
||||
{{/foreach}}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
{{* -*- brindille -*- *}}
|
||||
|
||||
{{#restrict block=true section="accounting" level="write"}}{{/restrict}}
|
||||
|
||||
{{*
|
||||
Enregistrer un retour d'entrée temporaire
|
||||
paramètres :
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
{{* -*- brindille -*- *}}
|
||||
|
||||
{{#restrict block=true section="accounting" level="write"}}{{/restrict}}
|
||||
|
||||
{{*
|
||||
Modifier un mouvement
|
||||
paramètres :
|
||||
|
|
@ -204,7 +202,7 @@
|
|||
|
||||
{{* enregistrer le mouvement modifié *}}
|
||||
{{if $user == null}}
|
||||
{{:assign user_id=null}}
|
||||
{{:assign user_id=$mvt_new.user}}
|
||||
{{else}}
|
||||
{{:assign user_id=$user.id}}
|
||||
{{/if}}
|
||||
|
|
@ -224,12 +222,7 @@
|
|||
transactions=$transactions
|
||||
return_date=$return_date|parse_date
|
||||
}}
|
||||
{{if $_GET.from == "lh"}}
|
||||
{{:assign from="../loan_history.html"}}
|
||||
{{else}}
|
||||
{{:assign from="../equipment_history.html"}}
|
||||
{{/if}}
|
||||
{{:redirect force="%s?ok=1&key=%s&prop=%s&msg=modification"|args:$from:$eqpmt_key:$prop}}
|
||||
{{:redirect force="../equipment_history.html?ok=1&key=%s&prop=%s&msg=modification"|args:$eqpmt_key:$prop}}
|
||||
{{/form}}
|
||||
|
||||
{{if $mvt_new.direction == "input"}}
|
||||
|
|
@ -238,8 +231,8 @@
|
|||
{{:assign mvt_label="sortie"}}
|
||||
{{/if}}
|
||||
{{:admin_header title="Modifier une %s"|args:$mvt_label custom_css="./../style.css" current="module_equipment"}}
|
||||
|
||||
{{:form_errors}}
|
||||
|
||||
{{*
|
||||
-------------------- Préparer la saisie --------------------
|
||||
*}}
|
||||
|
|
@ -306,9 +299,9 @@
|
|||
{{if $storage != null}}
|
||||
{{: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"}}
|
||||
{{: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"}}
|
||||
{{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"}}
|
||||
{{/if}}
|
||||
{{/if}}
|
||||
{{: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"}}
|
||||
|
|
@ -345,9 +338,11 @@ function changeVisibility(evt, idcheck = 'f_set_return_date_1', fields = ['div_r
|
|||
toggleVisibility(idcheck, fields);
|
||||
}
|
||||
|
||||
function changeReturnDate(evt, id_date = 'f_date', id_return_date = 'f_return_date', id_loan_duration='loan_duration')
|
||||
{
|
||||
setReturnDate(id_date, id_return_date, id_loan_duration);
|
||||
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 () {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
{{* -*- brindille -*- *}}
|
||||
|
||||
{{#restrict block=true section="accounting" level="write"}}{{/restrict}}
|
||||
|
||||
{{*
|
||||
Afficher les détails d'un mouvement et donner la possibilité :
|
||||
- d'associer des fichiers
|
||||
|
|
@ -44,18 +42,18 @@
|
|||
<nav class="tabs">
|
||||
{{:linkbutton
|
||||
label="Modifier ce mouvement"
|
||||
href="modify_movement.html?key=%s&from=%s"|args:$_GET.key:$_GET.from
|
||||
href="modify_movement.html?key=%s"|args:$_GET.key
|
||||
shape="edit"
|
||||
target="_dialog"}}
|
||||
{{:linkbutton
|
||||
label="Supprimer ce mouvement"
|
||||
href="delete_movement.html?key=%s&prop=%s&from=%s"|args:$_GET.key:$_GET.prop:$_GET.from
|
||||
href="delete_movement.html?key=%s&prop=%s"|args:$_GET.key:$_GET.prop
|
||||
shape="delete"
|
||||
target="_dialog"}}
|
||||
{{if $type_mvt != "retour"}}
|
||||
{{:linkbutton
|
||||
label="Dupliquer ce mouvement"
|
||||
href="copy_movement.html?key=%s&prop=%s&from=%s"|args:$_GET.key:$_GET.prop:$_GET.from
|
||||
href="copy_movement.html?key=%s&prop=%s"|args:$_GET.key:$_GET.prop
|
||||
shape="plus"
|
||||
target="_dialog"}}
|
||||
{{/if}}
|
||||
|
|
@ -65,9 +63,9 @@
|
|||
<dt>Opération</dt>
|
||||
<dd>{{$op_label}}</dd>
|
||||
<dt>Matériel</dt>
|
||||
<dd>{{:link href="../equipment_history.html?key=%s&prop=%s"|args:$equipment.key:$_GET.prop label=$equipment.name}}</dd>
|
||||
<dd>{{$equipment.name}}</dd>
|
||||
<dt>Catégorie</dt>
|
||||
<dd>{{:link href="../index.html?cat_key=%s&prop=1"|args:$category.key label=$category.name}}</dd>
|
||||
<dd>{{$category.name}}</dd>
|
||||
<dt>Date</dt>
|
||||
<dd>{{$mvt.date|date_short}}</dd>
|
||||
<dt>Quantité</dt>
|
||||
|
|
@ -76,7 +74,7 @@
|
|||
<dt>Membre destinataire</dt>
|
||||
<dd>
|
||||
{{if $mvt.user != null}}
|
||||
{{:link href="/admin/users/details.php?id=%s"|args:$mvt.user label=$user_name}}
|
||||
{{$user_name}}
|
||||
{{else}}—
|
||||
{{/if}}
|
||||
</dd>
|
||||
|
|
@ -97,21 +95,16 @@
|
|||
{{else}}—
|
||||
{{/foreach}}
|
||||
</dd>
|
||||
{{if $mvt.direction == "output" && $type_mvt != "retour"}}
|
||||
<dt>Date de retour</dt>
|
||||
<dd>
|
||||
{{if $mvt.return_date != null}}
|
||||
{{$mvt.return_date|date_short}}
|
||||
{{else}}—
|
||||
{{/if}}
|
||||
</dd>
|
||||
{{/if}}
|
||||
<dt>Remarques</dt>
|
||||
<dd>{{if $mvt.comment != null}}
|
||||
{{$mvt.comment}}
|
||||
{{else}}—
|
||||
{{/if}}
|
||||
</dd>
|
||||
{{if $mvt.return_date != null}}
|
||||
<dt>Date de retour</dt>
|
||||
<dd>{{$mvt.return_date|date_short}}</dd>
|
||||
{{/if}}
|
||||
</dl>
|
||||
|
||||
<form method="post" action="">
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
{{* -*- brindille -*- *}}
|
||||
|
||||
{{#restrict block=true section="accounting" level="write"}}{{/restrict}}
|
||||
|
||||
{{*
|
||||
paramètres :
|
||||
- key : clé du matériel à sortir
|
||||
|
|
@ -128,11 +126,6 @@
|
|||
{{:assign var="equipment.out" value="%d+%d"|math:$equipment.out:$_POST.amount|intval}}
|
||||
{{/if}}
|
||||
|
||||
{{* écritures liées *}}
|
||||
{{#foreach from=$_POST.transactions item="value"}}
|
||||
{{:assign var="transactions." value=$value|intval}}
|
||||
{{/foreach}}
|
||||
|
||||
{{:save
|
||||
key=$equipment.key
|
||||
validate_schema="../equipment.schema.json"
|
||||
|
|
@ -159,7 +152,6 @@
|
|||
comment=$_POST.remarques|trim
|
||||
user=$user.id
|
||||
return_date=$return_date|parse_date
|
||||
transactions=$transactions
|
||||
}}
|
||||
{{:redirect force="../equipment_history.html?ok=1&key=%s&prop=1&msg=sortie"|args:$_GET.key}}
|
||||
{{/form}}
|
||||
|
|
@ -213,7 +205,6 @@
|
|||
multiple=true
|
||||
max=1
|
||||
}}
|
||||
{{: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"}}
|
||||
<div id="div_return_date" style="visibility:hidden">
|
||||
|
|
@ -239,9 +230,11 @@ function changeVisibility(evt, idcheck = 'f_set_return_date_1', fields = ['div_r
|
|||
toggleVisibility(idcheck, fields);
|
||||
}
|
||||
|
||||
function changeReturnDate(evt, id_date = 'f_date', id_return_date = 'f_return_date', id_loan_duration='loan_duration')
|
||||
{
|
||||
setReturnDate(id_date, id_return_date, id_loan_duration);
|
||||
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 () {
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
{{* -*- brindille -*- *}}
|
||||
|
||||
{{#restrict block=true section="accounting" level="write"}}{{/restrict}}
|
||||
|
||||
{{*
|
||||
Enregistrer un retour de sortie temporaire
|
||||
paramètres :
|
||||
|
|
|
|||
11
scripts.js
11
scripts.js
|
|
@ -52,14 +52,3 @@ function str2sec(date) {
|
|||
function getDate(idelem) {
|
||||
return str2sec(document.getElementById(idelem).value);
|
||||
}
|
||||
|
||||
/**
|
||||
* modifier la date de retour en fonction de la date de sortie et de la durée du prêt
|
||||
*/
|
||||
function setReturnDate(id_date, id_return_date, id_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();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -69,7 +69,6 @@
|
|||
{{:assign nb_jours=0}}
|
||||
{{:assign old_eqpmt_key=$eqpmt_key}}
|
||||
{{:assign var="ligne.date" value=$date}}
|
||||
{{:assign var="ligne.eqpmt_key" value=$eqpmt_key}}
|
||||
{{:assign var="ligne.materiel" value=$eqpmt_name}}
|
||||
{{:assign var="ligne.return_date" value=$return_date}}
|
||||
{{:assign var="ligne.retard" value="0"}}
|
||||
|
|
@ -89,7 +88,6 @@
|
|||
{{:assign nb_jours=0}}
|
||||
{{:assign old_eqpmt_key=$eqpmt_key}}
|
||||
{{:assign var="ligne.date" value=$date}}
|
||||
{{:assign var="ligne.eqpmt_key" value=$eqpmt_key}}
|
||||
{{:assign var="ligne.materiel" value=$eqpmt_name}}
|
||||
{{:assign var="ligne.return_date" value=$return_date}}
|
||||
{{:assign var="ligne.retard" value="0"}}
|
||||
|
|
@ -122,7 +120,6 @@
|
|||
<th>Quantité</th>
|
||||
<th>Date de retour</th>
|
||||
<th>Remarque</th>
|
||||
<th class="actions">
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
|
@ -142,14 +139,6 @@
|
|||
{{:tag color="darkgreen" label="À rendre aujourdh'ui"}}
|
||||
{{/if}}
|
||||
</td>
|
||||
<td class="actions">
|
||||
{{:linkbutton
|
||||
label="Historique"
|
||||
href="%smember_history.html?key=%s&id=%s"|args:$module.url:$eqpmt_key:$user.id
|
||||
shape="table"
|
||||
target="_dialog"
|
||||
}}
|
||||
</td>
|
||||
</tr>
|
||||
{{/foreach}}
|
||||
</tbody>
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
{{* -*- brindille -*- *}}
|
||||
|
||||
|
||||
{{#restrict block=true section="accounting" level="write"}}{{/restrict}}
|
||||
|
||||
{{* Traiter l'envoi du formulaire *}}
|
||||
{{#form on="save"}}
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
{{* -*- brindille -*- *}}
|
||||
|
||||
{{#restrict block=true section="accounting" level="write"}}{{/restrict}}
|
||||
|
||||
{{*
|
||||
paramètres :
|
||||
- key : clé du stockage à supprimer
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
{{* -*- brindille -*- *}}
|
||||
|
||||
{{#restrict block=true section="accounting" level="write"}}{{/restrict}}
|
||||
|
||||
{{*
|
||||
Afficher les lieux de stockage
|
||||
*}}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
{{* -*- brindille -*- *}}
|
||||
|
||||
{{#restrict block=true section="accounting" level="write"}}{{/restrict}}
|
||||
|
||||
{{* récupérer les infos du lieu de stockage *}}
|
||||
{{#load key=$_GET.key assign="storage"}}
|
||||
{{else}}
|
||||
|
|
|
|||
|
|
@ -1,7 +1,5 @@
|
|||
{{* -*- brindille -*- *}}
|
||||
|
||||
{{#restrict block=true section="accounting" level="write"}}{{/restrict}}
|
||||
|
||||
{{*
|
||||
Remettre le matériel en service
|
||||
Paramètres :
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue