Skip to content
Snippets Groups Projects
Commit 45e134bf authored by Florian Henry's avatar Florian Henry
Browse files

Better error return for project delete method

parent 40577ab4
No related branches found
No related tags found
No related merge requests found
...@@ -465,26 +465,46 @@ class Project extends CommonObject ...@@ -465,26 +465,46 @@ class Project extends CommonObject
dol_syslog(get_class($this) . "::delete sql=" . $sql, LOG_DEBUG); dol_syslog(get_class($this) . "::delete sql=" . $sql, LOG_DEBUG);
$resql = $this->db->query($sql); $resql = $this->db->query($sql);
if (!$resql)
{
$this->errors[] = $this->db->lasterror();
$error++;
}
$sql = "DELETE FROM " . MAIN_DB_PREFIX . "projet_task"; $sql = "DELETE FROM " . MAIN_DB_PREFIX . "projet_task";
$sql.= " WHERE fk_projet=" . $this->id; $sql.= " WHERE fk_projet=" . $this->id;
dol_syslog(get_class($this) . "::delete sql=" . $sql, LOG_DEBUG); dol_syslog(get_class($this) . "::delete sql=" . $sql, LOG_DEBUG);
$resql = $this->db->query($sql); $resql = $this->db->query($sql);
if (!$resql)
{
$this->errors[] = $this->db->lasterror();
$error++;
}
$sql = "DELETE FROM " . MAIN_DB_PREFIX . "projet"; $sql = "DELETE FROM " . MAIN_DB_PREFIX . "projet";
$sql.= " WHERE rowid=" . $this->id; $sql.= " WHERE rowid=" . $this->id;
dol_syslog(get_class($this) . "::delete sql=" . $sql, LOG_DEBUG); dol_syslog(get_class($this) . "::delete sql=" . $sql, LOG_DEBUG);
$resql = $this->db->query($sql); $resql = $this->db->query($sql);
if (!$resql)
{
$this->errors[] = $this->db->lasterror();
$error++;
}
$sql = "DELETE FROM " . MAIN_DB_PREFIX . "projet_extrafields"; $sql = "DELETE FROM " . MAIN_DB_PREFIX . "projet_extrafields";
$sql.= " WHERE fk_object=" . $this->id; $sql.= " WHERE fk_object=" . $this->id;
dol_syslog(get_class($this) . "::delete sql=" . $sql, LOG_DEBUG); dol_syslog(get_class($this) . "::delete sql=" . $sql, LOG_DEBUG);
$resql = $this->db->query($sql); $resql = $this->db->query($sql);
if (!$resql)
{
$this->errors[] = $this->db->lasterror();
$error++;
}
if ($resql) if (empty($error))
{ {
// We remove directory // We remove directory
$projectref = dol_sanitizeFileName($this->ref); $projectref = dol_sanitizeFileName($this->ref);
...@@ -496,9 +516,8 @@ class Project extends CommonObject ...@@ -496,9 +516,8 @@ class Project extends CommonObject
$res = @dol_delete_dir_recursive($dir); $res = @dol_delete_dir_recursive($dir);
if (!$res) if (!$res)
{ {
$this->error = 'ErrorFailToDeleteDir'; $this->errors[] = 'ErrorFailToDeleteDir';
$this->db->rollback(); $error++;
return 0;
} }
} }
} }
...@@ -512,18 +531,25 @@ class Project extends CommonObject ...@@ -512,18 +531,25 @@ class Project extends CommonObject
if ($result < 0) if ($result < 0)
{ {
$error++; $error++;
$this->errors = $interface->errors; foreach ($interface->errors as $errmsg ) {
dol_syslog(get_class($this) . "::delete " . $errmsg, LOG_ERR);
$this->errors[] =$errmsg;
}
} }
// End call triggers // End call triggers
} }
}
dol_syslog(get_class($this) . "::delete sql=" . $sql, LOG_DEBUG); if (empty($error)) {
$this->db->commit(); $this->db->commit();
return 1; return 1;
} }
else else
{ {
$this->error = $this->db->lasterror(); foreach ( $this->errors as $errmsg ) {
dol_syslog(get_class($this) . "::delete " . $errmsg, LOG_ERR);
$this->error .= ($this->error ? ', ' . $errmsg : $errmsg);
}
dol_syslog(get_class($this) . "::delete " . $this->error, LOG_ERR); dol_syslog(get_class($this) . "::delete " . $this->error, LOG_ERR);
$this->db->rollback(); $this->db->rollback();
return -1; return -1;
......
...@@ -64,7 +64,7 @@ $result = restrictedArea($user, 'projet', $object->id); ...@@ -64,7 +64,7 @@ $result = restrictedArea($user, 'projet', $object->id);
$extralabels=$extrafields->fetch_name_optionals_label($object->table_element); $extralabels=$extrafields->fetch_name_optionals_label($object->table_element);
$date_start=dol_mktime(0,0,0,GETPOST('projectmonth','int'),GETPOST('projectday','int'),GETPOST('projectyear','int')); $date_start=dol_mktime(0,0,0,GETPOST('projectmonth','int'),GETPOST('projectday','int'),GETPOST('projectyear','int'));
$date_end=dol_mktime(0,0,0,GETPOST('projectendmonth','int'),GETPOST('projectendday','int'),GETPOST('projectendyear','int'));; $date_end=dol_mktime(0,0,0,GETPOST('projectendmonth','int'),GETPOST('projectendday','int'),GETPOST('projectendyear','int'));
/* /*
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment