Fix: La suppression de contrat échouait si il existait des lignes contrat.
This commit is contained in:
parent
d0d52ec7a7
commit
6804b213de
@ -544,26 +544,47 @@ class Contrat extends CommonObject
|
|||||||
*/
|
*/
|
||||||
function delete($user,$langs='',$conf='')
|
function delete($user,$langs='',$conf='')
|
||||||
{
|
{
|
||||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."contrat";
|
$this->db->begin();
|
||||||
$sql.= " WHERE rowid=".$this->id;
|
|
||||||
|
|
||||||
|
$sql = "DELETE FROM ".MAIN_DB_PREFIX."contratdet";
|
||||||
|
$sql.= " WHERE fk_contrat=".$this->id;
|
||||||
|
|
||||||
|
dolibarr_syslog("Contrat::delete contratdet sql=".$sql);
|
||||||
$resql=$this->db->query($sql);
|
$resql=$this->db->query($sql);
|
||||||
if ($resql)
|
if ($resql)
|
||||||
{
|
{
|
||||||
// Appel des triggers
|
$sql = "DELETE FROM ".MAIN_DB_PREFIX."contrat";
|
||||||
include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php");
|
$sql.= " WHERE rowid=".$this->id;
|
||||||
$interface=new Interfaces($this->db);
|
|
||||||
$result=$interface->run_triggers('CONTRACT_DELETE',$this,$user,$langs,$conf);
|
|
||||||
// Fin appel triggers
|
|
||||||
|
|
||||||
return 1;
|
dolibarr_syslog("Contrat::delete contrat sql=".$sql);
|
||||||
}
|
$resql=$this->db->query($sql);
|
||||||
else
|
if ($resql)
|
||||||
{
|
{
|
||||||
$this->error=$this->db->error();
|
// Appel des triggers
|
||||||
return -1;
|
include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php");
|
||||||
}
|
$interface=new Interfaces($this->db);
|
||||||
}
|
$result=$interface->run_triggers('CONTRACT_DELETE',$this,$user,$langs,$conf);
|
||||||
|
// Fin appel triggers
|
||||||
|
|
||||||
|
$this->db->commit();
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->error=$this->db->error();
|
||||||
|
dolibarr_syslog("Contrat::delete ERROR ".$this->error);
|
||||||
|
$this->db->rollback();
|
||||||
|
return -1;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->error=$this->db->error();
|
||||||
|
dolibarr_syslog("Contrat::delete ERROR ".$this->error);
|
||||||
|
$this->db->rollback();
|
||||||
|
return -2;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -285,9 +285,16 @@ if ($_POST["action"] == 'confirm_delete' && $_POST["confirm"] == 'yes')
|
|||||||
{
|
{
|
||||||
$contrat = new Contrat($db);
|
$contrat = new Contrat($db);
|
||||||
$contrat->id = $_GET["id"];
|
$contrat->id = $_GET["id"];
|
||||||
$contrat->delete($user,$langs,$conf);
|
$result=$contrat->delete($user,$langs,$conf);
|
||||||
Header("Location: index.php");
|
if ($result >= 0)
|
||||||
return;
|
{
|
||||||
|
Header("Location: index.php");
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$mesg='<div class="error">'.$contrat->error.'</div>';
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user