Début restructuration pour compatibilité version 1.3 de paheko
FossilOrigin-Name: 467790c5738a867592117ea6b3a7ac6c61738dab3b8e29a48fed8f19b9df2b38
This commit is contained in:
parent
e75c56b736
commit
bc4739877c
|
@ -1,10 +1,10 @@
|
|||
# Plugin reçus fiscaux pour Garradin/Paheko
|
||||
# Plugin reçus fiscaux pour Paheko
|
||||
|
||||
Plugin de reçus fiscaux pour le logiciel de gestion d'association [Garradin/Paheko](https://paheko.cloud).
|
||||
Plugin de reçus fiscaux pour le logiciel de gestion d'association [Paheko](https://paheko.cloud).
|
||||
|
||||
## Installation
|
||||
|
||||
**Attention :** les archives disponibles sur ce gitlab n'ont pas un format compatible avec Garradin/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://ncloud6.zaclys.com/index.php/s/RZQK2So8HemkH3w), et la copier dans le dossier plugins de Garradin/Paheko.
|
||||
**Attention :** les archives disponibles sur ce gitlab 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://ncloud6.zaclys.com/index.php/s/RZQK2So8HemkH3w), et la copier dans le dossier plugins de Paheko.
|
||||
|
||||
## Fonctionnalités
|
||||
- Créer des reçus fiscaux pour les dons des membres
|
||||
|
|
|
@ -97,6 +97,9 @@ function genererRecusPDF($totalPersonnes,
|
|||
$libelles_taux
|
||||
)
|
||||
{
|
||||
// <TEST>
|
||||
$fichierHTML = sprintf('%s/print-%s.html', CACHE_ROOT, md5(random_bytes(16)));
|
||||
// </TEST>
|
||||
$listeFichiersPDF = array();
|
||||
$fmt = new \NumberFormatter('fr_FR', \NumberFormatter::SPELLOUT);
|
||||
$prefixeNum = getNumPrefixe($configNum);
|
||||
|
@ -163,21 +166,43 @@ function genererRecusPDF($totalPersonnes,
|
|||
}
|
||||
);
|
||||
|
||||
// <TEST>
|
||||
// récupérer les reçus au format html
|
||||
$recuHTML = $tpl->fetch();
|
||||
// enregistrer dans le fichier
|
||||
file_put_contents($fichierHTML, $recuHTML, FILE_APPEND);
|
||||
// </TEST>
|
||||
|
||||
// fabriquer le fichier PDF
|
||||
genererPDF($tpl->fetch(), $personne->nomPrenom, $listeFichiersPDF);
|
||||
}
|
||||
|
||||
// faire une archive zip
|
||||
$fichierZip = Utils::makeArchive(
|
||||
$listeFichiersPDF,
|
||||
$_SESSION['annee_recu'],
|
||||
PLUGIN_ROOT . "/zip"
|
||||
);
|
||||
// afficher dans un dialog
|
||||
//marche pas
|
||||
// printf('
|
||||
// <dialog id="dialog" open="" style="" class="loaded">
|
||||
// <button class="icn-btn closeBtn" data-icon="✘" type="button">Fermer
|
||||
// </button>
|
||||
// <iframe src="%s" name="dialog" id="frameDialog" scrolling="yes" data-height="%s" style="height: %s;" width="0" height="0">
|
||||
// </iframe>
|
||||
// </dialog>
|
||||
// ', $fichierHTML, "90%", "90%");
|
||||
|
||||
//supprimer les fichiers pdf (utile ?)
|
||||
foreach ($listeFichiersPDF as $f) {
|
||||
// Utils::safe_unlink($f);
|
||||
}
|
||||
// affiche une page vide
|
||||
// $link = "<script>window.open('$fichierHTML', '_blank')</script>";
|
||||
// echo $link;
|
||||
|
||||
// faire une archive zip
|
||||
// $fichierZip = Utils::makeArchive(
|
||||
// $listeFichiersPDF,
|
||||
// $_SESSION['annee_recu'],
|
||||
// PLUGIN_ROOT . "/zip"
|
||||
// );
|
||||
|
||||
//supprimer les fichiers pdf
|
||||
// foreach ($listeFichiersPDF as $f) {
|
||||
// \Garradin\Utils::safe_unlink($f);
|
||||
// }
|
||||
} // genererRecusPDF
|
||||
|
||||
function generererRecusHTML($tpl,
|
||||
|
@ -298,6 +323,7 @@ function cumulerVersementsTarif($versements)
|
|||
$dateMax = -1;
|
||||
$totalVersements = 0;
|
||||
foreach ($versements as $ligne) {
|
||||
error_log("\nligne=" . print_r($ligne, true));
|
||||
if (
|
||||
$ligne->idTarif != $idTarifCourant ||
|
||||
$ligne->idUser != $idPersonneCourant ||
|
|
@ -25,10 +25,11 @@ if (null !== f('tarifs')) {
|
|||
} else if (! isset($_SESSION['tauxSelectionnes'])) {
|
||||
$tarifsSelectionnes = [];
|
||||
}
|
||||
|
||||
error_log("\ntarifsSelectionnes=" . print_r($tarifsSelectionnes, true));
|
||||
// comptes sélectionnés
|
||||
if (null !== f('comptes')) {
|
||||
$_SESSION['comptesSelectionnes'] = f('comptes');
|
||||
error_log("\ncomptesSelectionnes=" . print_r($_SESSION['comptesSelectionnes'], true));
|
||||
} /*
|
||||
else if (! isset($_SESSION['tauxSelectionnes'])) {
|
||||
$_SESSION['comptesSelectionnes'] = [];
|
||||
|
@ -71,6 +72,7 @@ if (count($lesTarifs) != 0)
|
|||
$lesTarifs,
|
||||
$lesComptes,
|
||||
$champsNom);
|
||||
error_log("lesVersements=" . print_r($_SESSION['lesVersements'], true));
|
||||
}
|
||||
|
||||
// ajouter les versements sans tarif (tri par nom, compte, date)
|
||||
|
@ -84,6 +86,8 @@ if (isset($_SESSION['comptesSelectionnes']))
|
|||
$_SESSION['lesVersements'][] = $versement;
|
||||
}
|
||||
}
|
||||
error_log("lesVersements=" . print_r($_SESSION['lesVersements'], true));
|
||||
|
||||
// préparation de l'affichage
|
||||
$tpl->assign('lesVersements', $_SESSION['lesVersements']);
|
||||
$tpl->assign('annee_recu', $_SESSION['annee_recu']);
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
namespace Garradin;
|
||||
use Garradin\Entities\Files\File;
|
||||
namespace Paheko;
|
||||
use Paheko\Entities\Files\File;
|
||||
|
||||
// « signature » par défaut à remplacer (voir l'onglet de configuration)
|
||||
$path = __DIR__ . '/data/default_signature.png';
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
namespace Garradin\Plugin\RecusFiscaux;
|
||||
namespace Paheko\Plugin\RecusFiscaux;
|
||||
|
||||
/**
|
||||
* rassembler les infos d'une personne
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?php
|
||||
|
||||
namespace Garradin\Plugin\RecusFiscaux;
|
||||
namespace Paheko\Plugin\RecusFiscaux;
|
||||
|
||||
use Garradin\DB;
|
||||
use Paheko\DB;
|
||||
use KD2\ZipWriter;
|
||||
|
||||
class Utils
|
||||
|
@ -229,6 +229,7 @@ class Utils
|
|||
$condition,
|
||||
$tri
|
||||
);
|
||||
error_log("\ngetVersementsTarifsComptes : sql=" . $sql);
|
||||
return $db->get($sql);
|
||||
}
|
||||
|
||||
|
@ -417,7 +418,7 @@ class Utils
|
|||
/**
|
||||
* récupérer dans la config du plugin les champs des membres
|
||||
* utilisés pour le nom et le prénom ; ajouter/supprimer les
|
||||
* modifications par rapport à la config garradin
|
||||
* modifications par rapport à la config paheko
|
||||
* @return array tableau des champs : clé = nom, valeur = { titre, position }
|
||||
*/
|
||||
public static function getChampsNom($config, $plugin) : array
|
||||
|
@ -426,11 +427,11 @@ class Utils
|
|||
// pour le nom et le prénom (le tableau est vide si pas mémorisé)
|
||||
$champsNom = (array) $plugin->getConfig('champsNom');
|
||||
|
||||
// récupérer dans la config Garradin les champs des membres
|
||||
// récupérer dans la config Paheko les champs des membres
|
||||
// utilisés pour le nom et le préno
|
||||
$champsGarradin = $config->get('champs_membres')->listAssocNames();
|
||||
$champsPaheko = $config->get('champs_membres')->listAssocNames();
|
||||
|
||||
foreach ($champsGarradin as $name => $title)
|
||||
foreach ($champsPaheko as $name => $title)
|
||||
{
|
||||
if (stristr($title, 'nom'))
|
||||
{
|
||||
|
@ -447,10 +448,10 @@ class Utils
|
|||
}
|
||||
}
|
||||
// opération symétrique : un champ mémorisé dans la config du
|
||||
// plugin a-t-il disparu de la config garradin ?
|
||||
// plugin a-t-il disparu de la config paheko ?
|
||||
foreach ($champsNom as $nom => $champ)
|
||||
{
|
||||
if (! array_key_exists($nom, $champsGarradin))
|
||||
if (! array_key_exists($nom, $champsPaheko))
|
||||
{
|
||||
// absent => le supprimer
|
||||
unset($champsNom[$nom]);
|
||||
|
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
|
||||
namespace Garradin\Plugin\RecusFiscaux;
|
||||
namespace Paheko\Plugin\RecusFiscaux;
|
||||
|
||||
class Versement
|
||||
{
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
nom="Reçus fiscaux"
|
||||
name="Reçus fiscaux"
|
||||
description="Génération de reçus fiscaux pour les dons des membres"
|
||||
auteur="jce"
|
||||
author="Jean-Christophe Engel"
|
||||
url="https://ncloud6.zaclys.com/index.php/s/RZQK2So8HemkH3w"
|
||||
version="0.9"
|
||||
version="0.10"
|
||||
menu=1
|
||||
config=1
|
||||
min_version="1.1.23"
|
||||
min_version="1.3"
|
|
@ -1,5 +1,5 @@
|
|||
<!-- title -->
|
||||
{include file="admin/_head.tpl" title="%s"|args:$plugin.nom current="plugin_%s"|args:$plugin.id}
|
||||
{include file="_head.tpl" title="%s"|args:$plugin.nom current="plugin_%s"|args:$plugin.id}
|
||||
|
||||
<!-- nav bar -->
|
||||
<nav class="tabs">
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
{include file="admin/_head.tpl" title="Changer d'année fiscale"}
|
||||
{include file="_head.tpl" title="Changer d'année fiscale"}
|
||||
|
||||
<form method="post" action="{$self_url}" data-focus="1">
|
||||
<fieldset>
|
||||
|
@ -17,4 +17,4 @@
|
|||
</p>
|
||||
</form>
|
||||
|
||||
{include file="admin/_foot.tpl"}
|
||||
{include file="_foot.tpl"}
|
|
@ -212,4 +212,4 @@
|
|||
{/literal}
|
||||
|
||||
<!-- footer -->
|
||||
{include file="admin/_foot.tpl"}
|
||||
{include file="_foot.tpl"}
|
|
@ -140,4 +140,4 @@ document.addEventListener('DOMContentLoaded',
|
|||
{/literal}
|
||||
|
||||
<!-- footer -->
|
||||
{include file="admin/_foot.tpl"}
|
||||
{include file="_foot.tpl"}
|
|
@ -1,4 +1,4 @@
|
|||
{include file="admin/_head.tpl" title="Envoi de fichier"}
|
||||
{include file="_head.tpl" title="Envoi de fichier"}
|
||||
|
||||
{form_errors}
|
||||
|
||||
|
@ -15,4 +15,4 @@
|
|||
</fieldset>
|
||||
</form>
|
||||
|
||||
{include file="admin/_foot.tpl"}
|
||||
{include file="_foot.tpl"}
|
||||
|
|
|
@ -86,4 +86,4 @@
|
|||
<script src="script.js"></script>
|
||||
|
||||
<!-- footer -->
|
||||
{include file="admin/_foot.tpl"}
|
||||
{include file="_foot.tpl"}
|
|
@ -67,4 +67,4 @@
|
|||
<script src="script.js"></script>
|
||||
|
||||
<!-- footer -->
|
||||
{include file="admin/_foot.tpl"}
|
||||
{include file="_foot.tpl"}
|
|
@ -1,11 +1,11 @@
|
|||
<?php
|
||||
namespace Garradin;
|
||||
use Garradin\Entities\Files\File;
|
||||
namespace Paheko;
|
||||
use Paheko\Entities\Files\File;
|
||||
|
||||
// supprimer les fichiers créés
|
||||
|
||||
// signature par défaut
|
||||
$default_signature_file = \Garradin\Files\Files::get('skel/plugin/recusfiscaux/default_signature.png');
|
||||
$default_signature_file = \Paheko\Files\Files::get('skel/plugin/recusfiscaux/default_signature.png');
|
||||
if (null !== $default_signature_file) {
|
||||
$default_signature_file->delete();
|
||||
}
|
||||
|
@ -13,7 +13,7 @@ if (null !== $default_signature_file) {
|
|||
// signature réelle
|
||||
$signature = $plugin->getConfig('signature');
|
||||
if (null !== $signature) {
|
||||
$sig_file = \Garradin\Files\Files::get($signature);
|
||||
$sig_file = \Paheko\Files\Files::get($signature);
|
||||
if (null !== $sig_file) {
|
||||
$sig_file->delete();
|
||||
}
|
||||
|
|
|
@ -1,8 +1,8 @@
|
|||
<?php
|
||||
|
||||
namespace Garradin;
|
||||
namespace Paheko;
|
||||
|
||||
use Garradin\Entities\Files\File;
|
||||
use Paheko\Entities\Files\File;
|
||||
|
||||
$old_version = $plugin->getInfos('version');
|
||||
|
||||
|
|
Loading…
Reference in New Issue