diff --git a/lib/Activite.php b/lib/Activite.php new file mode 100644 index 0000000..d59c950 --- /dev/null +++ b/lib/Activite.php @@ -0,0 +1,33 @@ +id = $id; + $this->label = $label; + $this->description = $description; + } + + /* + * @return instance de Activite initialisée avec l'objet o + */ + public static function copier($o) + { + return new Activite( + $o->id, + $o->label, + $o->description); + } +} diff --git a/lib/Tarif.php b/lib/Tarif.php new file mode 100644 index 0000000..997b79b --- /dev/null +++ b/lib/Tarif.php @@ -0,0 +1,41 @@ +id = $id; + $this->idActivite = $idActivite; + $this->label = $label; + $this->description = $description; + $this->montant = $montant; + } + + /* + * @return instance de Tarif initialisée avec l'objet o + */ + public static function copier($o) + { + return new Tarif( + $o->id, + $o->idActivite, + $o->label, + $o->description, + $o->montant); + } +} diff --git a/lib/Utils.php b/lib/Utils.php index 0d0bfb2..8e7c9a8 100644 --- a/lib/Utils.php +++ b/lib/Utils.php @@ -7,8 +7,6 @@ use KD2\ZipWriter; class Utils { - // ------------------------------------------------------------ - // test nouvelle organisation /** * @return tarifs demandés * @param array $tarifs @@ -156,60 +154,6 @@ class Utils return $_SESSION['ligneReduction'][$taux]; } - // ------------------------------------------------------------ - - /** - * @return liste des activités - */ - public static function getToutesActivites() - { - return DB::getInstance()->get( - "SELECT - id as idActivite, - label, - description - FROM services - ORDER BY label" - ); - } - - /** - * @return liste des tarifs d'une activité - * @param $activite : identifiant de l'activité - */ - public static function getTarifsActivite($activite) - { - return DB::getInstance()->get( - "SELECT - services_fees.id as idTarif, - services_fees.label as titreTarif, - services_fees.description as descTarif, - services_fees.amount as montantTarif - FROM services_fees - WHERE services_fees.id_service = ?", - $activite - ); - } - - /** - * @return liste de toutes les activités et tarifs - */ - public static function getActivitesEtTarifs() - { - return DB::getInstance()->get( - "SELECT - services.id as idActivite, - services.label as titreActivite, - services.description as descActivite, - services_fees.id as idTarif, - services_fees.label as titreTarif, - services_fees.description as descTarif - FROM services - LEFT JOIN services_fees ON services_fees.id_service = services.id - ORDER BY services.id, services_fees.id" - ); - } - /** * @return liste de toutes les activités, tarifs et comptes associés */ @@ -232,121 +176,6 @@ class Utils ); } - /** - * @return tous les versements de l'année - * @param $annee - */ - public static function getTousLesVersements($annee) - { - $sql = - "SELECT - services.id as idActivite, - services_fees.id as idTarif, - services.label as activite, - services_fees.label as tarif, - services_fees.amount as montant, - acc_transactions_users.id_user as idUser, - acc_transactions_lines.credit as versement, - membres.nom as nom, - membres.adresse as adresse, - membres.ville as ville, - membres.code_postal as codePostal, - membres.email as courriel, - acc_transactions.date, - acc_transactions_users.id_transaction as idTrans - FROM acc_transactions_users - INNER JOIN membres on acc_transactions_users.id_user = membres.id - INNER JOIN acc_transactions on acc_transactions_users.id_transaction = acc_transactions.id - INNER JOIN services_users on acc_transactions_users.id_service_user = services_users.id - INNER JOIN services on services_users.id_service = services.id - INNER JOIN services_fees on services_users.id_fee = services_fees.id - INNER JOIN acc_transactions_lines on acc_transactions_lines.id_transaction = acc_transactions.id - WHERE - (strftime(\"%Y\", acc_transactions.date) = ? - AND - acc_transactions_lines.credit > 0) - ORDER by services.id, services_fees.id, membres.nom, acc_transactions.date"; - return DB::getInstance()->get($sql, $annee); - } - - /** - * @return versements d'une année pour un ensemble de tarifs donnés - * @param $annee - * @param array $lesTarifs - */ - public static function getVersementsActivite($annee, $lesTarifs) - { - $db = DB::getInstance(); - $sql = sprintf( - 'SELECT - services.id as idActivite, - services_fees.id as idTarif, - services.label as activite, - services_fees.label as tarif, - services_fees.amount as montant, - acc_transactions_users.id_user as idUser, - acc_transactions_lines.credit as versement, - membres.nom as nom, - membres.adresse as adresse, - membres.ville as ville, - membres.code_postal as codePostal, - membres.email as courriel, - acc_transactions.date, - acc_transactions_users.id_transaction as idTrans - FROM acc_transactions_users - INNER JOIN membres on acc_transactions_users.id_user = membres.id - INNER JOIN acc_transactions on acc_transactions_users.id_transaction = acc_transactions.id - INNER JOIN services_users on acc_transactions_users.id_service_user = services_users.id - INNER JOIN services on services_users.id_service = services.id - INNER JOIN services_fees on services_users.id_fee = services_fees.id - INNER JOIN acc_transactions_lines on acc_transactions_lines.id_transaction = acc_transactions.id - WHERE - (strftime(%s, acc_transactions.date) = "%d" - AND - services_fees.%s - AND - acc_transactions_lines.credit > 0) - ORDER by membres.nom, acc_transactions.date', - '"%Y"', - $annee, - $db->where('id', $lesTarifs)); - return $db->get($sql); - } - - /** - * Versements totaux par personne pour une année donnée - * @param année - */ - public static function getVersementsTotaux_old($annee) { - $sql = - "SELECT - acc_transactions_users.id_user as idUser, - membres.nom as nom, - sum(acc_transactions_lines.credit) AS montant, - membres.adresse as adresse, - membres.code_postal as codePostal, - membres.ville as ville - FROM - acc_transactions_users, - membres, - acc_transactions - INNER JOIN acc_transactions_lines - ON acc_transactions_lines.id_transaction = acc_transactions.id - WHERE ( - strftime('%Y', acc_transactions.date) = ? - AND - acc_transactions_lines.credit > 0 - AND - acc_transactions_users.id_transaction = acc_transactions.id - AND - acc_transactions_users.id_user = membres.id - ) - GROUP by acc_transactions_users.id_user - ORDER by membres.nom COLLATE U_NOCASE; - "; - return DB::getInstance()->get($sql, $annee); - } - /** * @return nom de l'association */ @@ -385,14 +214,6 @@ class Utils return $anneesFiscales; } - /** TODO - * générer les reçus - * @param tableau des versements par personne - */ - static function genererRecus() { - - } - /** * enregistrer les fichiers dans une archive zip * @param $fileList : liste des fichiers à archiver diff --git a/templates/config.tpl b/templates/config.tpl index fef9049..499b494 100644 --- a/templates/config.tpl +++ b/templates/config.tpl @@ -27,7 +27,8 @@ obligatoire {foreach from=$plugin_config->articlesCGI key="key" item="article"} -{* {input : checked ne fonctionne pas si l'attribut name est un tableau... +{* + À VÉRIFIER : {input : checked ne fonctionne pas si l'attribut name est un tableau... {input type="checkbox" name="articlesCGI[]" value=$key label=$article.titre} *} - {*

Si vous ne savez pas quel taux de réduction utiliser, n'en choisissez aucun

*} diff --git a/www/admin/index.php b/www/admin/index.php index e4d20dd..ff7ca3d 100644 --- a/www/admin/index.php +++ b/www/admin/index.php @@ -17,9 +17,6 @@ $_SESSION['ligneReduction'] = Utils::getLignesReduction($plugin->getConfig('redu // liste des activités, cotisations et comptes associés $activitesTarifsComptes = Utils::getActivitesTarifsEtComptes(); -// actions -//lesActions = [ 'versements_personnes.php', 'versements_activites.php' ]; - // préparation de l'affichage $tpl->assign('anneesFiscales', $anneesFiscales); $tpl->assign('anneeCourante', $anneeCourante); diff --git a/www/admin/script.js b/www/admin/script.js index 4c18d31..04b177e 100644 --- a/www/admin/script.js +++ b/www/admin/script.js @@ -178,43 +178,3 @@ function verifierRadio(idElem) alert("Erreur : il faut sélectionner un taux de réduction"); return false; } - -// inutilisé -function activerDesactiverRadio(evt) -{ - var idCase = evt.target; - // checher la ligne englobante ( ) - var ligne = idCase.closest("tr"); - // itérer sur les radio de cette ligne - var lesRadios = ligne.querySelectorAll('input[type=radio]'); - for (var idRadio of lesRadios) { - if (idCase.checked) { - idRadio.disabled = ''; - } else { - idRadio.disabled = 'disabled'; - } - } -} - -/** - * Associer un écouteur à la première case à cocher de chaque table - * @remarks : n'est plus utile - */ -function activerListener() -{ - // parcourir les tables - const lesTables = document.querySelectorAll("table.list"); - for (let i = 0; i < lesTables.length; ++i) { - // vérifier si c'est l'une des tables qui nous intéresse - // l'id est du genre : versements_xx où xx est un entier - const id = lesTables[i].id; - const re = /^versements_[0-9]+/; - console.log("id = " + id + " => " + re.test(id)); - if (re.test(id)) { - // chercher le premier élément input - const premierInput = lesTables[i].querySelector("input"); - // associer un écouteur à la première case à cocher - premierInput.addEventListener('change', cocherDecocher); - } - } -} diff --git a/www/admin/style.css b/www/admin/style.css index 39b958a..605b741 100644 --- a/www/admin/style.css +++ b/www/admin/style.css @@ -7,7 +7,7 @@ div.impair { padding : 0.1em; } fieldset { - border:2px solid brown; + border:1px solid brown; -webkit-border-radius:8px; border-radius:8px; } diff --git a/www/admin/versements_activites.php b/www/admin/versements_activites.php index 4f263c1..2393f90 100644 --- a/www/admin/versements_activites.php +++ b/www/admin/versements_activites.php @@ -2,9 +2,7 @@ namespace Garradin; -use Garradin\Plugin\RecusFiscaux\Activite; use Garradin\Plugin\RecusFiscaux\Personne; -use Garradin\Plugin\RecusFiscaux\Tarif; use Garradin\Plugin\RecusFiscaux\Utils; // vérifier si l'année a bien été sélectionnée au préalable