Modification présentation

FossilOrigin-Name: 727405e1faf7349a964fc82de60f0708b028808627f5e6fb5b0490506ddcf539
This commit is contained in:
engel 2024-04-11 09:51:09 +00:00
parent 86bc9c8ae1
commit d8af7ce6e7
2 changed files with 195 additions and 193 deletions

View File

@ -65,7 +65,7 @@ $tpl->register_function('afficher_debut_tarif', function ($params)
{ {
$versement = $params['versement']; $versement = $params['versement'];
$idTarif = $versement->idTarif; $idTarif = $versement->idTarif;
$out = sprintf(' $out = sprintf('
<details class="activite" open="open"> <details class="activite" open="open">
<summary class="activite"> <summary class="activite">

View File

@ -2,214 +2,216 @@
{include file="%s/templates/_nav.tpl"|args:$plugin_root current_nav="index"} {include file="%s/templates/_nav.tpl"|args:$plugin_root current_nav="index"}
<nav class="acc-year"> <nav class="acc-year">
<h4>Année fiscale sélectionnée&nbsp;:</h4> <h4>Année fiscale sélectionnée&nbsp;:</h4>
<h3>{$annee_recu}</h3> <h3>{$annee_recu}</h3>
<footer>{linkbutton label="Changer d'année fiscale" target="_dialog" href="%s/choix_annee.php"|args:$plugin_url shape="settings"}</footer> <footer>{linkbutton label="Changer d'année fiscale" target="_dialog" href="%s/choix_annee.php"|args:$plugin_url shape="settings"}</footer>
</nav> </nav>
<form id="formulaire_saisie" method="post" action="action.php"> <form id="formulaire_saisie" method="post" action="action.php">
<div id="choix_methode"> <div id="choix_methode">
<h3>Sélectionner les versements pour les reçus</h3> <h3>Sélectionner les versements pour les reçus</h3>
<fieldset> <fieldset>
{* <legend>Choisir une des méthodes</legend> *} {* <legend>Choisir une des méthodes</legend> *}
<dl id="menu"> <dl id="menu">
<dd class="radio-btn"> <dd class="radio-btn">
<input type="radio" id="radio_versements_personne" name="choix_versements" value="personne" <input type="radio" id="radio_versements_personne" name="choix_versements" value="personne"
onclick="choixMethodeGeneration(this.form, 'personne', 'menu_versements', '.menu');" /> onclick="choixMethodeGeneration(this.form, 'personne', 'menu_versements', '.menu');" />
<label for="radio_versements_personne"> <label for="radio_versements_personne">
<div class="explications"> <div class="explications">
<h5> <h5>
Seuls les versements des personnes importent. Seuls les versements des personnes importent.
</h5> </h5>
<p class="help">Choisissez cette option si vous n'avez pas besoin des activités ni des tarifs</p> <p class="help">Choisissez cette option si vous n'avez pas besoin des activités ni des tarifs</p>
</div> </div>
</label> </label>
</dd> </dd>
<dd class="radio-btn"> <dd class="radio-btn">
<input type="radio" id="radio_versements_activites" name="choix_versements" value="activite" <input type="radio" id="radio_versements_activites" name="choix_versements" value="activite"
onclick="choixMethodeGeneration(this.form, 'activite', 'menu_activites_tarifs', '.menu');" /> onclick="choixMethodeGeneration(this.form, 'activite', 'menu_activites_tarifs', '.menu');" />
<label for="radio_versements_activites"> <label for="radio_versements_activites">
<div class="explications"> <div class="explications">
<h5> <h5>
Certaines activités, certains tarifs ou certains comptes importent. Certaines activités, certains tarifs ou certains comptes importent.
</h5> </h5>
<p class="help">Choisissez cette option pour classer les versements par activités, tarifs et comptes</p> <p class="help">Choisissez cette option pour classer les versements par activités, tarifs et comptes</p>
</div> </div>
</label> </label>
</dd> </dd>
</dl> </dl>
</fieldset> </fieldset>
</div> </div>
{* Tous les versements *} {* Tous les versements *}
<div id="menu_versements" class="menu hidden"> <div id="menu_versements" class="menu hidden">
<h3>Choisir le taux de réduction</h3> <h3>Choisir le taux de réduction</h3>
<fieldset> <fieldset>
{if $nbTaux == 0} {if $nbTaux == 0}
<h3 class="warning">Vous devez d'abord sélectionner au moins un taux de réduction dans l'onglet de configuration</h3> <h3 class="warning">Vous devez d'abord sélectionner au moins un taux de réduction dans l'onglet de configuration</h3>
{/if} {/if}
{if $nbChamps == 0} {if $nbChamps == 0}
<h3 class="warning">Vous devez d'abord sélectionner au moins un champ pour le nom et le prénom dans l'onglet de configuration</h3> <h3 class="warning">Vous devez d'abord sélectionner au moins un champ pour le nom et le prénom dans l'onglet de configuration</h3>
{/if} {/if}
{if $nbTaux > 0 && $nbChamps > 0} {if $nbTaux > 0 && $nbChamps > 0}
<ul class="reduction"> <ul class="reduction">
{foreach from=$plugin_config->reduction item="reduc"} {foreach from=$plugin_config->reduction item="reduc"}
{if $reduc->valeur == 1} {if $reduc->valeur == 1}
<li> <li>
<span class="radio-btn"> <span class="radio-btn">
<input <input
type="radio" type="radio"
id="{$reduc->taux}" id="{$reduc->taux}"
name="taux_reduction" name="taux_reduction"
value="{$reduc->taux}" value="{$reduc->taux}"
{if $nbTaux == 1}checked{/if} {if $nbTaux == 1}checked{/if}
/> />
<label for="{$reduc->taux}">{$reduc->taux}{if $reduc->remarque != ""} - {$reduc->remarque}{/if}</label> <label for="{$reduc->taux}">{$reduc->taux}{if $reduc->remarque != ""} - {$reduc->remarque}{/if}</label>
</span> </span>
</li> </li>
{/if} {/if}
{/foreach} {/foreach}
</ul> </ul>
{/if} {/if}
</fieldset> </fieldset>
<p class="submit"> <p class="submit">
{csrf_field key="generer_tous_recus"} {csrf_field key="generer_tous_recus"}
{button type="submit" name="generer_tous" label="Poursuivre" shape="right" class="main" onclick="return verifierTaux(menu_versements);" } {button type="submit" name="generer_tous" label="Poursuivre" shape="right" class="main" onclick="return verifierTaux(menu_versements);" }
</p> </p>
</div> </div>
{* Activités, tarifs et comptes *} {* Activités, tarifs et comptes *}
<div id="menu_activites_tarifs" class="menu hidden"> <div id="menu_activites_tarifs" class="menu hidden">
<h3>Choisir les activités, tarifs et comptes concernés ainsi que le taux de réduction</h3> <h3>Choisir les activités, tarifs et comptes concernés ainsi que le taux de réduction</h3>
<fieldset> <fieldset>
{if $nbTaux == 0} {if $nbTaux == 0}
<h3 class="warning">Vous devez d'abord sélectionner au moins un taux de réduction dans l'onglet de configuration</h3> <h3 class="warning">Vous devez d'abord sélectionner au moins un taux de réduction dans l'onglet de configuration</h3>
{/if} {/if}
{if $nbChamps == 0} {if $nbChamps == 0}
<h3 class="warning">Vous devez d'abord sélectionner au moins un champ pour le nom et le prénom dans l'onglet de configuration</h3> <h3 class="warning">Vous devez d'abord sélectionner au moins un champ pour le nom et le prénom dans l'onglet de configuration</h3>
{/if} {/if}
{if $nbTaux > 0 && $nbChamps > 0} {if $nbTaux > 0 && $nbChamps > 0}
<ul id="liste_activites"> <ul id="liste_activites">
{foreach from=$activitesTarifsComptes item="elem"} {foreach from=$activitesTarifsComptes item="elem"}
<li> <li>
<?php <?php
$tarif = $lesTarifs[$elem->idTarif]; $tarif = $lesTarifs[$elem->idTarif];
$compte = $lesComptes[$elem->idCompte]; $compte = $lesComptes[$elem->idCompte];
$activite = $lesActivites[$tarif->idActivite]; $activite = $lesActivites[$tarif->idActivite];
?> ?>
<div class="activite"> <div class="activite">
{if $nbTarifs == 1 && $nbComptesSansActivite == 0} {if $nbTarifs == 1 && $nbComptesSansActivite == 0}
{input {input
type="checkbox" type="checkbox"
name="tarifs[]" name="tarifs[]"
value="%s_%s"|args:$elem.idTarif,$elem.idCompte value="%s_%s"|args:$elem.idTarif,$elem.idCompte
label="Activité « %s » - tarif « %s » ;"|args:$activite.label,$tarif.label label="Activité « %s » - tarif « %s » ;"|args:$activite.label,$tarif.label
checked="checked" checked="checked"
} }
{else} {else}
{input {input
type="checkbox" type="checkbox"
name="tarifs[]" name="tarifs[]"
value="%s_%s"|args:$elem.idTarif,$elem.idCompte value="%s_%s"|args:$elem.idTarif,$elem.idCompte
label="Activité « %s » - tarif « %s » ;"|args:$activite.label,$tarif.label label="Activité « %s » - tarif « %s » ;"|args:$activite.label,$tarif.label
} }
{/if} {/if}
<span>compte : {$elem.codeCompte} ({$compte->nomCompte})</span> <span>compte : {$elem.codeCompte} - {$compte->nomCompte}</span>
</div> <span> ({$compte.label})</span>
<ul class="reduction"> </div>
{foreach from=$plugin_config->reduction item="reduc"} <ul class="reduction">
{if $reduc->valeur == 1} {foreach from=$plugin_config->reduction item="reduc"}
<li> {if $reduc->valeur == 1}
<span class="radio-btn"> <li>
<input <span class="radio-btn">
type="radio" <input
id="taux_{$reduc->taux}_{$elem.idTarif}_{$elem.idCompte}" type="radio"
name="taux_reduction_{$elem.idTarif}_{$elem.idCompte}" id="taux_{$reduc->taux}_{$elem.idTarif}_{$elem.idCompte}"
value="{$reduc->taux}" name="taux_reduction_{$elem.idTarif}_{$elem.idCompte}"
{if $nbTarifs > 1}disabled{/if} value="{$reduc->taux}"
{if $nbTaux == 1}checked{/if} {if $nbTarifs > 1}disabled{/if}
/> {if $nbTaux == 1}checked{/if}
<label for="taux_{$reduc->taux}_{$elem.idTarif}_{$elem.idCompte}"> />
{$reduc->taux}{if $reduc->remarque != ""} - {$reduc->remarque}{/if}</label> <label for="taux_{$reduc->taux}_{$elem.idTarif}_{$elem.idCompte}">
</span> {$reduc->taux}{if $reduc->remarque != ""} - {$reduc->remarque}{/if}</label>
</li> </span>
{/if} </li>
{/foreach} {/if}
</ul> {/foreach}
</li> </ul>
{/foreach} </li>
{* comptes non rattachés à une activité *} {/foreach}
{foreach from=$comptesSansActivite item="idCompte"} {* comptes non rattachés à une activité *}
<li> {foreach from=$comptesSansActivite item="idCompte"}
<div class="activite"> <li>
{input <div class="activite">
type="checkbox" {input
name="comptes[]" type="checkbox"
value="%s"|args:$idCompte name="comptes[]"
label="Versements non rattachés à une activité ;" value="%s"|args:$idCompte
} label="Versements non rattachés à une activité ;"
<?php $compte = $lesComptes[$idCompte]; ?> }
<span>compte : {$compte.codeCompte} ({$compte.nomCompte})</span> <?php $compte = $lesComptes[$idCompte]; ?>
</div> <span>compte : {$compte.codeCompte} - {$compte.nomCompte}</span>
<ul class="reduction"> <span> ({$compte.label})</span>
{foreach from=$plugin_config->reduction item="reduc"} </div>
{if $reduc->valeur == 1} <ul class="reduction">
<li> {foreach from=$plugin_config->reduction item="reduc"}
<span class="radio-btn"> {if $reduc->valeur == 1}
<input <li>
type="radio" <span class="radio-btn">
id="taux_{$reduc->taux}_{$idCompte}" <input
name="taux_reduction_{$idCompte}" type="radio"
value="{$reduc->taux}" id="taux_{$reduc->taux}_{$idCompte}"
disabled name="taux_reduction_{$idCompte}"
{if $nbTaux == 1}checked{/if} value="{$reduc->taux}"
/> disabled
<label for="taux_{$reduc->taux}_{$idCompte}"> {if $nbTaux == 1}checked{/if}
{$reduc->taux}{if $reduc->remarque != ""} - {$reduc->remarque}{/if}</label> />
</span> <label for="taux_{$reduc->taux}_{$idCompte}">
</li> {$reduc->taux}{if $reduc->remarque != ""} - {$reduc->remarque}{/if}</label>
{/if} </span>
{/foreach} </li>
</ul> {/if}
</li> {/foreach}
{/foreach} </ul>
</ul> </li>
{/if} {/foreach}
</fieldset> </ul>
{/if}
</fieldset>
<p class="submit"> <p class="submit">
{csrf_field key="generer_recus_activites"} {csrf_field key="generer_recus_activites"}
{button type="submit" name="generer_activites" label="Poursuivre" shape="right" class="main" onclick="return verifierActivitésTaux(menu_activites_tarifs);" } {button type="submit" name="generer_activites" label="Poursuivre" shape="right" class="main" onclick="return verifierActivitésTaux(menu_activites_tarifs);" }
</p> </p>
</div> </div>
</form> </form>
<script type="text/javascript" src="script.js" defer="defer"></script> <script type="text/javascript" src="script.js" defer="defer"></script>
{literal} {literal}
<script type="text/javascript"> <script type="text/javascript">
// activer/désactiver les radios des activités/tarifs // activer/désactiver les radios des activités/tarifs
for (var laCase of document.querySelectorAll("input[type=checkbox]")) { for (var laCase of document.querySelectorAll("input[type=checkbox]")) {
laCase.addEventListener('change', (evt) => { laCase.addEventListener('change', (evt) => {
var idCase = evt.target; var idCase = evt.target;
// chercher la ligne englobante (<li>) // chercher la ligne englobante (<li>)
var ligne = idCase.closest("li"); var ligne = idCase.closest("li");
// itérer sur les radio de cette ligne // itérer sur les radio de cette ligne
var lesRadios = ligne.querySelectorAll('input[type=radio]'); var lesRadios = ligne.querySelectorAll('input[type=radio]');
for (var idRadio of lesRadios) { for (var idRadio of lesRadios) {
if (idCase.checked) { if (idCase.checked) {
idRadio.disabled = ''; idRadio.disabled = '';
} else { } else {
idRadio.disabled = 'disabled'; idRadio.disabled = 'disabled';
} }
} }
}); });
} }
</script> </script>
{/literal} {/literal}
<!-- footer --> <!-- footer -->
{include file="_foot.tpl"} {include file="_foot.tpl"}