test gestion signature
FossilOrigin-Name: a6b1717eeee8e4c3a852ccd1363d47e4cbe561476fcc0d0eb08a0615b85bcc17
This commit is contained in:
parent
3aa094f4db
commit
f9f59d7454
11
README.md
11
README.md
@ -1,7 +1,7 @@
|
|||||||
# Plugin reçus fiscaux pour Garradin
|
# 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 ).
|
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:
|
## 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.
|
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)
|
- Modification du pied de page des documents (notament pour y inscrire des mentions légales)
|
||||||
- Informations relatives au cerfa pour les reçus fiscaux
|
- Informations relatives au cerfa pour les reçus fiscaux
|
||||||
- Image qui set de signature sur le cerfa
|
- 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
|
|
||||||
|
@ -2,7 +2,7 @@ nom="Reçus fiscaux"
|
|||||||
description="Génération de reçus fiscaux pour les dons des membres"
|
description="Génération de reçus fiscaux pour les dons des membres"
|
||||||
auteur="jce"
|
auteur="jce"
|
||||||
url="https://git.roflcopter.fr/lesanges/recus-fiscaux-garradin"
|
url="https://git.roflcopter.fr/lesanges/recus-fiscaux-garradin"
|
||||||
version="0.1"
|
version="0.4"
|
||||||
menu=1
|
menu=1
|
||||||
config=1
|
config=1
|
||||||
min_version="1.1"
|
min_version="1.1"
|
||||||
|
28
lib/pdf.css
28
lib/pdf.css
@ -1,8 +1,17 @@
|
|||||||
/* organisation spatiale */
|
/* organisation spatiale */
|
||||||
|
|
||||||
|
@page
|
||||||
|
{
|
||||||
|
size: A4 portrait;
|
||||||
|
margin: 1cm;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
body
|
body
|
||||||
{
|
{
|
||||||
width : 21cm;
|
font-family: Serif;
|
||||||
padding : 1cm 1cm;
|
font-size: 11pt;
|
||||||
|
background-color: white;
|
||||||
display: grid;
|
display: grid;
|
||||||
grid-template-areas:
|
grid-template-areas:
|
||||||
'entete'
|
'entete'
|
||||||
@ -25,7 +34,7 @@ body
|
|||||||
background-color: rgb(0, 0, 128);
|
background-color: rgb(0, 0, 128);
|
||||||
border-radius : 50%;
|
border-radius : 50%;
|
||||||
text-align : center;
|
text-align : center;
|
||||||
margin : 0.5em;
|
margin : 2mm;
|
||||||
}
|
}
|
||||||
|
|
||||||
.centre
|
.centre
|
||||||
@ -48,13 +57,14 @@ body
|
|||||||
{
|
{
|
||||||
margin : 0 4cm 0 4cm;
|
margin : 0 4cm 0 4cm;
|
||||||
text-align : center;
|
text-align : center;
|
||||||
font-size : 140%;
|
font-size : 14pt;
|
||||||
font-weight: bold;
|
font-weight: bold;
|
||||||
}
|
}
|
||||||
|
|
||||||
#articles
|
#articles
|
||||||
{
|
{
|
||||||
margin : 0 4cm 0 4cm; /* idem titre */
|
margin : 0 4cm 0 4cm; /* idem titre */
|
||||||
|
text-align : center;
|
||||||
}
|
}
|
||||||
|
|
||||||
#numRecu
|
#numRecu
|
||||||
@ -90,13 +100,13 @@ body
|
|||||||
.rubrique
|
.rubrique
|
||||||
{
|
{
|
||||||
background-color : rgb(200, 200, 250);
|
background-color : rgb(200, 200, 250);
|
||||||
padding : 0.5em;
|
padding : 2mm;
|
||||||
}
|
}
|
||||||
|
|
||||||
.cartouche
|
.cartouche
|
||||||
{
|
{
|
||||||
margin : 0.5em auto;
|
margin : 2mm auto;
|
||||||
padding : 0 0.5em;
|
padding : 0 1mm;
|
||||||
border : 1px solid rgb(0, 0, 128);
|
border : 1px solid rgb(0, 0, 128);
|
||||||
border-radius : 8px;
|
border-radius : 8px;
|
||||||
}
|
}
|
||||||
@ -111,11 +121,11 @@ body
|
|||||||
display: block;
|
display: block;
|
||||||
width : 7cm;
|
width : 7cm;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
padding-bottom : 0.5em;
|
padding-bottom : 2mm;
|
||||||
}
|
}
|
||||||
|
|
||||||
#fonction
|
#fonction
|
||||||
{
|
{
|
||||||
text-align : center;
|
text-align : center;
|
||||||
padding-bottom : 2em;
|
padding-bottom : 0.5cm;
|
||||||
}
|
}
|
||||||
|
@ -11,12 +11,12 @@
|
|||||||
|
|
||||||
{form_errors}
|
{form_errors}
|
||||||
|
|
||||||
<form method="post" action="{$self_url}">
|
<form method="post" action="{$self_url}" enctype="multipart/form-data" data-focus="1">
|
||||||
<fieldset>
|
<fieldset>
|
||||||
<legend>Objet (but) de l'association</legend>
|
<legend>Objet (but) de l'association</legend>
|
||||||
<dl>
|
<dl>
|
||||||
<dt><label>Objet</label><b title="Champ obligatoire">obligatoire</b></dt>
|
<dt><label>Objet</label> <b title="Champ obligatoire">(obligatoire)</b></dt>
|
||||||
{input type="text" name="objet_asso" source=$plugin.config label="" maxlength=300}
|
{input type="text" name="objet_asso" source=$plugin.config label="" required="required" maxlength=300}
|
||||||
</dl>
|
</dl>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
@ -24,7 +24,7 @@
|
|||||||
<legend>Droit à la réduction d'impôt</legend>
|
<legend>Droit à la réduction d'impôt</legend>
|
||||||
<dl>
|
<dl>
|
||||||
<dt><label>Articles concernés par l'association : </label>
|
<dt><label>Articles concernés par l'association : </label>
|
||||||
<b title="Champ obligatoire">obligatoire</b>
|
<b title="Champ obligatoire">(obligatoire)</b>
|
||||||
</dt>
|
</dt>
|
||||||
{foreach from=$plugin_config->articlesCGI key="key" item="article"}
|
{foreach from=$plugin_config->articlesCGI key="key" item="article"}
|
||||||
{*
|
{*
|
||||||
@ -36,6 +36,21 @@
|
|||||||
{/foreach}
|
{/foreach}
|
||||||
</dl>
|
</dl>
|
||||||
</fieldset>
|
</fieldset>
|
||||||
|
|
||||||
|
<fieldset>
|
||||||
|
<legend>Signature du responsable</legend>
|
||||||
|
<dl>
|
||||||
|
{*
|
||||||
|
{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 != ''}
|
||||||
|
<img src="/{$plugin_config.signature}" style="width:300px;" />
|
||||||
|
{/if}
|
||||||
|
{linkbutton shape="upload" label="Changer de signature" target="_dialog" href="upload.php?p=%s"|args:$path}
|
||||||
|
</dl>
|
||||||
|
<p class="help">N'oubliez pas d'enregistrer, sinon la signature ne sera pas prise en compte !</p>
|
||||||
|
</fieldset>
|
||||||
|
|
||||||
<p class="submit">
|
<p class="submit">
|
||||||
{csrf_field key="recusfiscaux_config"}
|
{csrf_field key="recusfiscaux_config"}
|
||||||
{button type="submit" name="save" label="Enregistrer" shape="right" class="main"}
|
{button type="submit" name="save" label="Enregistrer" shape="right" class="main"}
|
||||||
|
@ -1,14 +1,25 @@
|
|||||||
<?php
|
<?php
|
||||||
|
|
||||||
namespace Garradin;
|
namespace Garradin;
|
||||||
|
use Garradin\Files\Files;
|
||||||
|
use Garradin\Entities\Files\File;
|
||||||
|
|
||||||
|
error_log("WWW_URL = " . WWW_URL);
|
||||||
|
|
||||||
$session->requireAccess($session::SECTION_CONFIG, $session::ACCESS_ADMIN);
|
$session->requireAccess($session::SECTION_CONFIG, $session::ACCESS_ADMIN);
|
||||||
$art_sel=f('articlesCGI') ? : [];
|
$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'))
|
if (f('save') && $form->check('recusfiscaux_config'))
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
|
// objet de l'association
|
||||||
$plugin->setConfig('objet_asso', trim(f('objet_asso')));
|
$plugin->setConfig('objet_asso', trim(f('objet_asso')));
|
||||||
|
|
||||||
|
// articles du CGI
|
||||||
$confArticles = $plugin->getConfig('articlesCGI');
|
$confArticles = $plugin->getConfig('articlesCGI');
|
||||||
// effacer l'ancienne configuration
|
// effacer l'ancienne configuration
|
||||||
for ($i = 0; $i < count($confArticles); ++$i) {
|
for ($i = 0; $i < count($confArticles); ++$i) {
|
||||||
@ -19,6 +30,12 @@ if (f('save') && $form->check('recusfiscaux_config'))
|
|||||||
$confArticles[$article]->valeur = 1;
|
$confArticles[$article]->valeur = 1;
|
||||||
}
|
}
|
||||||
$plugin->setConfig("articlesCGI", $confArticles);
|
$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');
|
\Garradin\Utils::redirect(PLUGIN_URL . 'config.php?ok');
|
||||||
}
|
}
|
||||||
catch (UserException $e)
|
catch (UserException $e)
|
||||||
@ -28,6 +45,7 @@ if (f('save') && $form->check('recusfiscaux_config'))
|
|||||||
}
|
}
|
||||||
|
|
||||||
$tpl->assign('ok', qg('ok') !== null);
|
$tpl->assign('ok', qg('ok') !== null);
|
||||||
|
$tpl->assign('path', $path);
|
||||||
$tpl->assign('plugin_config', $plugin->getConfig());
|
$tpl->assign('plugin_config', $plugin->getConfig());
|
||||||
$tpl->assign('plugin_css', ['style.css']);
|
$tpl->assign('plugin_css', ['style.css']);
|
||||||
|
|
||||||
|
@ -19,7 +19,12 @@ foreach ($lesLignes as $ligne) {
|
|||||||
$nomAsso = Utils::getNomAsso();
|
$nomAsso = Utils::getNomAsso();
|
||||||
$adresseAsso = Utils::getAdresseAsso();
|
$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 = [];
|
$listeFichiers = [];
|
||||||
|
|
||||||
foreach ($versementsSelectionnes as $ligne)
|
foreach ($versementsSelectionnes as $ligne)
|
||||||
|
Loading…
Reference in New Issue
Block a user