FIX : get and delete linked items with association tables methods created in common object
This commit is contained in:
parent
8dfb088fc5
commit
e3e4f0590c
@ -3660,6 +3660,56 @@ abstract class CommonObject
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function used to get an array with all items linked to an object id in association table
|
||||||
|
* @param int $fk_object_where id of object we need to get linked items
|
||||||
|
* @param string $field_select name of field we need to get a list
|
||||||
|
* @param string $field_where name of field of object we need to get linked items
|
||||||
|
* @param string $table_element name of association table
|
||||||
|
* @return array
|
||||||
|
*/
|
||||||
|
static public function getAllItemsLinkedByObjectID($fk_object_where, $field_select, $field_where, $table_element)
|
||||||
|
{
|
||||||
|
if(empty($fk_object_where) || empty($field_where) || empty($table_element)) return -1;
|
||||||
|
|
||||||
|
global $db;
|
||||||
|
|
||||||
|
$sql = 'SELECT '.$field_select.' FROM '.MAIN_DB_PREFIX.$table_element.' WHERE '.$field_where.' = '.$fk_object_where;
|
||||||
|
$resql = $db->query($sql);
|
||||||
|
|
||||||
|
$TRes = array();
|
||||||
|
if (!empty($resql)) {
|
||||||
|
while ($res = $db->fetch_object($resql)) {
|
||||||
|
$TRes[] = $res->{$field_select};
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return $TRes;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Function used to remove all items linked to an object id in association table
|
||||||
|
* @param int $fk_object_where id of object we need to remove linked items
|
||||||
|
* @param string $field_where name of field of object we need to delete linked items
|
||||||
|
* @param string $table_element name of association table
|
||||||
|
* @return int
|
||||||
|
*/
|
||||||
|
static public function deleteAllItemsLinkedByObjectID($fk_object_where, $field_where, $table_element)
|
||||||
|
{
|
||||||
|
if(empty($fk_object_where) || empty($field_where) || empty($table_element)) return -1;
|
||||||
|
|
||||||
|
global $db;
|
||||||
|
|
||||||
|
$sql = 'DELETE FROM '.MAIN_DB_PREFIX.$table_element.' WHERE '.$field_where.' = '.$fk_object_where;
|
||||||
|
$resql = $db->query($sql);
|
||||||
|
|
||||||
|
if (empty($resql)) return 0;
|
||||||
|
|
||||||
|
return 1;
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set status of an object
|
* Set status of an object
|
||||||
*
|
*
|
||||||
|
|||||||
@ -79,21 +79,9 @@ class WorkstationResource extends CommonObject
|
|||||||
*/
|
*/
|
||||||
static public function getAllResourcesOfWorkstation($fk_workstation)
|
static public function getAllResourcesOfWorkstation($fk_workstation)
|
||||||
{
|
{
|
||||||
|
|
||||||
global $db;
|
global $db;
|
||||||
|
|
||||||
$obj = new self($db);
|
$obj = new self($db);
|
||||||
$sql = 'SELECT fk_resource FROM '.MAIN_DB_PREFIX.$obj->table_element.' WHERE fk_workstation = '.$fk_workstation;
|
return parent::getAllItemsLinkedByObjectID($fk_workstation, 'fk_resource', 'fk_workstation', $obj->table_element);
|
||||||
$resql = $db->query($sql);
|
|
||||||
|
|
||||||
$TRes = array();
|
|
||||||
if (!empty($resql)) {
|
|
||||||
while ($res = $db->fetch_object($resql)) {
|
|
||||||
$TRes[] = $res->fk_resource;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $TRes;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -103,15 +91,8 @@ class WorkstationResource extends CommonObject
|
|||||||
*/
|
*/
|
||||||
static public function deleteAllResourcesOfWorkstation($fk_workstation)
|
static public function deleteAllResourcesOfWorkstation($fk_workstation)
|
||||||
{
|
{
|
||||||
|
|
||||||
global $db;
|
global $db;
|
||||||
|
|
||||||
$obj = new self($db);
|
$obj = new self($db);
|
||||||
$sql = 'DELETE FROM '.MAIN_DB_PREFIX.$obj->table_element.' WHERE fk_workstation = '.$fk_workstation;
|
return parent::deleteAllItemsLinkedByObjectID($fk_workstation, 'fk_workstation', $obj->table_element);
|
||||||
$resql = $db->query($sql);
|
|
||||||
|
|
||||||
if (empty($resql)) return 0;
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@ -79,21 +79,9 @@ class WorkstationUserGroup extends CommonObject
|
|||||||
*/
|
*/
|
||||||
static public function getAllGroupsOfWorkstation($fk_workstation)
|
static public function getAllGroupsOfWorkstation($fk_workstation)
|
||||||
{
|
{
|
||||||
|
|
||||||
global $db;
|
global $db;
|
||||||
|
|
||||||
$obj = new self($db);
|
$obj = new self($db);
|
||||||
$sql = 'SELECT fk_usergroup FROM '.MAIN_DB_PREFIX.$obj->table_element.' WHERE fk_workstation = '.$fk_workstation;
|
return parent::getAllItemsLinkedByObjectID($fk_workstation, 'fk_usergroup', 'fk_workstation', $obj->table_element);
|
||||||
$resql = $db->query($sql);
|
|
||||||
|
|
||||||
$TRes = array();
|
|
||||||
if (!empty($resql)) {
|
|
||||||
while ($res = $db->fetch_object($resql)) {
|
|
||||||
$TRes[] = $res->fk_usergroup;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
return $TRes;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -103,15 +91,8 @@ class WorkstationUserGroup extends CommonObject
|
|||||||
*/
|
*/
|
||||||
static public function deleteAllGroupsOfWorkstation($fk_workstation)
|
static public function deleteAllGroupsOfWorkstation($fk_workstation)
|
||||||
{
|
{
|
||||||
|
|
||||||
global $db;
|
global $db;
|
||||||
|
|
||||||
$obj = new self($db);
|
$obj = new self($db);
|
||||||
$sql = 'DELETE FROM '.MAIN_DB_PREFIX.$obj->table_element.' WHERE fk_workstation = '.$fk_workstation;
|
return parent::deleteAllItemsLinkedByObjectID($fk_workstation, 'fk_workstation', $obj->table_element);
|
||||||
$resql = $db->query($sql);
|
|
||||||
|
|
||||||
if (empty($resql)) return 0;
|
|
||||||
|
|
||||||
return 1;
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user