Projet

Général

Profil

Actions

Anomalie #1016

fermé

Cotisation par durée

Ajouté par Michel LO il y a environ 7 ans. Mis à jour il y a 4 mois.

Statut:
Fermé
Priorité:
Normal
Assigné à:
-
Catégorie:
-
Version cible:
-
Début:
22/02/2017
Echéance:
% réalisé:

100%

Temps estimé:
Version utilisée:

Description

Dans une cotisation par durée, l'ajout de la durée entraîne un jour de trop car la date finale calculée est celle ddu début de préiode de cotisation suivante au lieu d'être la fin de cotisation.

Si la date de début de cotisation est le 22 février 2017, la date calculée de fin de cotisation de 12 mois doit être le 21 février et non pas le 22 février 2018

dans _retrieveEndDate, il faut calculer non pas en ajoutant la durée mais en ajoutant la durée - 1 jour

suggestion :

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');


Demandes liées 1 (0 ouverte1 fermée)

Lié à Galette - Anomalie #1762: Contribution start date overloadFerméJohan Cwiklinski22/12/2023

Actions
Actions

Formats disponibles : Atom PDF