Compare commits

...

18 commits
0.11 ... master

Author SHA1 Message Date
engel
8b5c08c12d templates/index.tpl : suppression id=menu car problème d'affichage
FossilOrigin-Name: 2a226fb9c4fea0821d48221117af6deb3175d72dcf69204bea4d8689d0efc645
2024-12-04 15:00:49 +00:00
engel
ec0702e48c Allègement barre navigation
FossilOrigin-Name: c189e0f47d7d5d0f6413c7f30d98910802edca75007466ae997826437a92a11b
2024-11-12 14:05:03 +00:00
engel
27168d0f0b Petites améliorations visuelles
FossilOrigin-Name: d49c7da937399712e76d901e1ce5b1cd6e4db96ebe67e642f4449d4bbb2cce77
2024-09-18 07:44:20 +00:00
engel
1dc7969f0d remplacement toAssoc par KD2\DB\SQLite3\getGrouped
FossilOrigin-Name: e62da476e3bd6388bc26fc18ec4c6b6bf1fa56b01b465d3b6c6cad167d4a3447
2024-09-18 07:43:50 +00:00
engel
4fd56bf12d fusion branche evolution : version compatible paheko 1.3
FossilOrigin-Name: 0c32e638c1e3aa705a7b1b4b48ffda7c7decf74bcd4af9f2257edd9e480f08de
2024-08-27 19:10:13 +00:00
engel
e097e0c836 README : modification paragraphe installation
FossilOrigin-Name: c9d74b4a76cb76838a0e7e3b456d251ded54090c69a51bcf3320bc16c7002eea
2024-06-04 16:55:05 +00:00
engel
3f3baa01d9 README : modification paragraphe installation
FossilOrigin-Name: 96560e2526265d2ea32dc016820d872c2f9f19f8c0bb6559d842486e570e6e6a
2024-04-11 10:11:14 +00:00
engel
d8af7ce6e7 Modification présentation
FossilOrigin-Name: 727405e1faf7349a964fc82de60f0708b028808627f5e6fb5b0490506ddcf539
2024-04-11 09:51:09 +00:00
engel
86bc9c8ae1 Correction pour exercice sur 2 années civiles
FossilOrigin-Name: 24d7a87d9007dfb118ffb7a612b9eae155b1f45cb7f05577dc389240b848014d
2024-04-11 09:50:29 +00:00
engel
a5ba3c52ba README : Correction typo
FossilOrigin-Name: 568fc91d4cabd3f1ab09ec9b3ef05fac507a43f84826550bfa1a149576e9c049
2024-04-07 14:19:52 +00:00
engel
83020af56e garradin_plugin.ini : Mise-à-jour URL archive
FossilOrigin-Name: 1d1bde3920e56d9e64dfdb8e019a012c147a8b67dc9434d2219a2b2f8ebbb974
2024-04-04 14:22:28 +00:00
engel
a132bec27d Correction case incorrectement cochée
FossilOrigin-Name: 79c7e1408f18c1b715f2ed79a0567fd71cd78a20d8726a711f2cefbc0c4b7541
2024-01-03 15:35:17 +00:00
engel
977046b657 Mise-à-jour URL archive
FossilOrigin-Name: 82a61bd11076e20bfb1e449445a6f1bf82a1b8d778a645156253af0af28cd6a0
2023-12-30 13:09:18 +00:00
engel
1df94237e6 Simplification squelette des reçus
FossilOrigin-Name: ca826fc06447f073bcb6dd55b5057fe9eacc56b88742be3be6f1ad2a67b42d71
2023-12-23 11:24:34 +00:00
engel
674157c925 ouvrir le squelette des reçus dans un nouvel onglet
FossilOrigin-Name: d9246b62131bccc266ae94801bbb7066c2305cdd4e457c3670c1081b2c639ea6
2023-12-22 10:51:47 +00:00
engel
2b2c2ebcc9 la vraie correction :)
FossilOrigin-Name: c868114044c1e0df9f9c3a75d688644e119246cfae0bea6073d501e5cd8a6d6f
2023-12-22 10:51:18 +00:00
engel
f524ebdc0f correction typo
FossilOrigin-Name: 4837259abc7fc0481a49542515a5f82ef206a8fb04f7c454a5714e5ac197e797
2023-12-22 10:34:47 +00:00
engel
e6470bd2e9 modif accès plugin url
FossilOrigin-Name: 59131604362396ea238eef30a36e4578738c18059d28706cd09dd81d9d2c4328
2023-12-22 10:34:33 +00:00
11 changed files with 816 additions and 805 deletions

View file

@ -4,7 +4,7 @@ Plugin de reçus fiscaux pour le logiciel de gestion d'association [Paheko](http
## Installation
**Attention :** les archives disponibles sur ce dépôt n'ont pas un format compatible avec Paheko et ne peuvent donc être utilisées telles quelles ; il faut soit les transformer pour les rendre compatibles, soit télécharger [cette archive](https://acloud8.zaclys.com/index.php/s/n9daWAND24T2W3e), et la copier dans le dossier plugins de Paheko.
Télécharger la [version la plus récente](https://git.roflcopter.fr/lesanges/recusfiscaux/releases) au format tar.gz, supprimer le numéro de version du nom de l'archive et la copier dans le répertoire data/plugins de Paheko
## Fonctionnalités
- Créer des reçus fiscaux pour les dons des membres

View file

@ -16,10 +16,14 @@ $_GET['_dialog'] = true;
// signature
$signature =
(null !== $plugin->getConfig('signature')) ?
\KD2\HTTP::getScheme() . '://' . \KD2\HTTP::getHost() . WWW_URI . "/" . $plugin->getConfig('signature') :
"";
(null !== $config->fileURL('signature')) ?
$config->fileURL('signature') :
((null !== $plugin->getConfig('signature')) ?
\KD2\HTTP::getScheme() . '://' . \KD2\HTTP::getHost() . WWW_URI . $plugin->getConfig('signature') :
"");
// http://test.paheko.bzh/config/cavalier.png
error_log('signature = ' . $signature);
// logo
$config = Config::getInstance();
$logo_asso =
@ -111,7 +115,8 @@ function genererRecusPDF($totalPersonnes,
$numero_sequentiel = getNumSequentiel($configNum);
foreach ($totalPersonnes as $idPersonne => $personne) {
$tpl = new UserTemplate(null);
$tpl->setSource(PLUGIN_ROOT . '/templates/recu.skel');
/* $tpl->setSource(PLUGIN_ROOT . '/templates/recu.skel'); */
$tpl->setSourcePath(PLUGIN_ROOT . '/templates/recu.skel');
$tpl->assignArray(compact('signature', 'logo_asso', 'texteArticles'));
$tpl->assign('objet_asso', $plugin->getConfig('objet_asso'));

View file

@ -34,5 +34,18 @@ div.previs_recu
font-family: Serif;
font-size: 11pt;
background-color: white;
page-break-after: always;
break-after: always;
}
/* supprimer saut de page après dernier */
div.previs_recu:last-of-type
{
font-family: Serif;
font-size: 11pt;
background-color: white;
break-after: avoid;
}
#__profiler {
display: none;
}

View file

@ -95,3 +95,9 @@ span.titre, span.libelle
{
display : inline;
}
/* Ne pas imprimer le bandeau des boutons du profiler */
#__profiler
{
display: none;
}

View file

@ -22,7 +22,7 @@ class Utils
description,
amount as montant
FROM services_fees');
return Utils::toAssoc($db->get($sql), 'id');
return $db->getGrouped($sql);
}
/**
@ -37,7 +37,7 @@ class Utils
services.label,
services.description
FROM services');
return Utils::toAssoc($db->get($sql), 'id');
return $db->getGrouped($sql);
}
/**
@ -52,6 +52,7 @@ class Utils
$sql = sprintf(
'SELECT
acc_accounts.id,
acc_years.label,
acc_accounts.code as codeCompte,
acc_accounts.label as nomCompte
FROM acc_transactions_users
@ -63,17 +64,19 @@ class Utils
ON acc_transactions_lines.id_transaction = acc_transactions.id
INNER JOIN acc_accounts
ON acc_transactions_lines.id_account = acc_accounts.id
INNER JOIN acc_years
ON acc_transactions.id_year = acc_years.id
WHERE
(strftime("%%Y", acc_transactions.date) = "%d"
AND
acc_accounts.%s
)
GROUP by acc_accounts.code
GROUP by acc_accounts.id
ORDER by acc_accounts.code',
$annee,
$db->where('code', $op, $comptes)
);
return Utils::toAssoc($db->get($sql), 'id');
return $db->getGrouped($sql);
}
/**
@ -117,32 +120,6 @@ class Utils
return $db->get($sql);
}
/**
* faire un tableau associatif avec le résultat d'une requête
*/
static function toAssoc($array, $nomCle)
{
$assoc = array();
foreach ($array as $elem)
{
$ro = new \ReflectionObject($elem);
$proprietes = $ro->getProperties();
$obj = new \stdClass();
foreach ($proprietes as $p)
{
$pname = $p->getName();
if ($pname == $nomCle) {
$key = $p->getValue($elem);
}
else {
$obj->$pname = $p->getValue($elem);
}
}
$assoc[$key] = $obj;
}
return $assoc;
}
/**
* @return versements correspondants à l'année donnée
* @param $annee

View file

@ -5,8 +5,8 @@
<nav class="tabs">
<ul>
<li{if $current_nav == 'index'} class="current"{/if}><a href="{plugin_url}">Accueil</a></li>
<li{if $current_nav == 'personne'} class="current"{/if}><a href="{plugin_url file="action.php?action=personne"}">Versements par personne</a></li>
<li{if $current_nav == 'activite'} class="current"{/if}><a href="{plugin_url file="action.php?action=activite"}">Versements par activité et tarif</a></li>
{if $current_nav == 'personne'} <li class="current"><a>Versements par personne</a></li>{/if}
{if $current_nav == 'activite'} <li class="current"><a>Versements par activité et tarif</a></li>{/if}
{if $session->canAccess($session::SECTION_ACCOUNTING, $session::ACCESS_WRITE)}
<li{if $current_nav == 'config'} class="current"{/if}><a href="{plugin_url file="config.php"}">Configuration</a></li>
{/if}

View file

@ -14,7 +14,7 @@
<fieldset>
{* <legend>Choisir une des méthodes</legend> *}
<dl id="menu">
<dl>
<dd class="radio-btn">
<input type="radio" id="radio_versements_personne" name="choix_versements" value="personne"
onclick="choixMethodeGeneration(this.form, 'personne', 'menu_versements', '.menu');" />
@ -118,7 +118,8 @@
label="Activité « %s » - tarif « %s » ;"|args:$activite.label,$tarif.label
}
{/if}
<span>compte : {$elem.codeCompte} ({$compte->nomCompte})</span>
<span>compte : {$elem.codeCompte} - {$compte->nomCompte}</span>
<span> ({$compte.label})</span>
</div>
<ul class="reduction">
{foreach from=$plugin_config->reduction item="reduc"}
@ -153,7 +154,8 @@
label="Versements non rattachés à une activité ;"
}
<?php $compte = $lesComptes[$idCompte]; ?>
<span>compte : {$compte.codeCompte} ({$compte.nomCompte})</span>
<span>compte : {$compte.codeCompte} - {$compte.nomCompte}</span>
<span> ({$compte.label})</span>
</div>
<ul class="reduction">
{foreach from=$plugin_config->reduction item="reduc"}

View file

@ -1,4 +1,4 @@
{include file="_head.tpl" title="%s"|args:$plugin.name current="plugin_%s"|args:$plugin.id}
{include file="_head.tpl" title="%s"|args:$plugin.label current="plugin_%s"|args:$plugin.id}
<?php
$fmt = new \NumberFormatter('fr_FR', \NumberFormatter::SPELLOUT);

View file

@ -34,6 +34,7 @@
$tarifCourant = $versement->idTarif;
$personneCourante = $versement->idUser;
$compteCourant = $versement->idCompte;
$codeCompte = $versement->codeCompte;
?>
{afficher_debut_tarif versement=$versement}
{afficher_debut_personne user=$personneCourante idVersement="%s_%s"|args:$tarifCourant,$personneCourante}
@ -48,6 +49,7 @@
$tarifCourant = $versement->idTarif;
$personneCourante = $versement->idUser;
$compteCourant = $versement->idCompte;
$codeCompte = $versement->codeCompte;
?>
{afficher_debut_tarif versement=$versement}
{afficher_debut_personne user=$personneCourante idVersement="%s_%s"|args:$tarifCourant,$personneCourante}
@ -60,15 +62,17 @@
$pair = true;
$personneCourante = $versement->idUser;
$compteCourant = $versement->idCompte;
$codeCompte = $versement->codeCompte;
?>
{afficher_debut_personne user=$personneCourante idVersement="%s_%s"|args:$tarifCourant,$personneCourante}
{afficher_debut_compte idCompte=$compteCourant}
{elseif $versement.idCompte != $compteCourant}
{elseif $versement.codeCompte != $codeCompte}
{fin_compte}
{* changement de compte *}
<?php
$pair = true;
$compteCourant = $versement->idCompte;
$codeCompte = $versement->codeCompte;
?>
{afficher_debut_compte idCompte=$compteCourant}
{else}

View file

@ -15,7 +15,7 @@
form="versements_personnes"
formaction="generer_recus.php?type=personne&format=pdf"
onclick="return verifierChoix(this.form)"}
{button type="submit" target="_dialog" label="Imprimer les reçus" shape="print"
{button type="submit" label="Imprimer les reçus" shape="print"
form="versements_personnes"
formaction="generer_recus.php?type=personne&format=print"
onclick="return verifierChoix(this.form)"}
@ -25,12 +25,14 @@
{* Itération sur les personnes *}
{foreach from=$lesVersements key="rang" item="versement"}
{if $rang == 0}
{* 1ère personne *}
<?php
$pair = true;
$personneCourante = $versement->idUser;
$compteCourant = $versement->idCompte;
$codeCompte = $versement->codeCompte;
?>
{afficher_debut_personne user=$personneCourante idVersement=$personneCourante}
{afficher_debut_compte idCompte=$compteCourant}
@ -42,15 +44,17 @@
$pair = true;
$personneCourante = $versement->idUser;
$compteCourant = $versement->idCompte;
$codeCompte = $versement->codeCompte;
?>
{afficher_debut_personne user=$personneCourante idVersement=$personneCourante}
{afficher_debut_compte idCompte=$compteCourant}
{elseif $versement.idCompte != $compteCourant}
{elseif $versement.codeCompte != $codeCompte}
{fin_compte}
{* changement de compte *}
<?php
$pair = true;
$compteCourant = $versement->idCompte;
$codeCompte = $versement->codeCompte;
?>
{afficher_debut_compte idCompte=$compteCourant}
{else}