Fix: La suppression de contrat chouait si il existait des lignes contrat.

This commit is contained in:
Laurent Destailleur 2007-01-22 22:35:42 +00:00
parent d0d52ec7a7
commit 6804b213de
2 changed files with 48 additions and 20 deletions

View File

@ -544,26 +544,47 @@ class Contrat extends CommonObject
*/
function delete($user,$langs='',$conf='')
{
$sql = "DELETE FROM ".MAIN_DB_PREFIX."contrat";
$sql.= " WHERE rowid=".$this->id;
$this->db->begin();
$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);
if ($resql)
{
// Appel des triggers
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
return 1;
}
else
{
$this->error=$this->db->error();
return -1;
}
}
$sql = "DELETE FROM ".MAIN_DB_PREFIX."contrat";
$sql.= " WHERE rowid=".$this->id;
dolibarr_syslog("Contrat::delete contrat sql=".$sql);
$resql=$this->db->query($sql);
if ($resql)
{
// Appel des triggers
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;
}
}
/**

View File

@ -285,9 +285,16 @@ if ($_POST["action"] == 'confirm_delete' && $_POST["confirm"] == 'yes')
{
$contrat = new Contrat($db);
$contrat->id = $_GET["id"];
$contrat->delete($user,$langs,$conf);
Header("Location: index.php");
return;
$result=$contrat->delete($user,$langs,$conf);
if ($result >= 0)
{
Header("Location: index.php");
return;
}
else
{
$mesg='<div class="error">'.$contrat->error.'</div>';
}
}
}