recusfiscaux/templates/config.tpl
engel 979b1f4164 modification mineures
FossilOrigin-Name: 4bbfe37468c90399ec476598d27d328876db01f0c1d710556f3ab36a95c6f172
2023-10-04 12:34:48 +00:00

210 lines
8.5 KiB
Smarty

<!-- nav bar -->
{include file="%s/templates/_nav.tpl"|args:$plugin_root current_nav="config"}
{form_errors}
<h2>Configuration</h2>
{if isset($_GET['ok'])}
<p class="block confirm">
La configuration a bien été enregistrée.
</p>
{/if}
<form method="post" action="{$self_url}" enctype="multipart/form-data">
<fieldset>
<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="100" rows="3" maxlength=300}
</dl>
<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'association)</b>
</dt>
<div id="articles_cgi">
{foreach from=$plugin_config->articlesCGI key="key" item="article"}
{*
À 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 class="article">
<input type="checkbox" name="articlesCGI[]" id="article_{$key}" value="{$key}" class="choix"
{if $article.valeur == 1}checked{/if} />
<label for="article_{$key}">Article {$article.titre}</label>
</div>
{/foreach}
</div>
</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'association)</b>
</dt>
<div id="taux_reduction">
{foreach from=$plugin_config->reduction key="key" item="taux"}
<input type="checkbox" name="tauxReduction[]" id="taux_{$key}" value="{$key}" class="choix"
{if $taux.valeur == 1}checked{/if} />
<label for="taux_{$key}">Taux {$taux.taux}, ligne {$taux.ligne} de la déclaration
{if $taux.remarque !== ""}({$taux.remarque})</label>{/if}
{/foreach}
</div>
</dl>
</fieldset>
<fieldset>
<legend>Nom, fonction et signature du responsable</legend>
<div id="config_nom_fonction">
{* Nom du responsable *}
<dl class="config">
{input type="text" name="nom_responsable" source=$plugin.config label="Nom" help="du responsable" required=true maxlength=50}
</dl>
{* Fonction du responsable *}
<dl class="config">
{input type="text" name="fonction_responsable" source=$plugin.config label="Fonction" help="du responsable" maxlength=50}
</dl>
{* Ville avant signature *}
<dl class="config">
{input type="text" name="ville_asso" source=$plugin.config label="Ville" help="précède la date sur le formulaire" maxlength=50}
</dl>
</div>
{* Signature *}
<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}
</dl>
</fieldset>
{* Numérotation des reçus *}
<fieldset>
<legend>Numérotation des reçus</legend>
<details>
<summary class="help block">
Sélectionner les éléments qui doivent faire partie du numéro de reçu
</summary>
<div class="help block">
<ul>
<li>Préfixe : texte qui sera imprimé tel quel au début du numéro (ex : sigle de l'association) ;
facultatif</li>
<li>Année fiscale : numéro de l'année fiscale (ex : 2022) ; facultatif</li>
<ul>
Sélectionner au moins un des deux numéros suivants
<li>Numéro de membre</li>
<li>Numéro séquentiel (1, 2, ...) : numéro d'ordre du reçu</li>
</ul>
<li>Valeur initiale : si vous avez choisi un numéro séquentiel, indiquez le numéro du premier reçu
</li>
</ul>
</div>
</details>
<div id="numero_recus">
{* Préfixe *}
<dl class="config">
{input type="text" name="prefixe" source=$numerotation label="Préfixe" maxlength=20}
</dl>
{* Autres éléments de la numérotation *}
<dl class="config">
{input type="checkbox" name="annee" source=$numerotation label="Année fiscale" value=1}
</dl>
<dl class="config">
{input type="checkbox" name="membre" source=$numerotation label="N° de membre" value=1}
</dl>
<dl class="config">
{input type="checkbox" name="sequentiel" source=$numerotation label="N° séquentiel" value=1}
</dl>
<dl class="config">
{input type="number" name="valeur_init" source=$numerotation label="Valeur initiale"}
</dl>
</div>
</fieldset>
<fieldset>
<legend>Autres informations</legend>
{* Adresse de courriel *}
<div id="courriel">
<dl class="config">
<dt><label>Adresse de courriel</label></dt>
{if $plugin.config.imprimerCourriel}
{input type="checkbox" name="imprimerCourriel" value="1" checked="checked" label="Imprimer" help="Cocher pour imprimer l'adresse de courriel des membres sur les reçus"}
{else}
{input type="checkbox" name="imprimerCourriel" value="1" label="Imprimer" help="Cocher pour imprimer l'adresse de courriel des membres sur les reçus"}
{/if}
</dl>
</div>
{* les champs de nom *}
<?php $nbChamps = count($champsNom); ?>
<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=$champsNom key="nom" item="champ"}
<div class="champnom">
<div class="actions"></div>
<div class="infos">
<input type="checkbox" name="champsNom[]" id="champ_{$nom}" value={$nom} class="choix"
{if $nbChamps == 1 || $champ.position != 0}checked{/if} />
<label for="champ_{$nom}">{$champ.titre}</label>
</div>
</div>
{/foreach}
</div>
</dl>
</fieldset>
<h3 class="warning">N'oubliez pas d'enregistrer, sinon les modifications ne seront pas prises en compte !</h3>
<p class="submit">
{csrf_field key=$csrf_key}
{button type="submit" name="save" label="Enregistrer" shape="right" class="main" onclick="return verifierConfig(articles_cgi, taux_reduction)"}
</p>
</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 = 'up icn-btn';
up.innerHTML = '&uarr;';
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}
{* scripts divers *}
<script src="script.js"></script>