114 lines
4.9 KiB
Smarty
114 lines
4.9 KiB
Smarty
|
<!-- nav bar -->
|
||
|
{include file="%s/templates/_nav.tpl"|args:$plugin_root current_nav="versements"}
|
||
|
|
||
|
<h2>Liste des versements par activité et tarif</h2>
|
||
|
|
||
|
{* TODO : vérifier le détail de ce div *}
|
||
|
<div class="year-header noprint">
|
||
|
<button type="button" data-icon="↓" class="icn-btn" id="open_details">Déplier toutes les activités</button>
|
||
|
<button type="button" data-icon="↑" class="icn-btn" id="close_details">Replier toutes les activités</button>
|
||
|
</div>
|
||
|
|
||
|
<form method="post" action="action.php" class="memberList">
|
||
|
|
||
|
<fieldset class="versements" id="versements_global">
|
||
|
<input
|
||
|
type="checkbox"
|
||
|
class="check_global"
|
||
|
id="check_global"
|
||
|
onclick="cocherDecocherTout(check_global)" />
|
||
|
<label for="check_global">Cliquer pour cocher toutes les lignes</label>
|
||
|
</fieldset>
|
||
|
|
||
|
{* Itération sur les activités *}
|
||
|
{foreach from=$listeParActiviteEtTarif item="activite"}
|
||
|
|
||
|
{* Itération sur les tarifs de l'activité *}
|
||
|
{foreach from=$activite->tarifs item="tarif"}
|
||
|
|
||
|
<details open="open">
|
||
|
<summary class="activite">
|
||
|
<h3>Activité « {$activite->label} »</h3>
|
||
|
{if !empty($activite->description)}
|
||
|
<h4>{$activite->description}</h4>
|
||
|
{/if}
|
||
|
<h4>tarif « {$tarif->titreTarif} », montant : {if $tarif->montantTarif > 0}{$tarif->montantTarif}
|
||
|
€{else}libre
|
||
|
{/if}
|
||
|
</h4>
|
||
|
</summary>
|
||
|
|
||
|
{*
|
||
|
Itération sur les versements d'un tarif d'une activité
|
||
|
présentation : une table pour les versements d'une personne
|
||
|
*}
|
||
|
<?php $currentUser = -1; $firstUser = true; ?>
|
||
|
{foreach from=$lesVersements key="rang" item="versement"}
|
||
|
{if $versement.idActivite == $activite->id &&
|
||
|
$versement.idTarif == $tarif->idTarif}
|
||
|
{if $versement.idUser != $currentUser}
|
||
|
{* changement de personne *}
|
||
|
{if $firstUser}
|
||
|
<?php $firstUser = false; ?>
|
||
|
{else}
|
||
|
{* fermer le tableau précédent *}
|
||
|
</fieldset>
|
||
|
{/if}
|
||
|
{* Afficher les infos de la personne *}
|
||
|
<?php $idVersements = $versement->idTarif."_".$versement->idUser; ?>
|
||
|
<h3 class="personne">Versements de {$versement.nom} : <span id="total_{$idVersements}">0,00 €</span></h3>
|
||
|
<fieldset class="versements" id="versements_{$idVersements}">
|
||
|
<input
|
||
|
type="checkbox"
|
||
|
class="check_{$idVersements}"
|
||
|
id="check_{$idVersements}"
|
||
|
onclick="cocherDecocherPersonne(check_{$idVersements}, total_{$idVersements})" />
|
||
|
<label for="check_{$idVersements}">Cliquer pour cocher toutes les lignes</label>
|
||
|
<br />
|
||
|
<hr>
|
||
|
<?php $currentUser = $versement->idUser; ?>
|
||
|
{/if}
|
||
|
{* afficher les infos du versement de la personne*}
|
||
|
<div {if $rang%2==0}class="pair"{else}class="impair"{/if}>
|
||
|
<input
|
||
|
type="checkbox"
|
||
|
class="check_{$idVersements}"
|
||
|
id="check_{$idVersements}_{$rang}"
|
||
|
name="selected[]"
|
||
|
value={$rang}
|
||
|
onclick="cocherDecocherVersement(check_{$idVersements}_{$rang}, total_{$idVersements})" />
|
||
|
<label for=check_{$idVersements}_{$rang}></label>
|
||
|
<span class="montant">{$versement.versement|raw|money}</span>
|
||
|
<span>{$versement.date|date_format:"%d/%m/%Y"}</span>
|
||
|
</div>
|
||
|
{/if}
|
||
|
{/foreach} {* Itération sur les versements *}
|
||
|
</fieldset>
|
||
|
</details>
|
||
|
{/foreach} {* Itération sur les tarifs de l'activité *}
|
||
|
{/foreach} {* Itération sur les activités *}
|
||
|
|
||
|
<input type="submit" value="Générer les reçus" onclick="return verifierChoix(this.form)">
|
||
|
</form>
|
||
|
|
||
|
{* scripts pour cases à cocher *}
|
||
|
<script src="script.js"></script>
|
||
|
|
||
|
{literal}
|
||
|
<script type="text/javascript">
|
||
|
// ouvrir/fermer les détails
|
||
|
document.querySelector('#open_details').onclick = () => {
|
||
|
document.querySelectorAll('details').forEach((e) => {
|
||
|
e.setAttribute('open', 'open');
|
||
|
});
|
||
|
};
|
||
|
document.querySelector('#close_details').onclick = () => {
|
||
|
document.querySelectorAll('details').forEach((e) => {
|
||
|
e.removeAttribute('open');
|
||
|
});
|
||
|
};
|
||
|
</script>
|
||
|
{/literal}
|
||
|
|
||
|
<!-- footer -->
|
||
|
{include file="admin/_foot.tpl"}
|