Fix: Solve pb of duplicate stock increase when using back navigation

This commit is contained in:
Laurent Destailleur 2009-07-09 23:58:01 +00:00
parent 70323388c6
commit e2242a4e02
2 changed files with 21 additions and 15 deletions

View File

@ -1238,14 +1238,14 @@ class Facture extends CommonObject
// Protection
if (! $this->brouillon)
{
dol_syslog("Facture::valid no draft status", LOG_WARNING);
dol_syslog("Facture::set_valid no draft status", LOG_WARNING);
return 0;
}
if (! $user->rights->facture->valider)
{
$this->error='Permission denied';
dol_syslog("Facture::valid ".$this->error, LOG_ERR);
dol_syslog("Facture::set_valid ".$this->error, LOG_ERR);
return -1;
}
@ -1326,11 +1326,11 @@ class Facture extends CommonObject
}
$sql.= ' WHERE rowid = '.$this->id;
dol_syslog("Facture::set_valid() sql=".$sql);
dol_syslog("Facture::set_valid sql=".$sql);
$resql=$this->db->query($sql);
if (! $resql)
{
dol_syslog("Facture::set_valid() Echec update - 10 - sql=".$sql, LOG_ERR);
dol_syslog("Facture::set_valid Echec update - 10 - sql=".$sql, LOG_ERR);
dol_print_error($this->db);
$error++;
}
@ -1379,7 +1379,7 @@ class Facture extends CommonObject
$dirdest = $conf->facture->dir_output.'/'.$snumfa;
if (file_exists($dirsource))
{
dol_syslog("Facture::set_valid() rename dir ".$dirsource." into ".$dirdest);
dol_syslog("Facture::set_valid rename dir ".$dirsource." into ".$dirdest);
if (@rename($dirsource, $dirdest))
{

View File

@ -21,20 +21,19 @@
*/
/**
\file htdocs/fourn/fournisseur.facture.class.php
\ingroup fournisseur,facture
\brief Fichier de la classe des factures fournisseurs
\version $Id$
* \file htdocs/fourn/fournisseur.facture.class.php
* \ingroup fournisseur,facture
* \brief Fichier de la classe des factures fournisseurs
* \version $Id$
*/
include_once(DOL_DOCUMENT_ROOT."/facture.class.php");
/**
\class FactureFournisseur
\brief Classe permettant la gestion des factures fournisseurs
* \class FactureFournisseur
* \brief Classe permettant la gestion des factures fournisseurs
*/
class FactureFournisseur extends Facture
{
var $id;
@ -426,14 +425,21 @@ class FactureFournisseur extends Facture
/**
* \brief Set invoice status as validate
* \param user Objet utilisateur qui valide la facture
* \return int <0 si ko, >0 si ok
* \brief Set invoice status as validated
* \param user Object user
* \return int <0 if KO, =0 if nothing to do, >0 if OK
*/
function set_valid($user)
{
global $conf,$langs;
// Protection
if ($this->statut > 0) // This is to avoid to validate twice (avoid errors on logs and stock management)
{
dol_syslog("FactureFournisseur::set_valid no draft status", LOG_WARNING);
return 0;
}
$this->db->begin();
$sql = "UPDATE ".MAIN_DB_PREFIX."facture_fourn";