prise en compte de différents champs nom et prénom
FossilOrigin-Name: 2895a7a5054d102c3262500e9e67557129592b607830a406d30fd3596cdfe6a9
This commit is contained in:
parent
5995f33efd
commit
a3aa6fa200
8 changed files with 271 additions and 108 deletions
|
|
@ -13,47 +13,41 @@
|
|||
|
||||
<form method="post" action="{$self_url}" enctype="multipart/form-data">
|
||||
<fieldset>
|
||||
{*
|
||||
<legend>Objet (but) de l'association</legend>
|
||||
*}
|
||||
<dl class="config">
|
||||
<dt><label>Objet (but) de l'association</label> <b title="Champ obligatoire">(obligatoire)</b></dt>
|
||||
{input type="textarea" name="objet_asso" source=$plugin.config label="" required="required" cols="50" rows="4" maxlength=300}
|
||||
</dl>
|
||||
{*
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>Droit à la réduction d'impôt</legend>
|
||||
*}
|
||||
<dl class="config">
|
||||
<dt><label>Articles du code général des impôts concernés par l'association : </label>
|
||||
<b title="Champ obligatoire">(obligatoire ; sélectionnez tous les articles qui s'appliquent à l'asociation)</b>
|
||||
<b title="Champ obligatoire">(obligatoire ; sélectionnez tous les articles qui s'appliquent à
|
||||
l'asociation)</b>
|
||||
</dt>
|
||||
{foreach from=$plugin_config->articlesCGI key="key" item="article"}
|
||||
{*
|
||||
À VÉRIFIER : {input : checked ne fonctionne pas si l'attribut name est un tableau...
|
||||
{*
|
||||
À VÉRIFIER : {input : checked ne fonctionne pas si l'attribut name est un tableau...
|
||||
{input type="checkbox" name="articlesCGI[]" value=$key label=$article.titre}
|
||||
*}
|
||||
<div>
|
||||
<input type="checkbox" name="articlesCGI[]" value="{$key}" class="choix"
|
||||
{if $article.valeur == 1}checked{/if}>
|
||||
<div>
|
||||
<input type="checkbox" name="articlesCGI[]" value="{$key}" class="choix"
|
||||
{if $article.valeur == 1}checked{/if}>
|
||||
<label>Article {$article.titre}</label>
|
||||
</div>
|
||||
</div>
|
||||
{/foreach}
|
||||
</dl>
|
||||
|
||||
<dl class="config">
|
||||
<dt><label>Taux de réduction applicables : </label>
|
||||
<b title="Champ obligatoire">(obligatoire ; sélectionnez tous les taux qui s'appliquent à l'asociation)</b>
|
||||
<b title="Champ obligatoire">(obligatoire ; sélectionnez tous les taux qui s'appliquent à
|
||||
l'asociation)</b>
|
||||
</dt>
|
||||
{foreach from=$plugin_config->reduction key="key" item="taux"}
|
||||
<div>
|
||||
<input type="checkbox" name="tauxReduction[]" value="{$key}" class="choix"
|
||||
{if $taux.valeur == 1}checked{/if}>
|
||||
<label>Taux {$taux.taux}, ligne {$taux.ligne} de la déclaration
|
||||
{if $taux.remarque !== ""}({$taux.remarque})</label>{/if}
|
||||
</div>
|
||||
<div>
|
||||
<input type="checkbox" name="tauxReduction[]" value="{$key}" class="choix"
|
||||
{if $taux.valeur == 1}checked{/if}>
|
||||
<label>Taux {$taux.taux}, ligne {$taux.ligne} de la déclaration
|
||||
{if $taux.remarque !== ""}({$taux.remarque})</label>{/if}
|
||||
</div>
|
||||
{/foreach}
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
|
@ -72,25 +66,42 @@
|
|||
|
||||
<dl class="config">
|
||||
<dt><label>Signature</label></dt>
|
||||
<p>L'image de la signature doit être d'une taille « raisonnable » et avoir un fond transparent</p>
|
||||
{if $plugin_config.signature != ''}
|
||||
<img id="signature" src="/{$plugin_config.signature}" />
|
||||
{else}
|
||||
<img id="signature" src="{$default_signature}" />
|
||||
{/if}
|
||||
{linkbutton shape="upload" label="Changer de signature" target="_dialog" href="upload.php?p=%s"|args:$path}
|
||||
<p>L'image de la signature doit être d'une taille « raisonnable » et avoir un fond transparent</p>
|
||||
{if $plugin_config.signature != ''}
|
||||
<img id="signature" src="/{$plugin_config.signature}" />
|
||||
{else}
|
||||
<img id="signature" src="{$default_signature}" />
|
||||
{/if}
|
||||
{linkbutton shape="upload" label="Changer de signature" target="_dialog" href="upload.php?p=%s"|args:$path}
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<fieldset>
|
||||
<legend>Autres informations</legend>
|
||||
<dl class="config">
|
||||
<dl class="config">
|
||||
<dt><label>Ville</label></dt>
|
||||
<p>Précède la date sur le formulaire</p>
|
||||
{input type="text" name="ville_asso" source=$plugin.config label="" maxlength=50}
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
{* les champs de nom *}
|
||||
<?php $nbChamps = count($nomChamps); ?>
|
||||
<dl class="config" {if $nbChamps == 1}hidden{/if}>
|
||||
<dt><label>Champs nom et prénom</label></dt>
|
||||
<p>Sélectionnez et classez le(s) champ(s) qui représente(nt) le nom et le prénom du donateur</p>
|
||||
|
||||
<div>
|
||||
{foreach from=$nomChamps key="nom" item="champ"}
|
||||
<div>
|
||||
<input type="checkbox" name="champsNom[]" value={$nom} class="choix" {if $nbChamps == 1 || $champ.position != 0}checked{/if} >
|
||||
<label>{$champ.titre}</label>
|
||||
<div class="actions">
|
||||
</div>
|
||||
</div>
|
||||
{/foreach}
|
||||
</div>
|
||||
</dl>
|
||||
</fieldset>
|
||||
|
||||
<h3 class="warning">N'oubliez pas d'enregistrer, sinon les modifications ne seront pas prises en compte !</h3>
|
||||
|
||||
|
|
@ -98,4 +109,26 @@
|
|||
{csrf_field key="recusfiscaux_config"}
|
||||
{button type="submit" name="save" label="Enregistrer" shape="right" class="main"}
|
||||
</p>
|
||||
</form>
|
||||
</form>
|
||||
|
||||
{literal}
|
||||
<script type="text/javascript">
|
||||
(function() {
|
||||
var lesDivs = document.querySelectorAll('.actions');
|
||||
for (i = 0; i < lesDivs.length; ++i) {
|
||||
var up = document.createElement('a');
|
||||
up.className = 'icn up';
|
||||
up.innerHTML = '↑';
|
||||
up.title = 'Déplacer vers le haut';
|
||||
up.onclick = function(e) {
|
||||
var field = this.parentNode.parentNode;
|
||||
var p = field.previousSibling;
|
||||
while (p != null && p.nodeType == 3) { p = p.previousSibling; }
|
||||
field.parentNode.insertBefore(field, p);
|
||||
return false;
|
||||
};
|
||||
lesDivs[i].appendChild(up);
|
||||
}
|
||||
}());
|
||||
</script>
|
||||
{/literal}
|
||||
|
|
@ -28,7 +28,8 @@
|
|||
Tous les versements des membres font l'objet d'un reçu, sans
|
||||
tenir compte des activités et tarifs
|
||||
</h5>
|
||||
<p>Choisissez cette option si vous voulez sélectionner tous les versements d'une, plusieurs ou toutes les personnes</p>
|
||||
<p>Choisissez cette option si vous voulez sélectionner tous les versements d'une, plusieurs
|
||||
ou toutes les personnes</p>
|
||||
</div>
|
||||
</label>
|
||||
</dd>
|
||||
|
|
@ -44,8 +45,8 @@
|
|||
</h5>
|
||||
<p>Choisissez cette option si vous voulez sélectionner :</p>
|
||||
<ul>
|
||||
<li>certaines activités ou certains tarifs</li>
|
||||
<li>certains versements de certaines personnes</li>
|
||||
<li>certaines activités ou certains tarifs</li>
|
||||
<li>certains versements de certaines personnes</li>
|
||||
</ul>
|
||||
</div>
|
||||
</label>
|
||||
|
|
@ -58,19 +59,20 @@
|
|||
<h2>Choisir le taux de réduction</h2>
|
||||
<fieldset>
|
||||
{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>
|
||||
{else}
|
||||
<h3 class="warning">Vous devez d'abord sélectionner au moins un taux de réduction dans l'onglet de
|
||||
configuration</h3>
|
||||
{/if}
|
||||
{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>
|
||||
{/if}
|
||||
{if $nbTaux > 0 && $nbChamps > 0}
|
||||
{foreach from=$plugin_config->reduction item="reduc"}
|
||||
{if $reduc->valeur == 1}
|
||||
<span class="radio-btn">
|
||||
<input
|
||||
type="radio"
|
||||
id="{$reduc->taux}"
|
||||
name="taux_reduction"
|
||||
value="{$reduc->taux}"
|
||||
{if $nbTaux == 1}checked{/if}
|
||||
/>
|
||||
<label for="{$reduc->taux}">{$reduc->taux}{if $reduc->remarque != ""} - {$reduc->remarque}{/if}</label>
|
||||
<input type="radio" id="{$reduc->taux}" name="taux_reduction" value="{$reduc->taux}"
|
||||
{if $nbTaux == 1}checked{/if} />
|
||||
<label for="{$reduc->taux}">{$reduc->taux}{if $reduc->remarque != ""} - {$reduc->remarque}{/if}</label>
|
||||
</span>
|
||||
{/if}
|
||||
{/foreach}
|
||||
|
|
@ -88,10 +90,13 @@
|
|||
<div id="liste_activites_tarifs" class="activites hidden">
|
||||
<h2>Choisir les activités et tarifs concernés par les reçus ainsi que le taux de réduction</h2>
|
||||
<fieldset>
|
||||
{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>
|
||||
{else}
|
||||
<table class="list">
|
||||
{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>
|
||||
{/if}
|
||||
{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 {/if} {if $nbTaux > 0 && $nbChamps > 0} <table class="list">
|
||||
<thead>
|
||||
<tr>
|
||||
<th>Cocher</th>
|
||||
|
|
@ -103,50 +108,47 @@
|
|||
</thead>
|
||||
<tbody>
|
||||
{foreach from=$activitesTarifsComptes item="activite"}
|
||||
<tr>
|
||||
<td>
|
||||
<tr>
|
||||
<td>
|
||||
{if $nbTarifs == 1}
|
||||
{input
|
||||
{input
|
||||
type="checkbox"
|
||||
name="tarifs[]"
|
||||
value=$activite.idTarif
|
||||
checked="checked"
|
||||
}
|
||||
{else}
|
||||
{input
|
||||
{input
|
||||
type="checkbox"
|
||||
name="tarifs[]"
|
||||
value=$activite.idTarif
|
||||
}
|
||||
{/if}
|
||||
</td>
|
||||
<td>
|
||||
<span>{$activite.titreActivite} - {$activite.titreTarif}</span>
|
||||
</td>
|
||||
<td>
|
||||
</td>
|
||||
<td>
|
||||
<span>{$activite.titreActivite} - {$activite.titreTarif}</span>
|
||||
</td>
|
||||
<td>
|
||||
{foreach from=$plugin_config->reduction item="reduc"}
|
||||
{if $reduc->valeur == 1}
|
||||
<span class="radio-btn">
|
||||
<input
|
||||
type="radio"
|
||||
id="taux_{$reduc->taux}_{$activite.idTarif}"
|
||||
name="taux_reduction_{$activite.idTarif}"
|
||||
value="{$reduc->taux}"
|
||||
{if $nbTarifs > 1}disabled{/if}
|
||||
{if $nbTaux == 1}checked{/if}
|
||||
/>
|
||||
<label for="taux_{$reduc->taux}_{$activite.idTarif}">{$reduc->taux}{if $reduc->remarque != ""} - {$reduc->remarque}{/if}</label>
|
||||
<input type="radio" id="taux_{$reduc->taux}_{$activite.idTarif}"
|
||||
name="taux_reduction_{$activite.idTarif}" value="{$reduc->taux}"
|
||||
{if $nbTarifs > 1}disabled{/if} {if $nbTaux == 1}checked{/if} />
|
||||
<label
|
||||
for="taux_{$reduc->taux}_{$activite.idTarif}">{$reduc->taux}{if $reduc->remarque != ""}
|
||||
- {$reduc->remarque}{/if}</label>
|
||||
</span>
|
||||
{/if}
|
||||
{/foreach}
|
||||
</td>
|
||||
<td>{if $activite.descActivite != ""}{$activite.descActivite} ; {/if}{$activite.descTarif}</td>
|
||||
<td>{$activite.numeroCpt} : {$activite.nomCpt}</td>
|
||||
</tr>
|
||||
</td>
|
||||
<td>{if $activite.descActivite != ""}{$activite.descActivite} ; {/if}{$activite.descTarif}</td>
|
||||
<td>{$activite.numeroCpt} : {$activite.nomCpt}</td>
|
||||
</tr>
|
||||
{/foreach}
|
||||
</tbody>
|
||||
</table>
|
||||
{/if}
|
||||
</table>
|
||||
{/if}
|
||||
</fieldset>
|
||||
</div>
|
||||
|
||||
|
|
@ -161,24 +163,24 @@
|
|||
<script type="text/javascript" src="script.js" defer="defer"></script>
|
||||
{literal}
|
||||
<script type="text/javascript">
|
||||
// activer/désactiver les radios des activités/tarifs
|
||||
for (var laCase of document.querySelectorAll("input[type=checkbox]")) {
|
||||
laCase.addEventListener('change', (evt) => {
|
||||
var idCase = evt.target;
|
||||
// chercher la ligne englobante (<tr>)
|
||||
var ligne = idCase.closest("tr");
|
||||
// itérer sur les radio de cette ligne
|
||||
var lesRadios = ligne.querySelectorAll('input[type=radio]');
|
||||
for (var idRadio of lesRadios) {
|
||||
if (idCase.checked) {
|
||||
idRadio.disabled = '';
|
||||
} else {
|
||||
idRadio.disabled = 'disabled';
|
||||
}
|
||||
// activer/désactiver les radios des activités/tarifs
|
||||
for (var laCase of document.querySelectorAll("input[type=checkbox]")) {
|
||||
laCase.addEventListener('change', (evt) => {
|
||||
var idCase = evt.target;
|
||||
// chercher la ligne englobante (<tr>)
|
||||
var ligne = idCase.closest("tr");
|
||||
// itérer sur les radio de cette ligne
|
||||
var lesRadios = ligne.querySelectorAll('input[type=radio]');
|
||||
for (var idRadio of lesRadios) {
|
||||
if (idCase.checked) {
|
||||
idRadio.disabled = '';
|
||||
} else {
|
||||
idRadio.disabled = 'disabled';
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
}
|
||||
});
|
||||
}
|
||||
</script>
|
||||
{/literal}
|
||||
|
||||
<!-- footer -->
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue