Description :
Quand on choisit une cotisation annuelle de date à date, on indique 12 mois.
Le système ajoute donc 12 mois, ce qui fait que si la création est au 12
février 2017, la cotisation est marquée jusqu’au 12 février 2018.
Le problème est que la définition de ce 12 février n’est pas bien claire : si
c’est la date où doit commencer la prochaine cotisation, c’est bon. Mais en
fait, quand on ajoute une cotisation, on se retrouve avec un jour de trop, et
il faudrait que la date de fin de cotisation soit non pas le 12 février 2018
mais le 11 février 2018.
Ma solution :
J’ai de nouveau fait ce qu’il ne fallait pas faire en attendant une correction,
et j’ai directement tapé dans le code. Il ne faut pas le faire pour des tas de
raisons, mais que j’ai quand même fait en attendant que ce soit intégré dans
une release officielle de galette.Au moins, en attendant, cela fonctionne chez
moi.
Ce qu’il faudrait :
Et bien tout simplement corriger : lorsque l’on indique une cotisation de 12
mois, il faut calculer la date de fin de cotisation à +12 mois - 1jour.
J’indique ce que je mets comme code, mais je répète encore une fois que ce
n’est pas quelque chose à faire. Simplement, sachant tout le travail que les
développeurs ont pour corriger, ajouter des fonctions etc … et sachant qu’ils
ne sont pas vraiment payés pour ça, je n’ai pas eu la patience d'attendre,
mais je souhaite vivement l’application d’une correction (la mienne ou une
autre) pour que je puisse oublier mes patches mis au pis aller.
Michel
Ma modif pour info :
lib>Galette>Entity>Contribution.php
dans la fonction _retrieveEndDate
remplacer
//case membership extension
$dext = new \DateInterval('P' . $this->_extension . 'M’);
$edate = $bdate->add($dext);
$this->_end_date = $edate->format('Y-m-d');
par
//case membership extension
$dext = new \DateInterval('P' . $this->_extension . 'M');
$moinsunjour = new \DateInterval("P1D");
$moinsunjour->invert=1;
$edate = $bdate->add($dext);
$edate = $bdate->add($moinsunjour);
$this->_end_date = $edate->format('Y-m-d');
--
Galette users discussions
http://galette.eu - http://galette.eu/documentation
http://bugs.galette.eu/projects/galette/
List documentation: https://listengine.tuxfamily.org/lists.galette.eu/users/