Fix: Pb de suppression de contrat
This commit is contained in:
parent
478540c17f
commit
93b5d4602f
@ -536,7 +536,7 @@ class Contrat extends CommonObject
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* \brief Supprime un contrat de la base
|
* \brief Supprime l'objet de la base
|
||||||
* \param user Utilisateur qui supprime
|
* \param user Utilisateur qui supprime
|
||||||
* \param langs Environnement langue de l'utilisateur
|
* \param langs Environnement langue de l'utilisateur
|
||||||
* \param conf Environnement de configuration lors de l'opération
|
* \param conf Environnement de configuration lors de l'opération
|
||||||
@ -544,21 +544,75 @@ class Contrat extends CommonObject
|
|||||||
*/
|
*/
|
||||||
function delete($user,$langs='',$conf='')
|
function delete($user,$langs='',$conf='')
|
||||||
{
|
{
|
||||||
|
$error=0;
|
||||||
|
|
||||||
$this->db->begin();
|
$this->db->begin();
|
||||||
|
|
||||||
|
if (! $error)
|
||||||
|
{
|
||||||
|
// Delete element_contact
|
||||||
|
$sql = "DELETE ec";
|
||||||
|
$sql.= " FROM ".MAIN_DB_PREFIX."element_contact as ec, ".MAIN_DB_PREFIX."c_type_contact as tc";
|
||||||
|
$sql.= " WHERE ec.fk_c_type_contact = tc.rowid";
|
||||||
|
$sql.= " AND tc.element='".$this->element."'";
|
||||||
|
$sql.= " AND ec.element_id=".$this->id;
|
||||||
|
|
||||||
|
dolibarr_syslog("Contrat::delete element_contact sql=".$sql);
|
||||||
|
$resql=$this->db->query($sql);
|
||||||
|
if (! $resql)
|
||||||
|
{
|
||||||
|
$this->error=$this->db->error();
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! $error)
|
||||||
|
{
|
||||||
|
// Delete contratdet_log
|
||||||
|
$sql = "DELETE cdl";
|
||||||
|
$sql.= " FROM ".MAIN_DB_PREFIX."contratdet_log as cdl, ".MAIN_DB_PREFIX."contratdet as cd";
|
||||||
|
$sql.= " WHERE cdl.fk_contratdet=cd.rowid AND cd.fk_contrat=".$this->id;
|
||||||
|
|
||||||
|
dolibarr_syslog("Contrat::delete contratdet_log sql=".$sql);
|
||||||
|
$resql=$this->db->query($sql);
|
||||||
|
if (! $resql)
|
||||||
|
{
|
||||||
|
$this->error=$this->db->error();
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! $error)
|
||||||
|
{
|
||||||
|
// Delete contratdet
|
||||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."contratdet";
|
$sql = "DELETE FROM ".MAIN_DB_PREFIX."contratdet";
|
||||||
$sql.= " WHERE fk_contrat=".$this->id;
|
$sql.= " WHERE fk_contrat=".$this->id;
|
||||||
|
|
||||||
dolibarr_syslog("Contrat::delete contratdet sql=".$sql);
|
dolibarr_syslog("Contrat::delete contratdet sql=".$sql);
|
||||||
$resql=$this->db->query($sql);
|
$resql=$this->db->query($sql);
|
||||||
if ($resql)
|
if (! $resql)
|
||||||
{
|
{
|
||||||
|
$this->error=$this->db->error();
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! $error)
|
||||||
|
{
|
||||||
|
// Delete contrat
|
||||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."contrat";
|
$sql = "DELETE FROM ".MAIN_DB_PREFIX."contrat";
|
||||||
$sql.= " WHERE rowid=".$this->id;
|
$sql.= " WHERE rowid=".$this->id;
|
||||||
|
|
||||||
dolibarr_syslog("Contrat::delete contrat sql=".$sql);
|
dolibarr_syslog("Contrat::delete contrat sql=".$sql);
|
||||||
$resql=$this->db->query($sql);
|
$resql=$this->db->query($sql);
|
||||||
if ($resql)
|
if (! $resql)
|
||||||
|
{
|
||||||
|
$this->error=$this->db->error();
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! $error)
|
||||||
{
|
{
|
||||||
// Appel des triggers
|
// Appel des triggers
|
||||||
include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php");
|
include_once(DOL_DOCUMENT_ROOT . "/interfaces.class.php");
|
||||||
@ -577,14 +631,6 @@ class Contrat extends CommonObject
|
|||||||
return -1;
|
return -1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
|
||||||
{
|
|
||||||
$this->error=$this->db->error();
|
|
||||||
dolibarr_syslog("Contrat::delete ERROR ".$this->error);
|
|
||||||
$this->db->rollback();
|
|
||||||
return -2;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@ -1,6 +1,6 @@
|
|||||||
<?php
|
<?php
|
||||||
/* Copyright (C) 2003-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
/* Copyright (C) 2003-2004 Rodolphe Quiedeville <rodolphe@quiedeville.org>
|
||||||
* Copyright (C) 2004-2006 Laurent Destailleur <eldy@users.sourceforge.net>
|
* Copyright (C) 2004-2007 Laurent Destailleur <eldy@users.sourceforge.net>
|
||||||
* Copyright (C) 2006 Andre Cianfarani <acianfa@free.fr>
|
* Copyright (C) 2006 Andre Cianfarani <acianfa@free.fr>
|
||||||
* This program is free software; you can redistribute it and/or modify
|
* This program is free software; you can redistribute it and/or modify
|
||||||
* it under the terms of the GNU General Public License as published by
|
* it under the terms of the GNU General Public License as published by
|
||||||
@ -647,11 +647,6 @@ else
|
|||||||
print "</td></tr>";
|
print "</td></tr>";
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Remplacer par fonction des contacts de contrat
|
|
||||||
// Commerciaux
|
|
||||||
print '<tr><td width="25%">'.$langs->trans("SalesRepresentativeFollowUp").'</td><td>'.$commercial_suivi->fullname.'</td>';
|
|
||||||
print '<td width="25%">'.$langs->trans("SalesRepresentativeSignature").'</td><td>'.$commercial_signature->fullname.'</td></tr>';
|
|
||||||
*/
|
|
||||||
print "</table>";
|
print "</table>";
|
||||||
|
|
||||||
if ($contrat->brouillon == 1 && $user->rights->contrat->creer)
|
if ($contrat->brouillon == 1 && $user->rights->contrat->creer)
|
||||||
@ -987,7 +982,10 @@ else
|
|||||||
print '<a class="butAction" href="fiche.php?id='.$id.'&action=close">'.$langs->trans("Close").'</a>';
|
print '<a class="butAction" href="fiche.php?id='.$id.'&action=close">'.$langs->trans("Close").'</a>';
|
||||||
}
|
}
|
||||||
|
|
||||||
if ($contrat->statut == 0 && $user->rights->contrat->supprimer)
|
// On peut supprimer entite si
|
||||||
|
// - Droit de creer + mode brouillon (erreur creation)
|
||||||
|
// - Droit de supprimer
|
||||||
|
if (($user->rights->contrat->creer && $contrat->statut == 0) || $user->rights->contrat->supprimer)
|
||||||
{
|
{
|
||||||
print '<a class="butActionDelete" href="fiche.php?id='.$id.'&action=delete">'.$langs->trans("Delete").'</a>';
|
print '<a class="butActionDelete" href="fiche.php?id='.$id.'&action=delete">'.$langs->trans("Delete").'</a>';
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user