FIX Set unpaid of expense report

This commit is contained in:
Laurent Destailleur 2019-10-29 11:35:33 +01:00
parent 5e06fe0712
commit 21d15c3bcb

View File

@ -106,6 +106,11 @@ class ExpenseReport extends CommonObject
*/ */
const STATUS_VALIDATED = 2; const STATUS_VALIDATED = 2;
/**
* Classified canceled
*/
const STATUS_CANCELED = 4;
/** /**
* Classified approved * Classified approved
*/ */
@ -1205,10 +1210,10 @@ class ExpenseReport extends CommonObject
$this->date_debut = $this->db->jdate($objp->date_debut); $this->date_debut = $this->db->jdate($objp->date_debut);
if ($this->fk_statut != 2) if ($this->fk_statut != self::STATUS_VALIDATED)
{ {
$sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element;
$sql.= " SET fk_statut = 2"; $sql.= " SET fk_statut = ".self::STATUS_VALIDATED;
$sql.= ' WHERE rowid = '.$this->id; $sql.= ' WHERE rowid = '.$this->id;
dol_syslog(get_class($this)."::set_save_from_refuse sql=".$sql, LOG_DEBUG); dol_syslog(get_class($this)."::set_save_from_refuse sql=".$sql, LOG_DEBUG);
@ -1243,12 +1248,12 @@ class ExpenseReport extends CommonObject
// date approval // date approval
$this->date_approve = $now; $this->date_approve = $now;
if ($this->fk_statut != 5) if ($this->fk_statut != self::STATUS_APPROVED)
{ {
$this->db->begin(); $this->db->begin();
$sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element;
$sql.= " SET ref = '".$this->db->escape($this->ref)."', fk_statut = 5, fk_user_approve = ".$fuser->id.","; $sql.= " SET ref = '".$this->db->escape($this->ref)."', fk_statut = ".self::STATUS_APPROVED.", fk_user_approve = ".$fuser->id.",";
$sql.= " date_approve='".$this->db->idate($this->date_approve)."'"; $sql.= " date_approve='".$this->db->idate($this->date_approve)."'";
$sql.= ' WHERE rowid = '.$this->id; $sql.= ' WHERE rowid = '.$this->id;
if ($this->db->query($sql)) if ($this->db->query($sql))
@ -1304,10 +1309,10 @@ class ExpenseReport extends CommonObject
$error = 0; $error = 0;
// date de refus // date de refus
if ($this->fk_statut != 99) if ($this->fk_statut != self::STATUS_REFUSED)
{ {
$sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element;
$sql.= " SET ref = '".$this->db->escape($this->ref)."', fk_statut = 99, fk_user_refuse = ".$fuser->id.","; $sql.= " SET ref = '".$this->db->escape($this->ref)."', fk_statut = ".self::STATUS_REFUSED.", fk_user_refuse = ".$fuser->id.",";
$sql.= " date_refuse='".$this->db->idate($now)."',"; $sql.= " date_refuse='".$this->db->idate($now)."',";
$sql.= " detail_refuse='".$this->db->escape($details)."',"; $sql.= " detail_refuse='".$this->db->escape($details)."',";
$sql.= " fk_user_approve = NULL"; $sql.= " fk_user_approve = NULL";
@ -1371,7 +1376,7 @@ class ExpenseReport extends CommonObject
$this->db->begin(); $this->db->begin();
$sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element;
$sql.= " SET paid = 0"; $sql.= " SET paid = 0, fk_statut = ".self::STATUS_APPROVED;
$sql.= ' WHERE rowid = '.$this->id; $sql.= ' WHERE rowid = '.$this->id;
dol_syslog(get_class($this)."::set_unpaid sql=".$sql, LOG_DEBUG); dol_syslog(get_class($this)."::set_unpaid sql=".$sql, LOG_DEBUG);
@ -1426,12 +1431,12 @@ class ExpenseReport extends CommonObject
{ {
$error = 0; $error = 0;
$this->date_cancel = $this->db->idate(gmmktime()); $this->date_cancel = $this->db->idate(gmmktime());
if ($this->fk_statut != 4) if ($this->fk_statut != self::STATUS_CANCELED)
{ {
$this->db->begin(); $this->db->begin();
$sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element; $sql = 'UPDATE '.MAIN_DB_PREFIX.$this->table_element;
$sql.= " SET fk_statut = 4, fk_user_cancel = ".$fuser->id; $sql.= " SET fk_statut = ".self::STATUS_CANCELED.", fk_user_cancel = ".$fuser->id;
$sql.= ", date_cancel='".$this->db->idate($this->date_cancel)."'"; $sql.= ", date_cancel='".$this->db->idate($this->date_cancel)."'";
$sql.= " ,detail_cancel='".$this->db->escape($detail)."'"; $sql.= " ,detail_cancel='".$this->db->escape($detail)."'";
$sql.= ' WHERE rowid = '.$this->id; $sql.= ' WHERE rowid = '.$this->id;