diff --git a/templates/recu_html.tpl b/templates/recu_html.tpl index 170a47c..e7de081 100644 --- a/templates/recu_html.tpl +++ b/templates/recu_html.tpl @@ -1,5 +1,8 @@ + -{include file="%s/templates/_nav.tpl"|args:$plugin_root current_nav="activite"} +{include file="%s/templates/_nav.tpl"|args:$plugin_root current_nav="%s"|args:$nav} date des versements : + dateMin); + $dmax = date("d/m/Y", $versement->dateMax); + ?> + {if $versement.dateMin == $versement.dateMax} + le {$dmin} + {else} + du {$dmin} au {$dmax} + {/if} +{* + Erreur : dates décalées d'un jour (en arrière) {if $versement.dateMin == $versement.dateMax} le {$versement.dateMin|date_format:"%d/%m/%Y"} {else} du {$versement.dateMin|date_format:"%d/%m/%Y"} au {$versement.dateMax|date_format:"%d/%m/%Y"} {/if} +*} {/foreach} diff --git a/www/admin/versements_activites.php b/www/admin/versements_activites.php index d2fa478..6545123 100644 --- a/www/admin/versements_activites.php +++ b/www/admin/versements_activites.php @@ -9,39 +9,56 @@ use Garradin\Plugin\RecusFiscaux\Utils; // récupérer les infos du formulaire // ------------------------------------------------------------ -// vérifier qu'on a bien sélectionné une activité ou un compe -if (null === f('tarifs') && null === f('comptes')) +// vérifier qu'on a bien sélectionné une activité ou un compte +if (! isset($_SESSION['tauxSelectionnes']) + && + null === f('tarifs') + && + null === f('comptes')) { \Garradin\Utils::redirect(PLUGIN_URL . 'index.php'); } // tarifs sélectionnés -$tarifsSelectionnes = f('tarifs') ?: []; +if (null !== f('tarifs')) { + $tarifsSelectionnes = f('tarifs'); +} else if (! isset($_SESSION['tauxSelectionnes'])) { + $tarifsSelectionnes = []; +} // comptes sélectionnés -$comptesSelectionnes = f('comptes') ?: []; +if (null !== f('comptes')) { + $_SESSION['comptesSelectionnes'] = f('comptes'); +} /* +else if (! isset($_SESSION['tauxSelectionnes'])) { + $_SESSION['comptesSelectionnes'] = []; +} + */ // taux de réduction associés -$tauxSelectionnes = array(); -foreach ($tarifsSelectionnes as $idTarif) +if (isset($tarifsSelectionnes) && isset($_SESSION['comptesSelectionnes'])) { - $nomRadio = "taux_reduction_" . $idTarif; - $valRadio = f("$nomRadio"); - $tauxSelectionnes[$idTarif] = $valRadio; + $tauxSelectionnes = array(); + foreach ($tarifsSelectionnes as $idTarif) + { + $nomRadio = "taux_reduction_" . $idTarif; + $tauxSelectionnes[$idTarif] = f("$nomRadio"); + } + foreach ($_SESSION['comptesSelectionnes'] as $idCompte) + { + $nomRadio = "taux_reduction_" . $idCompte; + $tauxSelectionnes[$idCompte] = f("$nomRadio"); + } + $_SESSION['tauxSelectionnes'] = $tauxSelectionnes; } -foreach ($comptesSelectionnes as $idCompte) -{ - $nomRadio = "taux_reduction_" . $idCompte; - $valRadio = f("$nomRadio"); - $tauxSelectionnes[$idCompte] = $valRadio; -} -$_SESSION['tauxSelectionnes'] = $tauxSelectionnes; -// versements correspondants à la sélection, triés par tarif, nom, compte, date -$lesTarifs = array_map(fn($elem) : string => substr($elem, 0, strpos($elem, '_')), - $tarifsSelectionnes); -$lesComptes = array_map(fn($elem) : string => substr($elem, 1 + strpos($elem, '_')), - $tarifsSelectionnes); +$lesTarifs = array_map(fn($elem) : string => + strpos($elem, '_') !== false ? substr($elem, 0, strpos($elem, '_')) : "", + array_keys($_SESSION['tauxSelectionnes'])); +$lesComptes = array_map(fn($elem) : string => + strpos($elem, '_') !== false ? substr($elem, 1 + strpos($elem, '_')) : "", + array_keys($_SESSION['tauxSelectionnes'])); + $_SESSION['lesVersements'] = Utils::getVersementsTarifsComptes( $_SESSION['annee_recu'], @@ -51,15 +68,15 @@ $_SESSION['lesVersements'] = // ajouter les versements sans tarif (tri par nom, compte, date) $versementsSansTarif = Utils::getVersementsComptes($_SESSION['annee_recu'], - $comptesSelectionnes, + $_SESSION['comptesSelectionnes'], $champsNom); foreach ($versementsSansTarif as $versement) { $_SESSION['lesVersements'][] = $versement; } - // préparation de l'affichage $tpl->assign('lesVersements', $_SESSION['lesVersements']); +$tpl->assign('annee_recu', $_SESSION['annee_recu']); $tpl->assign('plugin_css', ['style.css']); // envoyer au template diff --git a/www/admin/versements_personnes.php b/www/admin/versements_personnes.php index 5a626bd..74e7d95 100644 --- a/www/admin/versements_personnes.php +++ b/www/admin/versements_personnes.php @@ -6,11 +6,16 @@ use Garradin\Plugin\RecusFiscaux\Personne; use Garradin\Plugin\RecusFiscaux\Utils; // vérifier si le taux de réduction a été sélectionné au préalable -$_SESSION['taux_reduction'] = f('taux_reduction'); -if (! isset($_SESSION['taux_reduction']) || $_SESSION['taux_reduction'] == "") +$taux = f('taux_reduction'); +if (! isset($_SESSION['taux_reduction']) + && + null === $taux) { \Garradin\Utils::redirect(PLUGIN_URL . 'index.php'); } +if (null !== $taux) { + $_SESSION['taux_reduction'] = $taux; +} // versements par personne $_SESSION['lesVersements'] = Utils::getVersementsPersonnes( @@ -21,6 +26,7 @@ $_SESSION['lesVersements'] = Utils::getVersementsPersonnes( // préparation de l'affichage $tpl->assign('lesVersements', $_SESSION['lesVersements']); +$tpl->assign('annee_recu', $_SESSION['annee_recu']); $tpl->assign('plugin_css', ['style.css']); // envoyer au template