Skip to content

Commit 156ce3a

Browse files
committed
Fix group selection
1 parent 26144e8 commit 156ce3a

1 file changed

Lines changed: 39 additions & 9 deletions

File tree

src/Ticket.php

Lines changed: 39 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -98,13 +98,28 @@ public function getEntitiesRights($entities_id)
9898
*/
9999
public static function getGroupEntities($entities)
100100
{
101+
global $DB;
102+
101103
$array = [];
102104

103-
$group = new Group();
104-
$groups = $group->find(['is_assign' => 1, 'entities_id' => $entities], 'name');
105+
$criteria = [
106+
'SELECT' => ['id', 'name'],
107+
'FROM' => 'glpi_groups',
108+
'WHERE' => [
109+
'is_assign' => 1,
110+
],
111+
'ORDERBY' => 'name'
112+
];
113+
$criteria['WHERE'] = $criteria['WHERE'] + getEntitiesRestrictCriteria(
114+
'glpi_groups','',$entities, true
115+
);
116+
117+
$iterator = $DB->request($criteria);
105118

106-
foreach ($groups as $data) {
107-
$array[$data['id']] = $data['name'];
119+
if (count($iterator) > 0) {
120+
foreach ($iterator as $data) {
121+
$array[$data['id']] = $data['name'];
122+
}
108123
}
109124

110125
return $array;
@@ -364,15 +379,30 @@ public static function checkEntityETT()
364379
*/
365380
public static function checkGroup($params)
366381
{
367-
$entity_choice = $params['entity_choice'];
382+
global $DB;
368383

369384
$array = [];
370385

371-
$group = new Group();
372-
$groups = $group->find(['is_assign' => 1, 'entities_id' => $entity_choice]);
386+
$entities = $params['entity_choice'];
387+
388+
$criteria = [
389+
'SELECT' => 'id',
390+
'FROM' => 'glpi_groups',
391+
'WHERE' => [
392+
'is_assign' => 1,
393+
],
394+
'ORDERBY' => 'name'
395+
];
396+
$criteria['WHERE'] = $criteria['WHERE'] + getEntitiesRestrictCriteria(
397+
'glpi_groups','', $entities, true
398+
);
373399

374-
foreach ($groups as $data) {
375-
array_push($array, $data['id']);
400+
$iterator = $DB->request($criteria);
401+
402+
if (count($iterator) > 0) {
403+
foreach ($iterator as $data) {
404+
array_push($array, $data['id']);
405+
}
376406
}
377407

378408
return $array;

0 commit comments

Comments
 (0)