diff --git a/_nav.html b/_nav.html index e2e6170..84b5a0f 100644 --- a/_nav.html +++ b/_nav.html @@ -30,11 +30,13 @@ {{elseif $current == 'location'}} {{elseif $current == 'archives'}} {{if $subsubcurrent == 'historique'}} diff --git a/member_loan.html b/member_loan.html new file mode 100644 index 0000000..63e71a8 --- /dev/null +++ b/member_loan.html @@ -0,0 +1,101 @@ +{{* -*- brindille -*- *}} + +{{#restrict block=true section="accounting" level="write"}}{{/restrict}} + +{{* + paramètres : + - id : id membre +*}} + +{{if $_GET.output_type == "loan"}} + {{:assign label="prêt"}} +{{elseif $_GET.output_type == "rent"}} + {{:assign label="location"}} +{{else}} + {{:error message="Cette page n'existe pas !"}} +{{/if}} + +{{:admin_header title="%ss aux membres"|args:$label|ucfirst custom_css="./style.css" current="module_equipment"}} +{{:include file="./_nav.html" current="%s"|args:$label subcurrent="membres"}} + +{{* vérifier l'existence de la table du module *}} +{{#load limit="1"}} + {{:assign table_presente=true}} +{{else}} + {{:assign table_presente=false}} +{{/load}} + +{{if $table_presente}} +{{:include file="./_get_config.html" keep="config"}} + +{{* déterminer les types de mouvements *}} +{{#foreach from=$config.output_nature key="key"}} + {{if $type != 'temporaire'}} + {{:continue}} + {{/if}} + {{if $_GET.output_type == "loan" && $fee != 'payant'}} + {{:assign var="out_keys." value=$key|quote_sql}} + {{elseif $_GET.output_type == "rent" && $fee == 'payant'}} + {{:assign var="out_keys." value=$key|quote_sql}} + {{/if}} +{{/foreach}} +{{:assign out_keys=$out_keys|implode:","}} +{{:assign out_keys="("|cat:$out_keys|cat:")"}} + +
+

{{$label|ucfirst}}s aux membres

+
+ +{{:assign premier=true}} +{{#select + nom, user, GROUP_CONCAT(mat_name) AS materiel, SUM(remain) AS quantite + FROM + (SELECT users.nom AS nom, + users.id AS user, + json_extract(mat.document, '$.name') AS mat_name, + json_extract(mvt.document, '$.amount') - IFNULL(SUM(json_extract(retour.document, '$.amount')), 0) AS remain + FROM !table AS mvt + INNER JOIN users ON json_extract(mvt.document, '$.user') = users.id + LEFT JOIN !table AS links ON mvt.key = json_extract(links.document, '$.temp_key') + LEFT JOIN !table AS retour ON retour.key = json_extract(links.document, '$.return') + INNER JOIN !table 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 + ) + GROUP BY user + ORDER BY nom + ; + !table=$module.table + !op = $out_keys + }} + + {{if $premier}} + + + + + + + + + + {{:assign premier=false}} + {{/if}} + + + + + + +{{else}} +

Aucun mouvement.

+{{/select}} + +
MembreQuantitéMatériels
{{:link href="/admin/users/details.php?id=%s"|args:$user label="%s"|args:$nom}}{{$quantite}}{{$materiel}}
+{{else}} +

Aucun mouvement.

+{{/if}} + +{{:admin_footer}} diff --git a/style.css b/style.css index 39ae075..9b112b6 100644 --- a/style.css +++ b/style.css @@ -24,3 +24,7 @@ table.list > thead th[class~=nosort] a:hover { background-color : rgba(var(--gSecondColor), 0.); } + +.nombre { + text-align: right !important; +}