Skip to content

Commit

Permalink
Merge pull request #1583 from FHenry/3.5
Browse files Browse the repository at this point in the history
Fix error return project deletion
  • Loading branch information
eldy committed May 7, 2014
2 parents ef2a8a0 + 0e2497e commit 4bf8650
Show file tree
Hide file tree
Showing 3 changed files with 46 additions and 19 deletions.
2 changes: 1 addition & 1 deletion htdocs/core/lib/functions2.lib.php
Expand Up @@ -1286,7 +1286,7 @@ function getListOfModels($db,$type,$maxfilenamelength=0)
$sql.= " WHERE type = '".$type."'";
$sql.= " AND entity IN (0,".(! empty($conf->multicompany->enabled) && ! empty($conf->multicompany->transverse_mode)?"1,":"").$conf->entity.")";

dol_syslog(get_class($this).'::getListOfModels sql='.$sql, LOG_DEBUG);
dol_syslog('/core/lib/function2.lib.php::getListOfModels sql='.$sql, LOG_DEBUG);
$resql = $db->query($sql);
if ($resql)
{
Expand Down
61 changes: 44 additions & 17 deletions htdocs/projet/class/project.class.php
Expand Up @@ -481,26 +481,47 @@ function delete($user, $notrigger=0)

dol_syslog(get_class($this) . "::delete sql=" . $sql, LOG_DEBUG);
$resql = $this->db->query($sql);
if (!$resql)
{
$this->errors[] = $this->db->lasterror();
$error++;
}

$sql = "DELETE FROM " . MAIN_DB_PREFIX . "projet_task";
$sql.= " WHERE fk_projet=" . $this->id;

dol_syslog(get_class($this) . "::delete sql=" . $sql, LOG_DEBUG);
$resql = $this->db->query($sql);
if (!$resql)
{
$this->errors[] = $this->db->lasterror();
$error++;
}

$sql = "DELETE FROM " . MAIN_DB_PREFIX . "projet";
$sql.= " WHERE rowid=" . $this->id;

dol_syslog(get_class($this) . "::delete sql=" . $sql, LOG_DEBUG);
$resql = $this->db->query($sql);
if (!$resql)
{
$this->errors[] = $this->db->lasterror();
$error++;
}

$sql = "DELETE FROM " . MAIN_DB_PREFIX . "projet_extrafields";
$sql.= " WHERE fk_object=" . $this->id;


dol_syslog(get_class($this) . "::delete sql=" . $sql, LOG_DEBUG);
$resql = $this->db->query($sql);
if (!$resql)
{
$this->errors[] = $this->db->lasterror();
$error++;
}

if ($resql)
if (empty($error))
{
// We remove directory
$projectref = dol_sanitizeFileName($this->ref);
Expand All @@ -512,34 +533,40 @@ function delete($user, $notrigger=0)
$res = @dol_delete_dir_recursive($dir);
if (!$res)
{
$this->error = 'ErrorFailToDeleteDir';
$this->db->rollback();
return 0;
$this->errors[] = 'ErrorFailToDeleteDir';
$error++;
}
}
}

if (!$notrigger)
{
// Call triggers
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
$interface = new Interfaces($this->db);
$result = $interface->run_triggers('PROJECT_DELETE', $this, $user, $langs, $conf);
if ($result < 0)
{
$error++;
$this->errors = $interface->errors;
}
// End call triggers
// Call triggers
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
$interface = new Interfaces($this->db);
$result = $interface->run_triggers('PROJECT_DELETE', $this, $user, $langs, $conf);
if ($result < 0)
{
$error++;
foreach ($interface->errors as $errmsg ) {
dol_syslog(get_class($this) . "::delete " . $errmsg, LOG_ERR);
$this->errors[] =$errmsg;
}
}
// End call triggers
}

dol_syslog(get_class($this) . "::delete sql=" . $sql, LOG_DEBUG);
}

if (empty($error)) {
$this->db->commit();
return 1;
}
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);
$this->db->rollback();
return -1;
Expand Down
2 changes: 1 addition & 1 deletion htdocs/projet/fiche.php
Expand Up @@ -64,7 +64,7 @@
$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_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'));


/*
Expand Down

0 comments on commit 4bf8650

Please sign in to comment.