Gestion du delete

This commit is contained in:
Rodolphe Quiedeville 2006-12-19 15:01:34 +00:00
parent 3ac0b15116
commit 0e6fe8d2d2

View File

@ -56,10 +56,12 @@ class RemiseCheque
*/
function Fetch($id)
{
$sql = "SELECT rowid, datec, fk_user_author,fk_bank_account,amount,number,statut";
$sql = "SELECT bc.rowid, bc.datec, bc.fk_user_author,bc.fk_bank_account,bc.amount,bc.number,bc.statut";
$sql.= ",".$this->db->pdate("date_bordereau"). " as date_bordereau";
$sql.= " FROM ".MAIN_DB_PREFIX."bordereau_cheque ";
$sql.= " WHERE rowid = $id;";
$sql.=",ba.label as account_label";
$sql.= " FROM ".MAIN_DB_PREFIX."bordereau_cheque as bc";
$sql.= " LEFT JOIN ".MAIN_DB_PREFIX."bank_account as ba ON bc.fk_bank_account = ba.rowid";
$sql.= " WHERE bc.rowid = $id;";
$resql = $this->db->query($sql);
@ -71,7 +73,8 @@ class RemiseCheque
$this->number = $obj->number;
$this->amount = $obj->amount;
$this->date_bordereau = $obj->date_bordereau;
$this->account_id = $obj->fk_account_id;
$this->account_id = $obj->fk_bank_account;
$this->account_label = $obj->account_label;
$this->author_id = $obj->fk_user_author;
$this->statut = $obj->statut;
}
@ -187,6 +190,59 @@ class RemiseCheque
return $this->errno;
}
/**
\brief Supprime la remise en base
\param user utilisateur qui effectue l'operation
\param account_id Compte bancaire concerne
*/
function Delete()
{
$this->errno = 0;
$this->db->begin();
$sql = "DELETE FROM ".MAIN_DB_PREFIX."bordereau_cheque";
$sql .= " WHERE rowid = $this->id;";
$resql = $this->db->query($sql);
if ( $resql )
{
$num = $this->db->affected_rows($resql);
if ($num <> 1)
{
$this->errno = -2;
dolibarr_syslog("Remisecheque::Delete Erreur Lecture ID ($this->errno)");
}
if ( $this->errno === 0)
{
$sql = "UPDATE ".MAIN_DB_PREFIX."bank";
$sql.= " SET fk_bordereau=0";
$sql.= " WHERE fk_bordereau='".$this->id."';";
$resql = $this->db->query($sql);
if (!$resql)
{
$this->errno = -19;
dolibarr_syslog("RemiseCheque::Delete ERREUR UPDATE ($this->errno)");
}
}
}
if ($this->errno === 0)
{
$this->db->commit();
}
else
{
$this->db->rollback();
dolibarr_syslog("RemiseCheque::Delete ROLLBACK ($this->errno)");
}
return $this->errno;
}
/**
\brief Insère la remise en base
\param user utilisateur qui effectue l'operation
@ -205,7 +261,7 @@ class RemiseCheque
if (!$resql)
{
$this->errno = -20;
dolibarr_syslog("RemiseCheque::Create ERREUR UPDATE ($this->errno)");
dolibarr_syslog("RemiseCheque::RemoveCheck ERREUR UPDATE ($this->errno)");
}
}
return 0;