Stéphane Salès a écrit :
> Le Wednesday 7 December 2005 00:02, Laurent Pelecq écrivait :
> 
>>Salut,
> 
> Salut,
> 
> 
>>Pour le bug, visiblement le décalage va au delà de 2038 et repasse en
>>1970. Il faudrait prendre un exemple pour un adhérent avec les dates
>>de début et de fin de chaque période de cotisation et voir bout à
>>bout quelle date est attendue et quelle date est calculée dans
>>l'upgrade.
> 
> j'essaye de faire ca d'ici ce week-end, et je posterai ici.
> Merci des infos.

En regardant de plus près, il me semble qu'il y a un gros bug. Les
cotisations de tous les adhérents sont mises bout à bout. Il faudrait
faire une requête pour avoir la liste des adhérents et pour chacun
mettre seulement ses propres cotisations bout à bout.

Je pense que je n'avais testé qu'avec un seul adhérent :-(

Il me semble qu'il faudrait faire quelque chose comme ça (j'espère que
ce n'est pas trop confus, mon php est un peu rouillé :-).

 // begin: fix overlapping fees
 $adh_list = array();
 $query = "SELECT id_adh from ".$table_prefix."adherents";
 $result = $DB->Execute($query);
 if (!$result)
        print $query.": ".$DB->ErrorMsg();
 else {
         while (!$result->EOF) {
                 $adh_list[] = $result->Field('id_adh');
                 $result->MoveNext();
         }
 }

 foreach ($adh_list as $id_adh) {
   $cotis = array();
   $query = "SELECT [...]
     where [...]
     and ".$table_prefix."cotisation.id_adh = '".$id_adh."'
     [...]
   $result = $DB->Execute($query);


Si tu peux tester sur ta base, ce serait super.

Laurent

Répondre à