Fix: error when deleting resource

This commit is contained in:
jfefe 2015-04-18 18:07:59 +02:00
parent fe01c4470d
commit f2e19f2326
3 changed files with 31 additions and 29 deletions

View File

@ -3350,25 +3350,26 @@ abstract class CommonObject
$this->db->begin(); $this->db->begin();
$sql = "DELETE FROM ".MAIN_DB_PREFIX."element_resources"; $sql = "DELETE FROM ".MAIN_DB_PREFIX."element_resources";
$sql.= " WHERE rowid =".$rowid; $sql.= " WHERE rowid=".$rowid;
dol_syslog(get_class($this)."::delete_resource", LOG_DEBUG); dol_syslog(get_class($this)."::delete_resource", LOG_DEBUG);
if ($this->db->query($sql)) $resql=$this->db->query($sql);
if (! $resql)
{
$this->error=$this->db->lasterror();
$this->db->rollback();
return -1;
}
else
{ {
if (! $notrigger) if (! $notrigger)
{ {
$result=$this->call_trigger(strtoupper($element).'_DELETE_RESOURCE', $user); $result=$this->call_trigger(strtoupper($element).'_DELETE_RESOURCE', $user);
if ($result < 0) { $this->db->rollback(); return -1; } if ($result < 0) { $this->db->rollback(); return -1; }
} }
$this->db->commit();
return 1; return 1;
} }
else
{
$this->error=$this->db->lasterror();
$this->db->rollback();
return -1;
}
} }

View File

@ -90,7 +90,7 @@ if( (array) $linked_resources && count($linked_resources) > 0)
print img_edit(); print img_edit();
print '</a>'; print '</a>';
print '&nbsp;'; print '&nbsp;';
print '<a href="'.$_SERVER['PHP_SELF'].'?action=delete_resource&element='.$element.'&element_id='.$element_id.'&lineid='.$linked_resource['rowid'].'">'; print '<a href="'.$_SERVER['PHP_SELF'].'?action=delete_resource&id='.$linked_resource['resource_id'].'&element='.$element.'&element_id='.$element_id.'&lineid='.$linked_resource['rowid'].'">';
print img_delete(); print img_delete();
print '</a>'; print '</a>';
print '</div>'; print '</div>';

View File

@ -70,6 +70,7 @@ $resource_type = GETPOST('resource_type','alpha');
$busy = GETPOST('busy','int'); $busy = GETPOST('busy','int');
$mandatory = GETPOST('mandatory','int'); $mandatory = GETPOST('mandatory','int');
$cancel = GETPOST('cancel','alpha'); $cancel = GETPOST('cancel','alpha');
$confirm = GETPOST('confirm','alpha');
if($action == 'add_element_resource' && ! $cancel) if($action == 'add_element_resource' && ! $cancel)
{ {
@ -113,10 +114,10 @@ if ($action == 'update_linked_resource' && $user->rights->resource->write && !GE
} }
// Delete a resource linked to an element // Delete a resource linked to an element
if ($action == 'confirm_delete_linked_resource' && $user->rights->resource->delete && GETPOST('confirm') == 'yes') if ($action == 'confirm_delete_linked_resource' && $user->rights->resource->delete && $confirm === 'yes')
{ {
$res = $object->fetch(GETPOST('id')); $res = $object->fetch($id);
if($res) if($res > 0)
{ {
$result = $object->delete_resource($lineid,$element); $result = $object->delete_resource($lineid,$element);
@ -173,7 +174,7 @@ else
// Confirmation suppression resource line // Confirmation suppression resource line
if ($action == 'delete_resource') if ($action == 'delete_resource')
{ {
print $form->formconfirm("element_resource.php?element=".$element."&element_id=".$element_id."&lineid=".$lineid,$langs->trans("DeleteResource"),$langs->trans("ConfirmDeleteResourceElement"),"confirm_delete_linked_resource",'','',1); print $form->formconfirm("element_resource.php?element=".$element."&element_id=".$element_id."&id=".$id."&lineid=".$lineid,$langs->trans("DeleteResource"),$langs->trans("ConfirmDeleteResourceElement"),"confirm_delete_linked_resource",'','',1);
} }