Changement gestion choix année fiscale

FossilOrigin-Name: d6a1c29317cfa870514efff87598a508738ef9d089e52c9b75b0e3e5477a73c9
This commit is contained in:
engel 2022-04-29 09:01:15 +00:00
parent 7d2707eddd
commit 7ca41ea6b7
5 changed files with 90 additions and 23 deletions

20
templates/choix_annee.tpl Normal file
View File

@ -0,0 +1,20 @@
{include file="admin/_head.tpl" title="Changer d'année fiscale"}
<form method="post" action="{$self_url}" data-focus="1">
<fieldset>
<legend>Changer l'année fiscale des reçus</legend>
<select id="annee_recu" name="annee_recu">
{foreach from=$anneesFiscales item="annee"}
<option value="{$annee}" {if $annee == $annee_recu} selected{/if}>{$annee}
</option>
{/foreach}
</select>
</fieldset>
<p class="submit">
{csrf_field key="acc_select_year"}
<input type="hidden" name="from" value="{$from}" />
{button type="submit" name="change" label="Changer" shape="right" class="main"}
</p>
</form>
{include file="admin/_foot.tpl"}

View File

@ -1,17 +1,14 @@
<!-- nav bar --> <!-- nav bar -->
{include file="%s/templates/_nav.tpl"|args:$plugin_root current_nav="index"} {include file="%s/templates/_nav.tpl"|args:$plugin_root current_nav="index"}
<h2>Choisir l'année fiscale</h2> <?php $url = PLUGIN_URL ?>
<nav class="acc-year">
<h4>Année fiscale sélectionnée&nbsp;:</h4>
<h3>{$annee_recu}</h3>
<footer>{linkbutton label="Changer d'année fiscale" href="$url/choix_annee.php?from=%s"|args:rawurlencode($self_url) shape="settings"}</footer>
</nav>
<form id="formulaire_saisie" method="post" action="action.php"> <form id="formulaire_saisie" method="post" action="action.php">
<fieldset>
{* <legend>Choisir l'année fiscale</legend> *}
<select id="annee_recu" name="annee_recu">
{foreach from=$anneesFiscales item="annee"}
<option value="{$annee}" {if $annee == $anneeCourante - 1} selected{/if}>{$annee}
</option>
{/foreach}
</select>
</fieldset>
<div id="choix_methode"> <div id="choix_methode">
<h2>Choisir une méthode de génération des reçus</h2> <h2>Choisir une méthode de génération des reçus</h2>

View File

@ -8,12 +8,6 @@ use Garradin\Plugin\RecusFiscaux\Utils;
// opérations communes // opérations communes
// ------------------------------------------------------------------------ // ------------------------------------------------------------------------
// vérifier si l'année a bien été sélectionnée au préalable
$_SESSION['annee_recu'] = f('annee_recu');
if (! isset($_SESSION['annee_recu']) || $_SESSION['annee_recu'] == "") {
\Garradin\Utils::redirect(PLUGIN_URL . 'index.php');
}
// champs pour le nom et prénom // champs pour le nom et prénom
$confNoms = Utils::getChampsNom($config, $plugin); $confNoms = Utils::getChampsNom($config, $plugin);
uasort($confNoms, function ($a, $b) uasort($confNoms, function ($a, $b)
@ -30,6 +24,37 @@ foreach ($confNoms as $nom => $champ)
$_SESSION['membresDonateurs'] = Utils::getDonateurs($_SESSION['annee_recu'], $_SESSION['membresDonateurs'] = Utils::getDonateurs($_SESSION['annee_recu'],
$champsNom); $champsNom);
// comparaison de lignes de versements
// comparer 2 lignes selon le nom
function comparerNoms($ligne1, $ligne2)
{
return
$_SESSION['membresDonateurs'][$ligne1->idUser]->rang
-
$_SESSION['membresDonateurs'][$ligne2->idUser]->rang;
}
// comparer 2 activités par leur libellé
function comparerActivites($ligne1, $ligne2)
{
return strcoll(
$_SESSION['lesActivites'][$_SESSION['lesTarifs'][$ligne1->idTarif]->idActivite]->label,
$_SESSION['lesActivites'][$_SESSION['lesTarifs'][$ligne2->idTarif]->idActivite]->label);
}
// comparer 2 lignes selon la date
function comparerDate($ligne1, $ligne2)
{
return
strtotime($ligne1->date) - strtotime($ligne2->date);
}
// comparer 2 lignes selon un champ numérique entier
function comparerChamp($ligne1, $ligne2, $champ)
{
return $ligne1->$champ - $ligne2->$champ;
}
// ------------------------------------------------------------------------ // ------------------------------------------------------------------------
// fonctions pour l'affichage // fonctions pour l'affichage
// ------------------------------------------------------------------------ // ------------------------------------------------------------------------
@ -123,6 +148,9 @@ $tpl->register_function('afficher_versement', function ($params)
$out .= sprintf(' $out .= sprintf('
<span>%s</span>', <span>%s</span>',
date_format(date_create($versement->date),"d/m/Y")); date_format(date_create($versement->date),"d/m/Y"));
$out .= sprintf('
<span>%s</span>',
$versement->compte);
$out .= sprintf(' $out .= sprintf('
</label> </label>
</div>' </div>'

24
www/admin/choix_annee.php Normal file
View File

@ -0,0 +1,24 @@
<?php
namespace Garradin;
use Garradin\Plugin\RecusFiscaux\Utils;
// liste des années fiscales
$anneeCourante = date("Y");
$anneesFiscales = Utils::getAnneesFiscales();
if ($anneesFiscales[0] < $anneeCourante) {
array_unshift($anneesFiscales, $anneeCourante);
}
if (f('change'))
{
$_SESSION['annee_recu'] = f('annee_recu');
\Garradin\Utils::redirect(f('from') ?: PLUGIN_URL);
}
$tpl->assign('anneesFiscales', $anneesFiscales);
$tpl->assign('annee_recu', $_SESSION['annee_recu']);
$tpl->assign('from', qg('from'));
$tpl->display(PLUGIN_ROOT . '/templates/choix_annee.tpl');

View File

@ -4,11 +4,10 @@ namespace Garradin;
use Garradin\Plugin\RecusFiscaux\Utils; use Garradin\Plugin\RecusFiscaux\Utils;
// première année d'exercice // Année fiscale par défaut
$anneeCourante = date("Y"); if (! isset($_SESSION['annee_recu']) || $_SESSION['annee_recu'] == "")
$anneesFiscales = Utils::getAnneesFiscales(); {
if ($anneesFiscales[0] < $anneeCourante) { $_SESSION['annee_recu'] = date("Y") - 1;
array_unshift($anneesFiscales, $anneeCourante);
} }
// libellés pour les taux de réduction // libellés pour les taux de réduction
@ -37,8 +36,7 @@ if (null !== $champsNom)
$activitesTarifsComptes = Utils::getActivitesTarifsEtComptes(); $activitesTarifsComptes = Utils::getActivitesTarifsEtComptes();
// préparation de l'affichage // préparation de l'affichage
$tpl->assign('anneesFiscales', $anneesFiscales); $tpl->assign('annee_recu', $_SESSION['annee_recu']);
$tpl->assign('anneeCourante', $anneeCourante);
$tpl->assign('activitesTarifsComptes', $activitesTarifsComptes); $tpl->assign('activitesTarifsComptes', $activitesTarifsComptes);
$tpl->assign('nbTarifs', count($activitesTarifsComptes)); $tpl->assign('nbTarifs', count($activitesTarifsComptes));
$tpl->assign('plugin_config', $plugin->getConfig()); $tpl->assign('plugin_config', $plugin->getConfig());