diff --git a/README.md b/README.md index 8bcd025..ac61002 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # Plugin reçus fiscaux pour Garradin Plugin de reçus fiscaux pour le logiciel de gestion d'association Garradin ( https://garradin.eu/ - https://fossil.kd2.org/garradin ). -Source : https:// +Source : https://git.roflcopter.fr/lesanges/recus-fiscaux-garradin ## Installation: Vous pouvez télécharger l'archive .tar.gz depuis la page des [releases](https://), et la placer directement dans le dossier plugins de Garradin. @@ -19,12 +19,3 @@ Vous pouvez télécharger l'archive .tar.gz depuis la page des [releases](https: - Modification du pied de page des documents (notament pour y inscrire des mentions légales) - Informations relatives au cerfa pour les reçus fiscaux - Image qui set de signature sur le cerfa - -Le plugin nécessite l'extension PHP mbstring. - -## Inclus les bibliothèques suivantes : - -- Composer : - https://getcomposer.org/ - Copyright (c) Nils Adermann, Jordi Boggiano, - Licence: MIT diff --git a/garradin_plugin.ini b/garradin_plugin.ini index 1660303..a32c0bf 100644 --- a/garradin_plugin.ini +++ b/garradin_plugin.ini @@ -2,7 +2,7 @@ nom="Reçus fiscaux" description="Génération de reçus fiscaux pour les dons des membres" auteur="jce" url="https://git.roflcopter.fr/lesanges/recus-fiscaux-garradin" -version="0.1" +version="0.4" menu=1 config=1 min_version="1.1" diff --git a/lib/pdf.css b/lib/pdf.css index a3a92ed..f209409 100644 --- a/lib/pdf.css +++ b/lib/pdf.css @@ -1,8 +1,17 @@ /* organisation spatiale */ + +@page +{ + size: A4 portrait; + margin: 1cm; +} + + body { - width : 21cm; - padding : 1cm 1cm; + font-family: Serif; + font-size: 11pt; + background-color: white; display: grid; grid-template-areas: 'entete' @@ -25,7 +34,7 @@ body background-color: rgb(0, 0, 128); border-radius : 50%; text-align : center; - margin : 0.5em; + margin : 2mm; } .centre @@ -48,13 +57,14 @@ body { margin : 0 4cm 0 4cm; text-align : center; - font-size : 140%; + font-size : 14pt; font-weight: bold; } #articles { margin : 0 4cm 0 4cm; /* idem titre */ + text-align : center; } #numRecu @@ -90,13 +100,13 @@ body .rubrique { background-color : rgb(200, 200, 250); - padding : 0.5em; + padding : 2mm; } .cartouche { - margin : 0.5em auto; - padding : 0 0.5em; + margin : 2mm auto; + padding : 0 1mm; border : 1px solid rgb(0, 0, 128); border-radius : 8px; } @@ -111,11 +121,11 @@ body display: block; width : 7cm; margin: 0 auto; - padding-bottom : 0.5em; + padding-bottom : 2mm; } #fonction { text-align : center; - padding-bottom : 2em; + padding-bottom : 0.5cm; } diff --git a/templates/config.tpl b/templates/config.tpl index 499b494..704e93b 100644 --- a/templates/config.tpl +++ b/templates/config.tpl @@ -11,12 +11,12 @@ {form_errors} -
+
Objet (but) de l'association
-
obligatoire
- {input type="text" name="objet_asso" source=$plugin.config label="" maxlength=300} +
(obligatoire)
+ {input type="text" name="objet_asso" source=$plugin.config label="" required="required" maxlength=300}
@@ -24,7 +24,7 @@ Droit à la réduction d'impôt
- obligatoire + (obligatoire)
{foreach from=$plugin_config->articlesCGI key="key" item="article"} {* @@ -36,6 +36,21 @@ {/foreach}
+ +
+ Signature du responsable +
+{* + {input type="file" label="Signature" name="signature" required="required" help="L'image de la signature doit être au format PNG, d'une taille raisonable et doit être dotée d'un fond transparent" accept="image/*,*.jpeg,*.jpg,*.png,*.gif"} +*} + {if $plugin_config.signature != ''} + + {/if} + {linkbutton shape="upload" label="Changer de signature" target="_dialog" href="upload.php?p=%s"|args:$path} +
+

N'oubliez pas d'enregistrer, sinon la signature ne sera pas prise en compte !

+
+

{csrf_field key="recusfiscaux_config"} {button type="submit" name="save" label="Enregistrer" shape="right" class="main"} diff --git a/www/admin/config.php b/www/admin/config.php index 5fdd667..1d105c0 100644 --- a/www/admin/config.php +++ b/www/admin/config.php @@ -1,14 +1,25 @@ requireAccess($session::SECTION_CONFIG, $session::ACCESS_ADMIN); $art_sel=f('articlesCGI') ? : []; +$path = qg('path') ?: File::CONTEXT_CONFIG; +$context = Files::getContext($path); +$context_ref = Files::getContextRef($path); + if (f('save') && $form->check('recusfiscaux_config')) { try { + // objet de l'association $plugin->setConfig('objet_asso', trim(f('objet_asso'))); + + // articles du CGI $confArticles = $plugin->getConfig('articlesCGI'); // effacer l'ancienne configuration for ($i = 0; $i < count($confArticles); ++$i) { @@ -19,6 +30,12 @@ if (f('save') && $form->check('recusfiscaux_config')) $confArticles[$article]->valeur = 1; } $plugin->setConfig("articlesCGI", $confArticles); + + // signature + if (isset($_SESSION['sig_file'])) { + $plugin->setConfig('signature', $_SESSION['sig_file'][0]->path); + } + \Garradin\Utils::redirect(PLUGIN_URL . 'config.php?ok'); } catch (UserException $e) @@ -28,6 +45,7 @@ if (f('save') && $form->check('recusfiscaux_config')) } $tpl->assign('ok', qg('ok') !== null); +$tpl->assign('path', $path); $tpl->assign('plugin_config', $plugin->getConfig()); $tpl->assign('plugin_css', ['style.css']); diff --git a/www/admin/generer_personnes.php b/www/admin/generer_personnes.php index 15de5f6..2d3a090 100644 --- a/www/admin/generer_personnes.php +++ b/www/admin/generer_personnes.php @@ -19,7 +19,12 @@ foreach ($lesLignes as $ligne) { $nomAsso = Utils::getNomAsso(); $adresseAsso = Utils::getAdresseAsso(); -$signature = PLUGIN_ROOT . "/data/default_signature.png"; +$signature = + (null !== $plugin->getConfig('signature')) ? + WWW_URL . $plugin->getConfig('signature') : + PLUGIN_ROOT . "/data/default_signature.png"; +error_log("GP : signature = " . $signature); + $listeFichiers = []; foreach ($versementsSelectionnes as $ligne)