New : delete resource
This commit is contained in:
parent
45aa1b9136
commit
e9453437f1
@ -4,8 +4,7 @@ MenuResourceAdd=New resource
|
||||
MenuResourcePlanning=Resource planning
|
||||
DeleteResource=Delete resource
|
||||
ConfirmDeleteResourceElement=Confirm delete the resource for this element
|
||||
|
||||
NoResourceLinked=No resource linked
|
||||
NoResourceInDatabase=No resource in database.
|
||||
NoResourceLinked=No resource linked
|
||||
|
||||
ResourcePageIndex=Resources list
|
||||
@ -29,5 +28,6 @@ RessourceLineSuccessfullyDeleted=Resource line successfully deleted
|
||||
RessourceLineSuccessfullyUpdated=Resource line successfully updated
|
||||
|
||||
TitleResourceCard=Resource card
|
||||
|
||||
ConfirmDeleteResource=Confirm to delete this resource
|
||||
RessourceSuccessfullyDeleted=Resource successfully deleted
|
||||
DictionaryResourceType=Type of resources
|
||||
@ -4,7 +4,6 @@ MenuResourceAdd=Nouvelle ressource
|
||||
MenuResourcePlanning=Planning des Ressources
|
||||
DeleteResource=Effacer resource
|
||||
ConfirmDeleteResourceElement=Confirmer la suppression de la ressource pour cet élément
|
||||
|
||||
NoResourceInDatabase=Aucune ressource en base de données.
|
||||
NoResourceLinked=Aucune ressource liée
|
||||
|
||||
@ -29,5 +28,6 @@ RessourceLineSuccessfullyDeleted=Ressource supprimée avec succès
|
||||
RessourceLineSuccessfullyUpdated=Ressource mise à jour
|
||||
|
||||
TitleResourceCard=Fiche resource
|
||||
|
||||
ConfirmDeleteResource=Confirmer la suppression de cette ressource?
|
||||
RessourceSuccessfullyDeleted=Ressource effacée avec succès
|
||||
DictionaryResourceType=Type de ressources
|
||||
@ -58,6 +58,9 @@ if( ! $user->rights->resource->read)
|
||||
$object = new Resource($db);
|
||||
|
||||
$hookmanager->initHooks(array('resource_card'));
|
||||
$parameters=array('resource_id'=>$id);
|
||||
$reshook=$hookmanager->executeHooks('doActions',$parameters,$object,$action); // Note that $action and $object may have been modified by some hooks
|
||||
|
||||
|
||||
/*******************************************************************
|
||||
* ACTIONS
|
||||
@ -115,7 +118,7 @@ if ($action == 'update' && ! $_POST["cancel"] && $user->rights->resource->write
|
||||
*
|
||||
* Put here all code to build page
|
||||
****************************************************/
|
||||
$pagetitle = $langs->trans('Card');
|
||||
$pagetitle = $langs->trans('ResourceCard');
|
||||
llxHeader('',$pagetitle,'');
|
||||
|
||||
$form = new Form($db);
|
||||
@ -167,6 +170,11 @@ if ( $object->fetch($id) > 0 )
|
||||
}
|
||||
else
|
||||
{
|
||||
// Confirmation suppression resource line
|
||||
if ($action == 'delete')
|
||||
{
|
||||
print $form->formconfirm("card.php?&id=".$id,$langs->trans("DeleteResource"),$langs->trans("ConfirmDeleteResource"),"confirm_delete_resource",'','',1);
|
||||
}
|
||||
|
||||
/*---------------------------------------
|
||||
* View object
|
||||
@ -219,6 +227,16 @@ if ( $object->fetch($id) > 0 )
|
||||
print '</div>';
|
||||
}
|
||||
}
|
||||
if ($action != "delete" )
|
||||
{
|
||||
// Edit resource
|
||||
if($user->rights->resource->delete)
|
||||
{
|
||||
print '<div class="inline-block divButAction">';
|
||||
print '<a href="'.$_SERVER['PHP_SELF'].'?id='.$id.'&action=delete" class="butActionDelete">'.$langs->trans('Delete').'</a>';
|
||||
print '</div>';
|
||||
}
|
||||
}
|
||||
}
|
||||
print '</div>';
|
||||
}
|
||||
|
||||
@ -53,6 +53,32 @@ class ActionsResource
|
||||
global $langs,$user;
|
||||
$langs->load('resource');
|
||||
|
||||
if (in_array('resource_card',explode(':',$parameters['context'])))
|
||||
{
|
||||
if($action == 'confirm_delete_resource' && !GETPOST('cancel'))
|
||||
{
|
||||
$res = $object->fetch(GETPOST('id'));
|
||||
if($res)
|
||||
{
|
||||
|
||||
$result = $object->delete(GETPOST('id'));
|
||||
|
||||
if ($result >= 0)
|
||||
{
|
||||
setEventMessage($langs->trans('RessourceSuccessfullyDeleted'));
|
||||
Header("Location: ".$_SERVER['PHP_SELF']."?element=".GETPOST('element')."&element_id=".GETPOST('element_id'));
|
||||
exit;
|
||||
}
|
||||
else {
|
||||
setEventMessage($object->error,'errors');
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
setEventMessage($object->error,'errors');
|
||||
}
|
||||
}
|
||||
}
|
||||
if (in_array('element_resource',explode(':',$parameters['context'])))
|
||||
{
|
||||
|
||||
|
||||
@ -320,6 +320,57 @@ class Resource extends CommonObject
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete a resource object
|
||||
*
|
||||
* @param int $rowid Id of resource line to delete
|
||||
* @param int $notrigger Disable all triggers
|
||||
* @return int >0 if OK, <0 if KO
|
||||
*/
|
||||
function delete($rowid, $notrigger=0)
|
||||
{
|
||||
global $user,$langs,$conf;
|
||||
|
||||
$error=0;
|
||||
|
||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."resource";
|
||||
$sql.= " WHERE rowid =".$rowid;
|
||||
|
||||
dol_syslog(get_class($this)."::delete sql=".$sql);
|
||||
if ($this->db->query($sql))
|
||||
{
|
||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."element_resources";
|
||||
$sql.= " WHERE element_type='resource' AND resource_id ='".$this->db->escape($rowid)."'";
|
||||
dol_syslog(get_class($this)."::delete sql=".$sql);
|
||||
if ($this->db->query($sql))
|
||||
{
|
||||
if (! $notrigger)
|
||||
{
|
||||
// Call triggers
|
||||
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
|
||||
$interface=new Interfaces($this->db);
|
||||
$result=$interface->run_triggers('RESOURCE_DELETE',$this,$user,$langs,$conf);
|
||||
if ($result < 0) {
|
||||
$error++; $this->errors=$interface->errors;
|
||||
}
|
||||
// End call triggers
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
else {
|
||||
$this->error=$this->db->lasterror();
|
||||
dol_syslog(get_class($this)."::delete_resource error=".$this->error, LOG_ERR);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->error=$this->db->lasterror();
|
||||
dol_syslog(get_class($this)."::delete_resource error=".$this->error, LOG_ERR);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
/**
|
||||
* Load resource objects into $this->lines
|
||||
*
|
||||
@ -769,48 +820,6 @@ class Resource extends CommonObject
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
* Delete a link to resource line
|
||||
* TODO: move into commonobject class
|
||||
*
|
||||
* @param int $rowid Id of resource line to delete
|
||||
* @param int $element element name (for trigger) TODO: use $this->element into commonobject class
|
||||
* @param int $notrigger Disable all triggers
|
||||
* @return int >0 if OK, <0 if KO
|
||||
*/
|
||||
function delete_resource($rowid, $element, $notrigger=0)
|
||||
{
|
||||
global $user,$langs,$conf;
|
||||
|
||||
$error=0;
|
||||
|
||||
$sql = "DELETE FROM ".MAIN_DB_PREFIX."element_resources";
|
||||
$sql.= " WHERE rowid =".$rowid;
|
||||
|
||||
dol_syslog(get_class($this)."::delete_resource sql=".$sql);
|
||||
if ($this->db->query($sql))
|
||||
{
|
||||
if (! $notrigger)
|
||||
{
|
||||
// Call triggers
|
||||
include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
|
||||
$interface=new Interfaces($this->db);
|
||||
$result=$interface->run_triggers(strtoupper($element).'_DELETE_RESOURCE',$this,$user,$langs,$conf);
|
||||
if ($result < 0) {
|
||||
$error++; $this->errors=$interface->errors;
|
||||
}
|
||||
// End call triggers
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
$this->error=$this->db->lasterror();
|
||||
dol_syslog(get_class($this)."::delete_resource error=".$this->error, LOG_ERR);
|
||||
return -1;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Load in cache resource type code (setup in dictionary)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user