New : can add new resource in database
This commit is contained in:
parent
703572cd5b
commit
c42697dd78
167
htdocs/resource/add.php
Executable file
167
htdocs/resource/add.php
Executable file
@ -0,0 +1,167 @@
|
|||||||
|
<?php
|
||||||
|
/* Copyright (C) 2013 Jean-François Ferry <jfefe@aternatik.fr>
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or modify
|
||||||
|
* it under the terms of the GNU General Public License as published by
|
||||||
|
* the Free Software Foundation; either version 3 of the License, or
|
||||||
|
* (at your option) any later version.
|
||||||
|
*
|
||||||
|
* This program is distributed in the hope that it will be useful,
|
||||||
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
* GNU General Public License for more details.
|
||||||
|
*
|
||||||
|
* You should have received a copy of the GNU General Public License
|
||||||
|
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/**
|
||||||
|
* \file resource/add.php
|
||||||
|
* \ingroup resource
|
||||||
|
* \brief Page to manage resource object
|
||||||
|
* Initialy built by build_class_from_table on 2013-07-24 16:03
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
// Change this following line to use the correct relative path (../, ../../, etc)
|
||||||
|
$res=0;
|
||||||
|
$res=@include("../main.inc.php"); // For root directory
|
||||||
|
if (! $res) $res=@include("../../main.inc.php"); // For "custom" directory
|
||||||
|
if (! $res) die("Include of main fails");
|
||||||
|
|
||||||
|
require_once 'class/resource.class.php';
|
||||||
|
|
||||||
|
// Load traductions files requiredby by page
|
||||||
|
$langs->load("resource");
|
||||||
|
$langs->load("companies");
|
||||||
|
$langs->load("other");
|
||||||
|
|
||||||
|
// Get parameters
|
||||||
|
$id = GETPOST('id','int');
|
||||||
|
$action = GETPOST('action','alpha');
|
||||||
|
if (empty($sortorder)) $sortorder="DESC";
|
||||||
|
if (empty($sortfield)) $sortfield="t.rowid";
|
||||||
|
if (empty($arch)) $arch = 0;
|
||||||
|
|
||||||
|
if ($page == -1) {
|
||||||
|
$page = 0 ;
|
||||||
|
}
|
||||||
|
|
||||||
|
$limit = $conf->global->limit;
|
||||||
|
$offset = $limit * $page ;
|
||||||
|
$pageprev = $page - 1;
|
||||||
|
$pagenext = $page + 1;
|
||||||
|
|
||||||
|
|
||||||
|
// Protection if external user
|
||||||
|
if ($user->societe_id > 0)
|
||||||
|
{
|
||||||
|
accessforbidden();
|
||||||
|
}
|
||||||
|
|
||||||
|
$object = new Resource($db);
|
||||||
|
|
||||||
|
if ($action == 'confirm_add_resource')
|
||||||
|
{
|
||||||
|
$error='';
|
||||||
|
|
||||||
|
$ref=GETPOST('ref','alpha');
|
||||||
|
$description=GETPOST('description','alpha');
|
||||||
|
$fk_code_type_resource=GETPOST('fk_code_type_resource','alpha');
|
||||||
|
|
||||||
|
if (empty($ref))
|
||||||
|
{
|
||||||
|
$mesg=$langs->trans("ErrorFieldRequired",$langs->transnoentities("Ref"));
|
||||||
|
setEventMessage($mesg, 'errors');
|
||||||
|
$error++;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! $error)
|
||||||
|
{
|
||||||
|
$object=new Resource($db);
|
||||||
|
$object->ref=$ref;
|
||||||
|
$object->description=$description;
|
||||||
|
$object->fk_code_type_resource=$fk_code_type_resource;
|
||||||
|
|
||||||
|
$result=$object->create($user);
|
||||||
|
if ($result > 0)
|
||||||
|
{
|
||||||
|
// Creation OK
|
||||||
|
$db->commit();
|
||||||
|
setEventMessage($langs->trans('ResourceCreatedWithSuccess'));
|
||||||
|
Header("Location: card.php?id=" . $object->id);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
// Creation KO
|
||||||
|
setEventMessage($object->error, 'errors');
|
||||||
|
$action = '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$action = '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/***************************************************
|
||||||
|
* VIEW
|
||||||
|
*
|
||||||
|
* Put here all code to build page
|
||||||
|
****************************************************/
|
||||||
|
|
||||||
|
$form=new Form($db);
|
||||||
|
|
||||||
|
if ( !$action )
|
||||||
|
{
|
||||||
|
$pagetitle=$langs->trans('AddResource');
|
||||||
|
llxHeader('',$pagetitle,'');
|
||||||
|
print_fiche_titre($pagetitle,'','resource_32.png');
|
||||||
|
|
||||||
|
print '<form method="post" action="'.$_SERVER['PHP_SELF'].'" name="add_resource">';
|
||||||
|
print '<input type="hidden" name="action" value="confirm_add_resource" />';
|
||||||
|
|
||||||
|
print '<table class="border" width="100%">';
|
||||||
|
|
||||||
|
// Ref / label
|
||||||
|
$field = 'ref';
|
||||||
|
print '<tr>';
|
||||||
|
print '<td>';
|
||||||
|
print '<label for="'.$field.'" class="fieldrequired">';
|
||||||
|
print $langs->trans('ResourceFormLabel_'.$field);
|
||||||
|
print '</td>';
|
||||||
|
print '<td>';
|
||||||
|
print '<input type="text" name="'.$field.'" value="'.$$field.'" />';
|
||||||
|
print '</td>';
|
||||||
|
print '</tr>';
|
||||||
|
|
||||||
|
// Description
|
||||||
|
$field = 'description';
|
||||||
|
print '<tr>';
|
||||||
|
print '<td>';
|
||||||
|
print '<label for="'.$field.'">';
|
||||||
|
print $langs->trans('ResourceFormLabel_'.$field);
|
||||||
|
print '</label>';
|
||||||
|
print '</td>';
|
||||||
|
print '<td>';
|
||||||
|
require_once (DOL_DOCUMENT_ROOT . "/core/class/doleditor.class.php");
|
||||||
|
$doleditor = new DolEditor($field, $$field, 160, '', '', false);
|
||||||
|
$doleditor->Create();
|
||||||
|
print '</td>';
|
||||||
|
print '</tr>';
|
||||||
|
|
||||||
|
print '</table>';
|
||||||
|
|
||||||
|
echo '<div style="text-align: center">',
|
||||||
|
' <input type="submit" class="button" name="" value="'.$langs->trans('Save').'" />',
|
||||||
|
'</div>';
|
||||||
|
|
||||||
|
print '</form>';
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
// End of page
|
||||||
|
llxFooter();
|
||||||
|
$db->close();
|
||||||
|
?>
|
||||||
@ -42,21 +42,20 @@ class ActionsResource
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* doActions
|
* doActions for resource module
|
||||||
*
|
*
|
||||||
* @param array $parameters parameters
|
* @param array $parameters parameters
|
||||||
* @param object &$object object
|
* @param Object $object object
|
||||||
* @param string &$action action
|
* @param string $action action
|
||||||
* @return void
|
|
||||||
*/
|
*/
|
||||||
function doActions($parameters, &$object, &$action) {
|
function doActions($parameters, &$object, &$action)
|
||||||
|
{
|
||||||
global $langs,$user;
|
global $langs,$user;
|
||||||
$langs->load('resource');
|
$langs->load('resource');
|
||||||
|
|
||||||
if (in_array('element_resource',explode(':',$parameters['context'])))
|
if (in_array('element_resource',explode(':',$parameters['context'])))
|
||||||
{
|
{
|
||||||
// Efface une ressource
|
// Delete a resource linked to an element
|
||||||
if ($action == 'confirm_delete_resource' && $user->rights->resource->delete && GETPOST('confirm') == 'yes')
|
if ($action == 'confirm_delete_resource' && $user->rights->resource->delete && GETPOST('confirm') == 'yes')
|
||||||
{
|
{
|
||||||
$res = $object->fetch(GETPOST('lineid'));
|
$res = $object->fetch(GETPOST('lineid'));
|
||||||
|
|||||||
@ -60,13 +60,96 @@ class Resource extends CommonObject
|
|||||||
return 1;
|
return 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Create object into database
|
||||||
|
*
|
||||||
|
* @param User $user User that creates
|
||||||
|
* @param int $notrigger 0=launch triggers after, 1=disable triggers
|
||||||
|
* @return int <0 if KO, Id of created object if OK
|
||||||
|
*/
|
||||||
|
function create($user, $notrigger=0)
|
||||||
|
{
|
||||||
|
global $conf, $langs;
|
||||||
|
$error=0;
|
||||||
|
|
||||||
|
// Clean parameters
|
||||||
|
|
||||||
|
if (isset($this->ref)) $this->ref=trim($this->ref);
|
||||||
|
if (isset($this->description)) $this->description=trim($this->description);
|
||||||
|
if (isset($this->fk_code_type_resource)) $this->fk_code_type_resource=trim($this->fk_code_type_resource);
|
||||||
|
if (isset($this->note_public)) $this->note_public=trim($this->note_public);
|
||||||
|
if (isset($this->note_private)) $this->note_private=trim($this->note_private);
|
||||||
|
|
||||||
|
|
||||||
|
// Insert request
|
||||||
|
$sql = "INSERT INTO ".MAIN_DB_PREFIX."resource(";
|
||||||
|
|
||||||
|
$sql.= " entity,";
|
||||||
|
$sql.= "ref,";
|
||||||
|
$sql.= "description,";
|
||||||
|
$sql.= "fk_code_type_resource,";
|
||||||
|
$sql.= "note_public,";
|
||||||
|
$sql.= "note_private";
|
||||||
|
|
||||||
|
$sql.= ") VALUES (";
|
||||||
|
|
||||||
|
$sql.= $conf->entity.", ";
|
||||||
|
$sql.= " ".(! isset($this->ref)?'NULL':"'".$this->db->escape($this->ref)."'").",";
|
||||||
|
$sql.= " ".(! isset($this->description)?'NULL':"'".$this->db->escape($this->description)."'").",";
|
||||||
|
$sql.= " ".(! isset($this->fk_code_type_resource)?'NULL':"'".$this->db->escape($this->fk_code_type_resource)."'").",";
|
||||||
|
$sql.= " ".(! isset($this->note_public)?'NULL':"'".$this->db->escape($this->note_public)."'").",";
|
||||||
|
$sql.= " ".(! isset($this->note_private)?'NULL':"'".$this->db->escape($this->note_private)."'");
|
||||||
|
|
||||||
|
$sql.= ")";
|
||||||
|
|
||||||
|
$this->db->begin();
|
||||||
|
|
||||||
|
dol_syslog(get_class($this)."::create sql=".$sql, LOG_DEBUG);
|
||||||
|
$resql=$this->db->query($sql);
|
||||||
|
if (! $resql) {
|
||||||
|
$error++; $this->errors[]="Error ".$this->db->lasterror();
|
||||||
|
}
|
||||||
|
|
||||||
|
if (! $error)
|
||||||
|
{
|
||||||
|
$this->id = $this->db->last_insert_id(MAIN_DB_PREFIX."place");
|
||||||
|
|
||||||
|
if (! $notrigger)
|
||||||
|
{
|
||||||
|
//// Call triggers
|
||||||
|
//include_once DOL_DOCUMENT_ROOT . '/core/class/interfaces.class.php';
|
||||||
|
//$interface=new Interfaces($this->db);
|
||||||
|
//$result=$interface->run_triggers('RESOURCE_CREATE',$this,$user,$langs,$conf);
|
||||||
|
//if ($result < 0) { $error++; $this->errors=$interface->errors; }
|
||||||
|
//// End call triggers
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
// Commit or rollback
|
||||||
|
if ($error)
|
||||||
|
{
|
||||||
|
foreach($this->errors as $errmsg)
|
||||||
|
{
|
||||||
|
dol_syslog(get_class($this)."::create ".$errmsg, LOG_ERR);
|
||||||
|
$this->error.=($this->error?', '.$errmsg:$errmsg);
|
||||||
|
}
|
||||||
|
$this->db->rollback();
|
||||||
|
return -1*$error;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
$this->db->commit();
|
||||||
|
return $this->id;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Load object in memory from database
|
* Load object in memory from database
|
||||||
*
|
*
|
||||||
* @param int $id id object
|
* @param int $id id object
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return int <0 if KO, >0 if OK
|
||||||
*/
|
*/
|
||||||
function fetch($id)
|
function fetch_element_resource($id)
|
||||||
{
|
{
|
||||||
global $langs;
|
global $langs;
|
||||||
$sql = "SELECT";
|
$sql = "SELECT";
|
||||||
@ -299,13 +382,13 @@ class Resource extends CommonObject
|
|||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Update object into database
|
* Update element resource into database
|
||||||
*
|
*
|
||||||
* @param User $user User that modifies
|
* @param User $user User that modifies
|
||||||
* @param int $notrigger 0=launch triggers after, 1=disable triggers
|
* @param int $notrigger 0=launch triggers after, 1=disable triggers
|
||||||
* @return int <0 if KO, >0 if OK
|
* @return int <0 if KO, >0 if OK
|
||||||
*/
|
*/
|
||||||
function update($user=0, $notrigger=0)
|
function update_element_resource($user=0, $notrigger=0)
|
||||||
{
|
{
|
||||||
global $conf, $langs;
|
global $conf, $langs;
|
||||||
$error=0;
|
$error=0;
|
||||||
@ -319,9 +402,6 @@ class Resource extends CommonObject
|
|||||||
if (isset($this->mandatory)) $this->mandatory=trim($this->mandatory);
|
if (isset($this->mandatory)) $this->mandatory=trim($this->mandatory);
|
||||||
|
|
||||||
|
|
||||||
// Check parameters
|
|
||||||
// Put here code to add a control on parameters values
|
|
||||||
|
|
||||||
// Update request
|
// Update request
|
||||||
$sql = "UPDATE ".MAIN_DB_PREFIX."element_resources SET";
|
$sql = "UPDATE ".MAIN_DB_PREFIX."element_resources SET";
|
||||||
$sql.= " resource_id=".(isset($this->resource_id)?"'".$this->db->escape($this->resource_id)."'":"null").",";
|
$sql.= " resource_id=".(isset($this->resource_id)?"'".$this->db->escape($this->resource_id)."'":"null").",";
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user