[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Dolibarr-bugtrack] [bug #18307] Module adhérent : impossible enregistre
From: |
luc tech |
Subject: |
[Dolibarr-bugtrack] [bug #18307] Module adhérent : impossible enregistrer cotisation en même temps que nouvel adhérent |
Date: |
Wed, 15 Nov 2006 17:40:47 +0000 |
User-agent: |
Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1) |
URL:
<http://savannah.nongnu.org/bugs/?18307>
Summary: Module adhérent : impossible enregistrer
cotisation en même temps que nouvel adhérent
Project: Dolibarr
Submitted by: luctech
Submitted on: mercredi 15.11.2006 à 17:40
Severity: 3 - Normal
Status: None
Privacy: Public
Assigned to: None
Open/Closed: Open
Release: None
Operating System: None
_______________________________________________________
Details:
A l'écran, l'erreur est :
Warning: Missing argument 3 for cotisation() in
D:\mesprogrammes\xampp\htdocs\doli\htdocs\adherents\adherent.class.php on
line 659
Warning: Missing argument 4 for cotisation() in
D:\mesprogrammes\xampp\htdocs\doli\htdocs\adherents\adherent.class.php on
line 659
Warning: Missing argument 5 for cotisation() in
D:\mesprogrammes\xampp\htdocs\doli\htdocs\adherents\adherent.class.php on
line 659
Warning: Missing argument 6 for cotisation() in
D:\mesprogrammes\xampp\htdocs\doli\htdocs\adherents\adherent.class.php on
line 659
Warning: Cannot modify header information - headers already sent by (output
started at
D:\mesprogrammes\xampp\htdocs\doli\htdocs\adherents\adherent.class.php:659)
in D:\mesprogrammes\xampp\htdocs\doli\htdocs\adherents\fiche.php on line 306
Il me semble que cela recouvre plusieurs bugs autour du cas "add" du fichier
"fiche.php" ($_POST["action"] == 'add' vers ligne 175). Sans doute un oubli
des impacts d'une évolution de la fonction "cotisation" dans ce cas.
- mauvais nombre de paramètres d'appel
- paramètres liés à la cotisation non récupérés du formulaires (donc
non transmissibles à cotisation).
Cela revient à "uniformiser" le traitement de la cotisation dans le cas
"nouvel adhérent" avec le cas "renouvellement de cotisation d'un adhérent
existant".
Je pense donc qu'il faut ajouter :
$accountid=$_POST["accountid"];
$operation=$_POST["operation"];
$label=$_POST["label"];
$num_chq=$_POST["num_chq"];
juste avant l'appel à la fonction cotisation
Changer l'appel de la fonction :
//avant $crowid=$adh->cotisation($datecotisation, $cotisation);
devient :
$crowid=$adh->cotisation($datecotisation, $cotisation, $accountid,
$operation, $label, $num_chq);
Le traitement du code retour doit sans doute changer aussi. Quelque chose
comme :
if ($crowid > 0)
{
$db->commit();
// Envoi mail
if ($conf->global->ADHERENT_MAIL_COTIS)
{
$adh->send_an_email($adh->email,$conf->global->ADHERENT_MAIL_COTIS,$conf->global->ADHERENT_MAIL_COTIS_SUBJECT);
}
}
else
{
$db->rollback();
dolibarr_print_error($db,$adh->error);
}
Et l'insertion dans le compte bancaire doit être supprimée car prise en
charge par la fonction "cotisation" :
/*debut suppr
if ($global->conf->ADHERENT_BANK_USE)
{
$dateop=strftime("%Y%m%d",time());
$amount=$cotisation;
$acct=new Account($db,$_POST["accountid"]);
$insertid=$acct->addline($dateop, $_POST["operation"],
$_POST["label"], $amount, $_POST["num_chq"], '', $user);
if ($insertid == '')
{
dolibarr_print_error($db);
}
else
{
// met a jour la table cotisation
$sql ="UPDATE ".MAIN_DB_PREFIX."cotisation";
$sql.=" SET fk_bank=$insertid WHERE rowid=$rowid ";
$result = $db->query($sql);
if ($result)
{
//Header("Location: fiche.php");
}
else
{
dolibarr_print_error($db);
}
}
} fin suppr */
_______________________________________________________
Reply to this item at:
<http://savannah.nongnu.org/bugs/?18307>
_______________________________________________
Message posté via/par Savannah
http://savannah.nongnu.org/
- [Dolibarr-bugtrack] [bug #18307] Module adhérent : impossible enregistrer cotisation en même temps que nouvel adhérent,
luc tech <=