Fix: L'objet user n'tait pas intgralement pass sur les fonctions de changement etat facture
This commit is contained in:
parent
8a0e6cf691
commit
46a8b91622
@ -255,6 +255,8 @@ class BonPrelevement
|
||||
*/
|
||||
function set_credite()
|
||||
{
|
||||
global $user;
|
||||
|
||||
$error == 0;
|
||||
|
||||
if ($this->db->begin())
|
||||
@ -277,11 +279,11 @@ class BonPrelevement
|
||||
|
||||
for ($i = 0 ; $i < sizeof($facs) ; $i++)
|
||||
{
|
||||
$fac = new Facture($this->db);
|
||||
|
||||
/* Tag la facture comme impayée */
|
||||
dolibarr_syslog("BonPrelevement::set_credite set_payed fac ".$facs[$i]);
|
||||
$fac->set_payed($facs[$i]);
|
||||
$fac = new Facture($this->db);
|
||||
$fac->fetch($facs[$i]);
|
||||
$result = $fac->set_payed($user);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -304,15 +304,15 @@ if ($_POST['action'] == 'confirm_valid' && $_POST['confirm'] == 'yes' && $user->
|
||||
if ($_POST['action'] == 'confirm_payed' && $_POST['confirm'] == 'yes' && $user->rights->facture->paiement)
|
||||
{
|
||||
$fac = new Facture($db);
|
||||
$result = $fac->set_payed($_GET['facid']);
|
||||
$fac->fetch($_GET['facid']);
|
||||
$result = $fac->set_payed($user);
|
||||
}
|
||||
|
||||
if ($_POST['action'] == 'setremise' && $user->rights->facture->creer)
|
||||
{
|
||||
$fac = new Facture($db);
|
||||
$fac->fetch($_GET['facid']);
|
||||
|
||||
$fac->set_remise($user, $_POST['remise']);
|
||||
$result = $fac->set_remise($user, $_POST['remise']);
|
||||
}
|
||||
|
||||
if ($_POST['action'] == 'addligne' && $user->rights->facture->creer)
|
||||
@ -391,7 +391,7 @@ if ($_POST['action'] == 'confirm_delete' && $_POST['confirm'] == 'yes')
|
||||
if ($user->rights->facture->supprimer )
|
||||
{
|
||||
$fac = new Facture($db);
|
||||
$fac->delete($_GET['facid']);
|
||||
$result = $fac->delete($_GET['facid']);
|
||||
$_GET['facid'] = 0 ;
|
||||
Header('Location: facture.php');
|
||||
exit;
|
||||
@ -403,7 +403,8 @@ if ($_POST['action'] == 'confirm_canceled' && $_POST['confirm'] == 'yes')
|
||||
if ($user->rights->facture->supprimer )
|
||||
{
|
||||
$fac = new Facture($db);
|
||||
$result = $fac->set_canceled($_GET['facid']);
|
||||
$fac->fetch($_GET['facid']);
|
||||
$result = $fac->set_canceled();
|
||||
$_GET['facid'] = 0 ;
|
||||
Header('Location: facture.php');
|
||||
exit;
|
||||
|
||||
@ -692,13 +692,18 @@ class Facture
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Tag la facture comme payée complètement
|
||||
* \param rowid id de la facture à modifier
|
||||
* \brief Tag la facture comme payée complètement + appel trigger BILL_PAYED
|
||||
* \param user Objet utilisateur qui modifie
|
||||
* \return int <0 si ok, >0 si ok
|
||||
*/
|
||||
function set_payed($rowid)
|
||||
function set_payed($user)
|
||||
{
|
||||
$sql = 'UPDATE '.MAIN_DB_PREFIX.'facture set paye=1 WHERE rowid = '.$rowid ;
|
||||
$resql = $this->db->query( $sql);
|
||||
global $conf,$langs;
|
||||
|
||||
dolibarr_syslog("Facture.class.php::set_payed rowid=".$this->id);
|
||||
$sql = 'UPDATE '.MAIN_DB_PREFIX.'facture';
|
||||
$sql.= ' SET paye=1 WHERE rowid = '.$this->id ;
|
||||
$resql = $this->db->query($sql);
|
||||
|
||||
if ($resql)
|
||||
{
|
||||
@ -710,17 +715,36 @@ class Facture
|
||||
$result=$interface->run_triggers('BILL_PAYED',$this,$user,$langs,$conf);
|
||||
// Fin appel triggers
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Tag la facture comme non payée complètement
|
||||
* \param rowid id de la facture à modifier
|
||||
*/
|
||||
function set_unpayed($rowid)
|
||||
* \brief Tag la facture comme non payée complètement + appel trigger BILL_UNPAYED
|
||||
* \param user Objet utilisateur qui modifie
|
||||
* \return int <0 si ok, >0 si ok
|
||||
*/
|
||||
function set_unpayed($user)
|
||||
{
|
||||
dolibarr_syslog("Facture.class.php::set_unpayed rowid=".$rowid);
|
||||
$sql = 'UPDATE '.MAIN_DB_PREFIX.'facture set paye=0 WHERE rowid = '.$rowid ;
|
||||
$resql = $this->db->query( $sql);
|
||||
global $conf,$langs;
|
||||
|
||||
dolibarr_syslog("Facture.class.php::set_unpayed rowid=".$this->id);
|
||||
$sql = 'UPDATE '.MAIN_DB_PREFIX.'facture';
|
||||
$sql.= ' SET paye=0 WHERE rowid = '.$this->id;
|
||||
$resql = $this->db->query($sql);
|
||||
|
||||
if ($resql)
|
||||
{
|
||||
$this->use_webcal=($conf->global->PHPWEBCALENDAR_BILLSTATUS=='always'?1:0);
|
||||
|
||||
// Appel des triggers
|
||||
include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php");
|
||||
$interface=new Interfaces($this->db);
|
||||
$result=$interface->run_triggers('BILL_UNPAYED',$this,$user,$langs,$conf);
|
||||
// Fin appel triggers
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/**
|
||||
@ -734,12 +758,17 @@ class Facture
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Tag la facture comme abandonnée + appel trigger BILL_CANCEL
|
||||
* \param rowid id de la facture à modifier
|
||||
*/
|
||||
function set_canceled($rowid)
|
||||
* \brief Tag la facture comme abandonnée + appel trigger BILL_CANCEL
|
||||
* \param user Objet utilisateur qui modifie
|
||||
* \return int <0 si ok, >0 si ok
|
||||
*/
|
||||
function set_canceled($user)
|
||||
{
|
||||
$sql = 'UPDATE '.MAIN_DB_PREFIX.'facture set fk_statut=3 WHERE rowid = '.$rowid;
|
||||
global $conf,$langs;
|
||||
|
||||
dolibarr_syslog("Facture.class.php::set_canceled rowid=".$this->id);
|
||||
$sql = 'UPDATE '.MAIN_DB_PREFIX.'facture';
|
||||
$sql.= ' SET fk_statut=3 WHERE rowid = '.$this->id;
|
||||
$resql = $this->db->query( $sql);
|
||||
|
||||
if ($resql)
|
||||
@ -752,14 +781,16 @@ class Facture
|
||||
$result=$interface->run_triggers('BILL_CANCEL',$this,$user,$langs,$conf);
|
||||
// Fin appel triggers
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Tag la facture comme validée + appel trigger BILL_VALIDATE
|
||||
* \param rowid id de la facture à valider
|
||||
* \param user utilisateur qui valide la facture
|
||||
* \param soc societe
|
||||
* \param force_number force le numéro de facture
|
||||
* \param rowid Id de la facture à valider
|
||||
* \param user Utilisateur qui valide la facture
|
||||
* \param soc Objet societe
|
||||
* \param force_number Référence à forcer de la facture
|
||||
*/
|
||||
function set_valid($rowid, $user, $soc, $force_number='')
|
||||
{
|
||||
@ -817,7 +848,7 @@ class Facture
|
||||
|
||||
/* Validation de la facture */
|
||||
$sql = 'UPDATE '.MAIN_DB_PREFIX.'facture ';
|
||||
$sql .= " SET facnumber='$numfa', fk_statut = 1, fk_user_valid = $user->id";
|
||||
$sql.= " SET facnumber='".$numfa."', fk_statut = 1, fk_user_valid = ".$user->id;
|
||||
|
||||
/* Si l'option est activée on force la date de facture */
|
||||
if ($conf->global->FAC_FORCE_DATE_VALIDATION)
|
||||
@ -829,7 +860,11 @@ class Facture
|
||||
}
|
||||
$sql .= ' WHERE rowid = '.$rowid;
|
||||
$resql = $this->db->query($sql);
|
||||
if (! $resql)
|
||||
if ($resql)
|
||||
{
|
||||
$this->facnumber=$numfa;
|
||||
}
|
||||
else
|
||||
{
|
||||
dolibarr_syslog("Facture::set_valid() Echec - 10");
|
||||
dolibarr_print_error($this->db);
|
||||
|
||||
@ -53,22 +53,22 @@ $action=isset($_GET['action'])?$_GET['action']:$_POST['action'];
|
||||
|
||||
if ($_POST['action'] == 'confirm_valid' && $_POST['confirm'] == yes && $user->rights->fournisseur->facture->valider)
|
||||
{
|
||||
$facturefourn=new FactureFournisseur($db);
|
||||
$facturefourn->fetch($_GET['facid']);
|
||||
|
||||
$facturefourn->set_valid($user->id);
|
||||
|
||||
Header('Location: fiche.php?facid='.$_GET['facid']);
|
||||
exit;
|
||||
$facturefourn=new FactureFournisseur($db);
|
||||
$facturefourn->fetch($_GET['facid']);
|
||||
|
||||
$facturefourn->set_valid($user->id);
|
||||
|
||||
Header('Location: fiche.php?facid='.$_GET['facid']);
|
||||
exit;
|
||||
}
|
||||
|
||||
|
||||
if ($_GET['action'] == 'payed')
|
||||
{
|
||||
$facturefourn=new FactureFournisseur($db);
|
||||
$facturefourn->fetch($_GET['facid']);
|
||||
|
||||
$facturefourn->set_payed($user->id);
|
||||
$facturefourn=new FactureFournisseur($db);
|
||||
$facturefourn->fetch($_GET['facid']);
|
||||
|
||||
$facturefourn->set_payed($user);
|
||||
}
|
||||
|
||||
if($_GET['action'] == 'deletepaiement')
|
||||
|
||||
@ -268,30 +268,39 @@ class FactureFournisseur
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Tag la facture comme payée complètement
|
||||
* \param userid utilisateur qui modifie l'état
|
||||
*/
|
||||
function set_payed($userid)
|
||||
/**
|
||||
* \brief Tag la facture comme payée complètement
|
||||
* \param user Objet utilisateur qui modifie
|
||||
* \return int <0 si ko, >0 si ok
|
||||
*/
|
||||
function set_payed($user)
|
||||
{
|
||||
$sql = "UPDATE ".MAIN_DB_PREFIX."facture_fourn set paye = 1 WHERE rowid = ".$this->id;
|
||||
$result = $this->db->query( $sql);
|
||||
if (! $result) {
|
||||
dolibarr_print_error($this->db);
|
||||
}
|
||||
$sql = "UPDATE ".MAIN_DB_PREFIX."facture_fourn";
|
||||
$sql.= " SET paye = 1";
|
||||
$sql.= " WHERE rowid = ".$this->id;
|
||||
$result = $this->db->query($sql);
|
||||
if (! $result)
|
||||
{
|
||||
dolibarr_print_error($this->db);
|
||||
return -1;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
/**
|
||||
* \brief Tag la facture comme validée et valide la facture
|
||||
* \param userid utilisateur qui valide la facture
|
||||
*/
|
||||
function set_valid($userid)
|
||||
|
||||
/**
|
||||
* \brief Tag la facture comme validée et valide la facture
|
||||
* \param user Objet utilisateur qui modifie
|
||||
* \return int <0 si ko, >0 si ok
|
||||
*/
|
||||
function set_valid($user)
|
||||
{
|
||||
$sql = "UPDATE ".MAIN_DB_PREFIX."facture_fourn set fk_statut = 1, fk_user_valid = $userid WHERE rowid = ".$this->id;
|
||||
$result = $this->db->query( $sql);
|
||||
if (! $result) {
|
||||
dolibarr_print_error($this->db);
|
||||
}
|
||||
$sql = "UPDATE ".MAIN_DB_PREFIX."facture_fourn";
|
||||
$sql.= " SET fk_statut = 1, fk_user_valid = ".$user->id;
|
||||
$sql.= " WHERE rowid = ".$this->id;
|
||||
$result = $this->db->query( $sql);
|
||||
if (! $result) {
|
||||
dolibarr_print_error($this->db);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user