diff --git a/htdocs/adherents/adherent.class.php b/htdocs/adherents/adherent.class.php index bd48308c5b1..69fd84b29f7 100644 --- a/htdocs/adherents/adherent.class.php +++ b/htdocs/adherents/adherent.class.php @@ -1,7 +1,7 @@ * Copyright (C) 2002-2003 Jean-Louis Bergamo - * Copyright (C) 2004-2006 Laurent Destailleur + * Copyright (C) 2004-2007 Laurent Destailleur * Copyright (C) 2004 Sebastien Di Cintio * Copyright (C) 2004 Benoit Mortier * @@ -36,6 +36,7 @@ */ require_once(DOL_DOCUMENT_ROOT."/includes/xmlrpc/xmlrpc.php"); +require_once(DOL_DOCUMENT_ROOT."/adherents/cotisation.class.php"); /** @@ -946,15 +947,17 @@ class Adherent $this->db->begin(); - $sql = "INSERT INTO ".MAIN_DB_PREFIX."cotisation (fk_adherent, datec, dateadh, cotisation)"; - $sql .= " VALUES (".$this->id.", now(), ".$this->db->idate($date).", ".$montant.")"; + // Create subscription + $cotisation=new Cotisation($this->db); + $cotisation->fk_adherent=$this->id; + $cotisation->dateh=$date; + $cotisation->amount=$montant; + $cotisation->note=$label; - dolibarr_syslog("Adherent::cotisation sql=".$sql); - $resql=$this->db->query($sql); - if ($resql) + $rowid=$cotisation->create($user); + + if ($rowid > 0) { - $rowid=$this->db->last_insert_id(MAIN_DB_PREFIX."cotisation"); - // datefin = date + 1 an - 1 jour $datefin = dolibarr_time_plus_duree($date,1,'y'); $datefin = dolibarr_time_plus_duree($datefin,-1,'d'); @@ -962,7 +965,7 @@ class Adherent $sql = "UPDATE ".MAIN_DB_PREFIX."adherent SET datefin = ".$this->db->idate($datefin); $sql.= " WHERE rowid =". $this->id; - dolibarr_syslog("Adherent::cotisation sql=".$sql); + dolibarr_syslog("Adherent::cotisation update member sql=".$sql); $resql=$this->db->query($sql); if ($resql) { @@ -986,7 +989,9 @@ class Adherent if ($inserturlid > 0) { // Met a jour la table cotisation - $sql="UPDATE ".MAIN_DB_PREFIX."cotisation SET fk_bank=".$insertid." WHERE rowid=".$rowid; + + + $sql="UPDATE ".MAIN_DB_PREFIX."cotisation SET fk_bank=".$insertid." WHERE rowid=".$rowid; $resql = $this->db->query($sql); if (! $resql) { @@ -1037,8 +1042,7 @@ class Adherent } else { - $this->error=$this->db->error(); - dolibarr_syslog("Adherent::cotisation error ".$this->error); + $this->error=$cotisation->error; $this->db->rollback(); return -1; } diff --git a/htdocs/adherents/card_subscriptions.php b/htdocs/adherents/card_subscriptions.php index e073fd0616b..b0eef2622f3 100644 --- a/htdocs/adherents/card_subscriptions.php +++ b/htdocs/adherents/card_subscriptions.php @@ -253,6 +253,7 @@ print ''; */ $sql = "SELECT d.rowid, d.prenom, d.nom, d.societe,"; $sql.= " c.rowid as crowid, c.cotisation, ".$db->pdate("c.dateadh")." as dateadh, c.fk_bank,"; +$sql.= " b.rowid as bid,"; $sql.= " ba.rowid as baid, ba.label, ba.bank"; $sql.= " FROM ".MAIN_DB_PREFIX."adherent as d, ".MAIN_DB_PREFIX."cotisation as c"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."bank as b ON c.fk_bank = b.rowid"; @@ -294,7 +295,7 @@ while ($i < $num) if ($conf->banque->enabled && $conf->global->ADHERENT_BANK_USE) { print ''; - if ($objp->fk_bank) + if ($objp->bid) { $accountstatic->label=$objp->label; $accountstatic->id=$objp->baid; diff --git a/htdocs/adherents/cotisation.class.php b/htdocs/adherents/cotisation.class.php index a4348925259..f60471ca124 100644 --- a/htdocs/adherents/cotisation.class.php +++ b/htdocs/adherents/cotisation.class.php @@ -1,5 +1,6 @@ + * Copyright (C) 2006-2007 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -17,191 +18,74 @@ * * $Id$ * $Source$ - * */ -/*! \file htdocs/adherents/cotisation.class.php +/** + \file htdocs/adherents/cotisation.class.php \ingroup adherent \brief Fichier de la classe permettant de gèrer les cotisations - \author Rodolphe Quiedeville \version $Revision$ */ -/*! \class Cotisation - \brief Classe permettant de gèrer les cotisations -*/ +/** + \class Cotisation + \brief Classe permettant de gèrer les cotisations +*/ class Cotisation { var $id; var $db; - var $date; - var $amount; - var $prenom; - var $nom; - var $societe; - var $adresse; - var $cp; - var $ville; - var $pays; - var $email; - var $public; - var $projetid; - var $modepaiement; - var $modepaiementid; - var $commentaire; - var $statut; - - var $projet; var $error; + var $errors; + var $datec; + var $datem; + var $dateh; + var $fk_adherent; + var $amount; + var $note; + var $fk_bank; + + /** \brief Cotisation \param DB Handler base de données - \param socid ID societe */ - function Cotisation($DB, $socid="") + function Cotisation($DB) { - $this->db = $DB ; - $this->modepaiementid = 0; - } - - - /* - * - * - */ - function print_error_list() - { - $num = sizeof($this->error); - for ($i = 0 ; $i < $num ; $i++) - { - print "
  • " . $this->error[$i]; - } + $this->db = $DB; } - /* - * - * - */ - function check($minimum=0) - { - $err = 0; - - if (strlen(trim($this->societe)) == 0) - { - if ((strlen(trim($this->nom)) + strlen(trim($this->prenom))) == 0) - { - $error_string[$err] = "Vous devez saisir vos nom et prénom ou le nom de votre société."; - $err++; - } - } - - if (strlen(trim($this->adresse)) == 0) - { - $error_string[$err] = "L'adresse saisie est invalide"; - $err++; - } - - if (strlen(trim($this->cp)) == 0) - { - $error_string[$err] = "Le code postal saisi est invalide"; - $err++; - } - - if (strlen(trim($this->ville)) == 0) - { - $error_string[$err] = "La ville saisie est invalide"; - $err++; - } - - if (strlen(trim($this->email)) == 0) - { - $error_string[$err] = "L'email saisi est invalide"; - $err++; - } - - $this->amount = trim($this->amount); - - $map = range(0,9); - for ($i = 0; $i < strlen($this->amount) ; $i++) - { - if (!isset($map[substr($this->amount, $i, 1)] )) - { - $error_string[$err] = "Le montant du don contient un/des caractère(s) invalide(s)"; - $err++; - $amount_invalid = 1; - break; - } - } - - if (! $amount_invalid) - { - if ($this->amount == 0) - { - $error_string[$err] = "Le montant du don est null"; - $err++; - } - else - { - if ($this->amount < $minimum && $minimum > 0) - { - $error_string[$err] = "Le montant minimum du don est de $minimum"; - $err++; - } - } - } - - /* - * Return errors - * - */ - - if ($err) - { - $this->error = $error_string; - return 0; - } - else - { - return 1; - } - - } /** - \brief fonction qui permet de créer le don - \param userid userid de l'adhérent + \brief Fonction qui permet de créer le don + \param userid userid de celui qui insere + \return int <0 si KO, Id cotisation créé si OK */ function create($userid) { - /* - * Insertion dans la base - */ - - $this->date = $this->db->idate($this->date); - - $sql = "INSERT INTO ".MAIN_DB_PREFIX."don (datec, amount, fk_paiement,prenom, nom, societe,adresse, cp, ville, pays, public, fk_don_projet, note, fk_user_author, datedon, email)"; - $sql .= " VALUES (now(), $this->amount, $this->modepaiementid,'$this->prenom','$this->nom','$this->societe','$this->adresse', '$this->cp','$this->ville','$this->pays',$this->public, $this->projetid, '$this->commentaire', $userid, '$this->date','$this->email')"; + $sql = "INSERT INTO ".MAIN_DB_PREFIX."cotisation (fk_adherent, datec, dateadh, cotisation, note)"; + $sql .= " VALUES (".$this->fk_adherent.", now(), ".$this->db->idate($this->dateh).", ".$this->amount.",'".$this->note."')"; + dolibarr_syslog("Cotisation::create sql=".$sql); $result = $this->db->query($sql); - if ($result) { - return $this->db->last_insert_id(MAIN_DB_PREFIX."don"); + return $this->db->last_insert_id(MAIN_DB_PREFIX."cotisation"); } else { - dolibarr_print_error($this->db); - return 0; + $this->error=$this->db->error().' sql='.$sql; + return -1; } } /*! + \TODO A ecrire \brief fonction qui permet de mettre à jour le don \param userid userid de l'adhérent */ - function update($userid) { @@ -239,20 +123,20 @@ class Cotisation } } - /*! - \brief fonction qui permet de supprimer le don - \param rowid + /** + \brief Fonction qui permet de supprimer la cotisation + \param rowid Id cotisation + \return int <0 si KO, 0 si OK mais non trouve, >0 si OK */ - function delete($rowid) - { + $sql = "DELETE FROM ".MAIN_DB_PREFIX."cotisation WHERE rowid = ".$rowid; - $sql = "DELETE FROM ".MAIN_DB_PREFIX."don WHERE rowid = $rowid AND fk_statut = 0;"; - - if ( $this->db->query( $sql) ) + dolibarr_syslog("Cotisation::delete sql=".$sql); + $resql=$this->db->query($sql); + if ($resql) { - if ( $this->db->affected_rows() ) + if ( $this->db->affected_rows($resql)) { return 1; } @@ -263,72 +147,39 @@ class Cotisation } else { - dolibarr_print_error($this->db); - return 0; + $this->error=$this->db->error(); + return -1; } } - /*! - \brief fonction qui permet de récupèrer le don - \param rowid + + /** + \brief Fonction qui permet de récupèrer une cotisation + \param rowid Id cotisation + \return int <0 si KO, =0 si OK mais non trouve, >0 si OK */ - function fetch($rowid) { - $sql = "SELECT d.rowid, ".$this->db->pdate("d.datedon")." as datedon, d.prenom, d.nom, d.societe, d.amount, p.libelle as projet, d.fk_statut, d.adresse, d.cp, d.ville, d.pays, d.public, d.amount, d.fk_paiement, d.note, cp.libelle, d.email, d.fk_don_projet"; - $sql .= " FROM ".MAIN_DB_PREFIX."don as d, ".MAIN_DB_PREFIX."don_projet as p, ".MAIN_DB_PREFIX."c_paiement as cp"; + $sql="SELECT fk_adherent, datec, tms, dateadh, cotisation, note, fk_bank"; + $sql.=" FROM ".MAIN_DB_PREFIX."cotisation"; + $sql.=" WHERE rowid=".$rowid; - $sql .= " WHERE p.rowid = d.fk_don_projet AND cp.id = d.fk_paiement AND d.rowid = $rowid"; - - if ( $this->db->query( $sql) ) + dolibarr_syslog("Cotisation::fetch sql=".$sql); + $resql=$this->db->query($sql); + if ($resql) { - if ($this->db->num_rows()) + if ($this->db->num_rows($resql)) { - - $obj = $this->db->fetch_object(); + $obj = $this->db->fetch_object($resql); $this->id = $obj->rowid; - $this->date = $obj->datedon; - $this->prenom = stripslashes($obj->prenom); - $this->nom = stripslashes($obj->nom); - $this->societe = stripslashes($obj->societe); - $this->statut = $obj->fk_statut; - $this->adresse = stripslashes($obj->adresse); - $this->cp = stripslashes($obj->cp); - $this->ville = stripslashes($obj->ville); - $this->email = stripslashes($obj->email); - $this->pays = stripslashes($obj->pays); - $this->projet = $obj->projet; - $this->projetid = $obj->fk_don_projet; - $this->public = $obj->public; - $this->modepaiementid = $obj->fk_paiement; - $this->modepaiement = $obj->libelle; - $this->amount = $obj->amount; - $this->commentaire = stripslashes($obj->note); - } - } - else - { - print $this->db->error(); - } - - } - - /*! - \brief fonction qui permet de valider la promesse de don - \param rowid - \param userid userid de l'adhérent - */ - - function valid_promesse($rowid, $userid) - { - - $sql = "UPDATE ".MAIN_DB_PREFIX."don SET fk_statut = 1, fk_user_valid = $userid WHERE rowid = $rowid AND fk_statut = 0;"; - - if ( $this->db->query( $sql) ) - { - if ( $this->db->affected_rows() ) - { + $this->fk_adherent = $obj->fk_adherent; + $this->datec = $obj->datec; + $this->datem = $obj->tms; + $this->dateh = $obj->dateadh; + $this->amount = $obj->cotisation; + $this->note = $obj->note; + $this->fk_bank = $obj->fk_bank; return 1; } else @@ -338,51 +189,19 @@ class Cotisation } else { - dolibarr_print_error($this->db); - return 0; + $this->error=$this->db->error(); + return -1; } + } - /*! - \brief fonction qui permet de définir la cotisation comme payée - \param rowid rowid de la cotisation - \param modepaiement mode de paiement - */ - function set_paye($rowid, $modepaiement='') - { - $sql = "UPDATE ".MAIN_DB_PREFIX."don SET fk_statut = 2"; - - if ($modepaiement) - { - $sql .= ", fk_paiement=$modepaiement"; - } - $sql .= " WHERE rowid = $rowid AND fk_statut = 1;"; - - if ( $this->db->query( $sql) ) - { - if ( $this->db->affected_rows() ) - { - return 1; - } - else - { - return 0; - } - } - else - { - dolibarr_print_error($this->db); - return 0; - } - } - - /*! + /** + \TODO a ecrire \brief fonction qui permet de mettre un commentaire sur le don \param rowid \param commentaire */ - function set_commentaire($rowid, $commentaire='') { $sql = "UPDATE ".MAIN_DB_PREFIX."don SET note = '$commentaire'"; @@ -407,33 +226,6 @@ class Cotisation } } - /*! - \brief fonction qui permet de mettre le don comme encaiss - \param rowid - */ - - function set_encaisse($rowid) - { - - $sql = "UPDATE ".MAIN_DB_PREFIX."don SET fk_statut = 3 WHERE rowid = $rowid AND fk_statut = 2;"; - - if ( $this->db->query( $sql) ) - { - if ( $this->db->affected_rows() ) - { - return 1; - } - else - { - return 0; - } - } - else - { - dolibarr_print_error($this->db); - return 0; - } - } /** * \brief Renvoie nom clicable (avec eventuellement le picto) diff --git a/htdocs/adherents/cotisations.php b/htdocs/adherents/cotisations.php index 476a36d7e7b..1b2c1c0e434 100644 --- a/htdocs/adherents/cotisations.php +++ b/htdocs/adherents/cotisations.php @@ -1,7 +1,7 @@ * Copyright (C) 2003 Jean-Louis Bergamo - * Copyright (C) 2004-2006 Laurent Destailleur + * Copyright (C) 2004-2007 Laurent Destailleur * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by @@ -33,6 +33,11 @@ require_once(DOL_DOCUMENT_ROOT."/adherents/adherent.class.php"); require_once(DOL_DOCUMENT_ROOT."/adherents/cotisation.class.php"); require_once(DOL_DOCUMENT_ROOT."/compta/bank/account.class.php"); +$user->getrights('adherent'); +$user->getrights('banque'); + +$langs->load("members"); + $sortorder=$_GET["sortorder"]; $sortfield=$_GET["sortfield"]; $page=$_GET["page"]; @@ -46,74 +51,104 @@ $offset = $conf->liste_limit * $page ; $pageprev = $page - 1; $pagenext = $page + 1; +$msg=''; $date_select=isset($_GET["date_select"])?$_GET["date_select"]:$_POST["date_select"]; +// Desactivation fonctions insertions en banque apres coup +// Cette fonction me semble pas utile. Si on a fait des adhesions alors que module banque +// pas actif c'est qu'on voulait pas d'insertion en banque. +// si on active apres coup, on va pas modifier toutes les adhesions pour avoir une ecriture +// en banque mais on va mettre le solde banque direct a la valeur apres toutes les adhésions. +$allowinsertbankafter=0; +/* +* Actions +*/ + // Insertion de la cotisation dans le compte banquaire -if ($_POST["action"] == '2bank' && $_POST["rowid"] !='') +if ($allowinsertbankafter && $user->rights->banque->modifier && $_POST["action"] == '2bank' && $_POST["rowid"] !='') { - if (defined("ADHERENT_BANK_USE") && ADHERENT_BANK_USE !=0) + if (defined("ADHERENT_BANK_USE") && $conf->global->ADHERENT_BANK_USE) { + if (! $_POST["accountid"]) + { + $msg='
    '.$langs->trans("ErrorFieldRequired",$langs->trans("BankAccount")).'
    '; + } + if (! $_POST["paymenttypeid"]) + { + $msg='
    '.$langs->trans("ErrorFieldRequired",$langs->trans("OperationType")).'
    '; + } - // \todo Créer une facture et enregistrer son paiement + // Créer un tiers + facture et enregistrer son paiement ? -> Non requis avec module compta expert + // Eventuellement offrir option a la creation adhesion + + if (! $msg) + { + $db->begin(); + + $dateop=time(); + + $cotisation=new Cotisation($db); + $result=$cotisation->fetch($_POST["rowid"]); + $adherent=new Adherent($db); + $result=$adherent->fetch($cotisation->fk_adherent); + + if ($result > 0) + { + $amount=$cotisation->amount; + $acct=new Account($db); + $acct->fetch($_POST["accountid"]); + $insertid=$acct->addline($dateop, $_POST["paymenttypeid"], $_POST["label"], $amount, $_POST["num_chq"],ADHERENT_BANK_CATEGORIE,$user); + if ($insertid < 0) + { + dolibarr_print_error($db,$acct->error); + } + else + { + $inserturlid=$acct->add_url_line($insertid, $adherent->rowid, DOL_URL_ROOT.'/adherents/fiche.php?rowid=', $adherent->getFullname(), 'member'); - $dateop=time(); - $sql="SELECT cotisation FROM ".MAIN_DB_PREFIX."cotisation WHERE rowid=".$_POST["rowid"]." "; - $result = $db->query($sql); - if ($result) - { - $num = $db->num_rows($result); - if ($num>0) - { - $objp = $db->fetch_object($result); - $amount=$objp->cotisation; - $acct=new Account($db,ADHERENT_BANK_ACCOUNT); - $insertid=$acct->addline($dateop, $_POST["operation"], $_POST["label"], $amount, $_POST["num_chq"],ADHERENT_BANK_CATEGORIE,$user); - if ($insertid == '') - { - dolibarr_print_error($db); - } - else - { - // met a jour la table cotisation - $sql="UPDATE ".MAIN_DB_PREFIX."cotisation SET fk_bank=$insertid WHERE rowid=".$_POST["rowid"]." "; - $result = $db->query($sql); - if ($result) - { - //Header("Location: cotisations.php"); - } - else - { - dolibarr_print_error($db); - } - } - } - else - { - dolibarr_print_error($db); - } - } - else - { - dolibarr_print_error($db); - } - + // Met a jour la table cotisation + $sql="UPDATE ".MAIN_DB_PREFIX."cotisation"; + $sql.=" SET fk_bank=".$insertid.","; + $sql.=" note='".addslashes($_POST["label"])."'"; + $sql.=" WHERE rowid=".$_POST["rowid"]; + dolibarr_syslog("cotisations sql=".$sql); + $result = $db->query($sql); + if ($result) + { + //Header("Location: cotisations.php"); + $db->commit(); + } + else + { + $db->rollback(); + dolibarr_print_error($db); + } + } + } + else + { + $db->rollback(); + dolibarr_print_error($db,$cotisation->error); + } + } } } /* - * Affichage liste + * Affichage page */ llxHeader(); +if ($msg) print $msg.'
    '; // Liste des cotisations $sql = "SELECT d.rowid, d.prenom, d.nom, d.societe,"; -$sql.= " c.cotisation, ".$db->pdate("c.dateadh")." as dateadh, c.fk_bank as bank, c.rowid as crowid,"; +$sql.= " c.rowid as crowid, c.cotisation, ".$db->pdate("c.dateadh")." as dateadh, c.fk_bank as bank, c.note,"; $sql.= " b.fk_account"; $sql.= " FROM ".MAIN_DB_PREFIX."adherent as d, ".MAIN_DB_PREFIX."cotisation as c"; $sql.= " LEFT JOIN ".MAIN_DB_PREFIX."bank as b ON c.fk_bank=b.rowid"; @@ -131,7 +166,6 @@ if ($result) $num = $db->num_rows($result); $i = 0; - $param.="&statut=$statut&date_select=$date_select"; print_barre_liste($langs->trans("ListOfSubscriptions"), $page, $_SERVER["PHP_SELF"], $param, $sortfield, $sortorder,'',$num); @@ -146,34 +180,42 @@ if ($result) { print_liste_field_titre($langs->trans("Bank"),"cotisations.php","b.fk_account",$pram,"","",$sortfield); } - print_liste_field_titre($langs->trans("Amount"),"cotisations.php","c.cotisation",$param,"","align=\"right\"",$sortfield); + print_liste_field_titre($langs->trans("Label"),"cotisations.php","c.note",$param,"",'align="left"',$sortfield); + print_liste_field_titre($langs->trans("Amount"),"cotisations.php","c.cotisation",$param,"",'align="right"',$sortfield); print "\n"; - $var=true; + // Static objects + $cotisation=new Cotisation($db); + $adherent=new Adherent($db); + $accountstatic=new Account($db); + + $var=true; $total=0; while ($i < $num && $i < $conf->liste_limit) { $objp = $db->fetch_object($result); $total+=price($objp->cotisation); - $cotisation=new Cotisation($db); $cotisation->ref=$objp->crowid; $cotisation->id=$objp->crowid; - $adherent=new Adherent($db); $adherent->ref=trim($objp->prenom.' '.$objp->nom); $adherent->id=$objp->rowid; $var=!$var; + + if ($allowinsertbankafter && $user->rights->banque->modifier && ! $objp->fk_account && $conf->banque->enabled && $conf->global->ADHERENT_BANK_USE && $objp->cotisation) + { + print "
    "; + } print ""; print ''.$cotisation->getNomUrl(1).''; - print ''.dolibarr_print_date($objp->dateadh)."\n"; + print ''.dolibarr_print_date($objp->dateadh,'day')."\n"; print ''.$adherent->getNomUrl(1).''; if ($conf->banque->enabled && $conf->global->ADHERENT_BANK_USE) { if ($objp->fk_account) { - $accountstatic=new Account($db); $accountstatic->id=$objp->fk_account; $accountstatic->fetch($objp->fk_account); //$accountstatic->label=$objp->label; @@ -181,24 +223,44 @@ if ($result) } else { - print ""; - print ""; - print ''; - print ''; - $html = new Form($db); - $html->select_types_paiements(); - print ' - '; - print "trans("Subscriptions").' '.stripslashes($objp->prenom)." ".stripslashes($objp->nom)." ".strftime("%Y",$objp->dateadh)."\" >\n"; - // print ""; - // print ""; - print ''; - print "
    \n"; - print "\n"; + print ""; + if ($allowinsertbankafter && $user->rights->banque->modifier && $objp->cotisation) + { + print ''; + print ''; + $html = new Form($db); + $html->select_comptes('','accountid',0,'',1); + print '
    '; + $html->select_types_paiements('','paymenttypeid'); + print ''; + } + else + { + print ' '; + } + print "\n"; } } - print ''.price($objp->cotisation).''; + print ''; + if ($allowinsertbankafter && $user->rights->banque->modifier && ! $objp->fk_account && $conf->banque->enabled && $conf->global->ADHERENT_BANK_USE && $objp->cotisation) + { + print "trans("Subscriptions").' '.strftime("%Y",$objp->dateadh)."\" >\n"; + // print ""; + // print ""; + print ''; + } + else + { + print dolibarr_trunc($objp->note,32); + } + print ''; + print ''.price($objp->cotisation).''; print ""; - $i++; + if ($allowinsertbankafter && $user->rights->banque->modifier && ! $objp->fk_account && $conf->banque->enabled && $conf->global->ADHERENT_BANK_USE && $objp->cotisation) + { + print "\n"; + } + $i++; } $var=!$var; @@ -210,6 +272,7 @@ if ($result) { print ' '; } + print ' '; print "".price($total)."\n"; print "\n"; diff --git a/htdocs/adherents/type.php b/htdocs/adherents/type.php index 9c3d787f2d9..51097b233a4 100644 --- a/htdocs/adherents/type.php +++ b/htdocs/adherents/type.php @@ -33,6 +33,7 @@ require(DOL_DOCUMENT_ROOT."/adherents/adherent.class.php"); require(DOL_DOCUMENT_ROOT."/adherents/adherent_type.class.php"); $langs->load("members"); + $user->getrights('adherent'); $rowid=isset($_GET["rowid"])?$_GET["rowid"]:$_POST["rowid"]; @@ -41,10 +42,8 @@ $rowid=isset($_GET["rowid"])?$_GET["rowid"]:$_POST["rowid"]; /* * Actions */ -if ($_POST["action"] == 'add') +if ($user->rights->adherent->configurer && $_POST["action"] == 'add') { - if (! $user->rights->adherent->configurer) accessforbidden(); - if ($_POST["button"] != $langs->trans("Cancel")) { $adht = new AdherentType($db); @@ -77,10 +76,8 @@ if ($_POST["action"] == 'add') } } -if ($_POST["action"] == 'update') +if ($user->rights->adherent->configurer && $_POST["action"] == 'update') { - if (! $user->rights->adherent->creer) accessforbidden(); - if ($_POST["button"] != $langs->trans("Cancel")) { $adht = new AdherentType($db); @@ -98,7 +95,7 @@ if ($_POST["action"] == 'update') } } -if ($_GET["action"] == 'delete') +if ($user->rights->adherent->configurer && $_GET["action"] == 'delete') { $adht = new AdherentType($db); $adht->delete($rowid); @@ -106,7 +103,7 @@ if ($_GET["action"] == 'delete') exit; } -if ($_GET["action"] == 'commentaire') +if ($user->rights->adherent->configurer && $_GET["action"] == 'commentaire') { $don = new Don($db); $don->set_commentaire($rowid,$_POST["commentaire"]); diff --git a/htdocs/compta/bank/account.class.php b/htdocs/compta/bank/account.class.php index c0bee43c2cd..d6ed78ff457 100644 --- a/htdocs/compta/bank/account.class.php +++ b/htdocs/compta/bank/account.class.php @@ -213,7 +213,7 @@ class Account // Verififcation parametres if (! $this->rowid) { - $this->error="Account::addline rowid not defined"; + $this->error="Account::addline this->rowid not defined"; return -1; } @@ -462,7 +462,6 @@ class Account */ function fetch($id) { - $this->id = $id; $sql = "SELECT rowid, ref, label, bank, number, courant, clos, rappro, url,"; $sql.= " code_banque, code_guichet, cle_rib, bic, iban_prefix,"; $sql.= " domiciliation, proprio, adresse_proprio,"; @@ -471,15 +470,17 @@ class Account $sql.= " FROM ".MAIN_DB_PREFIX."bank_account"; $sql.= " WHERE rowid = ".$id; + dolibarr_syslog("Account::fetch sql=".$sql); $result = $this->db->query($sql); - if ($result) { if ($this->db->num_rows($result)) { $obj = $this->db->fetch_object($result); - $this->ref = $obj->ref; + $this->id = $obj->rowid; // deprecated + $this->rowid = $obj->rowid; + $this->ref = $obj->ref; $this->label = $obj->label; $this->type = $obj->courant; $this->courant = $obj->courant; @@ -504,12 +505,18 @@ class Account $this->min_allowed = $obj->min_allowed; $this->min_desired = $obj->min_desired; $this->comment = $obj->comment; + return 1; } + else + { + return 0; + } $this->db->free($result); } else { dolibarr_print_error($this->db); + return -1; } }