diff --git a/htdocs/core/class/commonobject.class.php b/htdocs/core/class/commonobject.class.php
index f2e4980ea47..6a15904ffab 100644
--- a/htdocs/core/class/commonobject.class.php
+++ b/htdocs/core/class/commonobject.class.php
@@ -3350,25 +3350,26 @@ abstract class CommonObject
$this->db->begin();
$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);
- if ($this->db->query($sql))
- {
- if (! $notrigger)
+ $resql=$this->db->query($sql);
+ if (! $resql)
+ {
+ $this->error=$this->db->lasterror();
+ $this->db->rollback();
+ return -1;
+ }
+ else
+ {
+ if (! $notrigger)
{
$result=$this->call_trigger(strtoupper($element).'_DELETE_RESOURCE', $user);
if ($result < 0) { $this->db->rollback(); return -1; }
}
-
- return 1;
- }
- else
- {
- $this->error=$this->db->lasterror();
- $this->db->rollback();
- return -1;
- }
+ $this->db->commit();
+ return 1;
+ }
}
diff --git a/htdocs/core/tpl/resource_view.tpl.php b/htdocs/core/tpl/resource_view.tpl.php
index d57b66cc331..75a69996603 100644
--- a/htdocs/core/tpl/resource_view.tpl.php
+++ b/htdocs/core/tpl/resource_view.tpl.php
@@ -90,7 +90,7 @@ if( (array) $linked_resources && count($linked_resources) > 0)
print img_edit();
print '';
print ' ';
- print '';
+ print '';
print img_delete();
print '';
print '';
diff --git a/htdocs/resource/element_resource.php b/htdocs/resource/element_resource.php
index d50c9a4ec6f..6b6b5553d72 100644
--- a/htdocs/resource/element_resource.php
+++ b/htdocs/resource/element_resource.php
@@ -59,7 +59,7 @@ $hookmanager->initHooks(array('element_resource'));
$object->available_resources = array('resource');
// Get parameters
-$id = GETPOST('id','int');
+$id = GETPOST('id','int');
$action = GETPOST('action','alpha');
$mode = GETPOST('mode','alpha');
$lineid = GETPOST('lineid','int');
@@ -70,6 +70,7 @@ $resource_type = GETPOST('resource_type','alpha');
$busy = GETPOST('busy','int');
$mandatory = GETPOST('mandatory','int');
$cancel = GETPOST('cancel','alpha');
+$confirm = GETPOST('confirm','alpha');
if($action == 'add_element_resource' && ! $cancel)
{
@@ -113,22 +114,22 @@ if ($action == 'update_linked_resource' && $user->rights->resource->write && !GE
}
// 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'));
- if($res)
+ $res = $object->fetch($id);
+ if($res > 0)
{
- $result = $object->delete_resource($lineid,$element);
+ $result = $object->delete_resource($lineid,$element);
- if ($result >= 0)
- {
- setEventMessage($langs->trans('RessourceLineSuccessfullyDeleted'));
- Header("Location: ".$_SERVER['PHP_SELF']."?element=".$element."&element_id=".$element_id);
- exit;
- }
- else {
- setEventMessage($object->error,'errors');
- }
+ if ($result >= 0)
+ {
+ setEventMessage($langs->trans('RessourceLineSuccessfullyDeleted'));
+ Header("Location: ".$_SERVER['PHP_SELF']."?element=".$element."&element_id=".$element_id);
+ exit;
+ }
+ else {
+ setEventMessage($object->error,'errors');
+ }
}
else
{
@@ -173,7 +174,7 @@ else
// Confirmation suppression resource line
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);
}