diff --git a/_nav.html b/_nav.html index 4e69986..8ea688e 100644 --- a/_nav.html +++ b/_nav.html @@ -29,6 +29,11 @@
  • Historique — {{$eqpmt}} ({{$category}})
  • {{/if}} + {{elseif $current == 'historique'}} + {{elseif $current == 'archives'}} {{if $subsubcurrent == 'historique'}} {{/if}} diff --git a/global_history.html b/global_history.html index 8f98f16..5eb69c1 100644 --- a/global_history.html +++ b/global_history.html @@ -6,7 +6,7 @@ {{:admin_header title="Historique des mouvements" custom_css="./style.css" current="module_equipment"}} -{{:include file="./_nav.html" current="historique"}} +{{:include file="./_nav.html" current="historique" subcurrent="tous"}} {{* récupérer la config des entrées/sorties *}} {{:include file="./_get_config.html" keep="config"}} diff --git a/loan_history.html b/loan_history.html new file mode 100644 index 0000000..8d5ab82 --- /dev/null +++ b/loan_history.html @@ -0,0 +1,90 @@ +{{* -*- brindille -*- *}} + +{{: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"}} + +{{* lecture config (défaut ou enregistrée) *}} +{{:include file="./_get_config.html" keep="config"}} + +{{#foreach from=$config.output_nature key="key"}} + {{if $type == 'temporaire'}} + {{:assign var="output_types." value=$key|quote_sql}} + {{/if}} +{{/foreach}} +{{:assign output_ops=$output_types|implode:","}} +{{:assign output_ops="("|cat:$output_ops|cat:")"}} + +{{:assign premier=true}} +{{#select + users.nom AS nom, + users.id AS user, + json_extract(mat.document, '$.name') AS mat_name, + json_extract(mvt.document, '$.date') AS out_date, + 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_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 + json_extract(mvt.document, '$.operation') IN !op + GROUP BY mvt.key + HAVING remain != 0 + ORDER BY out_date, nom + ; + !op = $output_ops +}} + {{if $premier}} + + + + + + + + + + + + + + + {{:assign premier=false}} + {{/if}} + + {{if $return_date != null}} + {{:assign ts_retour=$return_date|strtotime}} + {{:assign nb_jours="floor((%d-%d)/(60*60*24))"|math:$now:$ts_retour}} + {{/if}} + + + + + + + + + + +{{else}} +

    Aucun mouvement.

    +{{/select}} + +
    MatérielDate sortieQuantitéMembreDate retourReste à rendreRemarque
    {{$mat_name}}{{$out_date|date_short}}{{$out_amount}}{{:link href="/admin/users/details.php?id=%s"|args:$user label="%s"|args:$nom}}{{$return_date|date_short}}{{$remain}} + {{if $return_date != null}} + {{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}} +
    + +{{:admin_footer}}