Skip to content
Snippets Groups Projects
Verified Commit 7b3d5d39 authored by Damien's avatar Damien
Browse files

FEAT roles explicit for entity

parent 92518781
No related branches found
No related tags found
No related merge requests found
...@@ -70,6 +70,15 @@ class EntityController ...@@ -70,6 +70,15 @@ class EntityController
$entity['types'] = EntityModel::getTypes(); $entity['types'] = EntityModel::getTypes();
$entity['roles'] = EntityModel::getRoles(); $entity['roles'] = EntityModel::getRoles();
$listTemplateTypes = ListTemplateModel::getTypes(['select' => ['difflist_type_roles'], 'where' => ['difflist_type_id = ?'], 'data' => ['entity_id']]);
$typesForService = empty($listTemplateTypes[0]['difflist_type_roles']) ? [] : explode(' ', $listTemplateTypes[0]['difflist_type_roles']);
foreach ($entity['roles'] as $key => $role) {
if (in_array($role['id'], $typesForService)) {
$entity['roles'][$key]['available'] = true;
} else {
$entity['roles'][$key]['available'] = false;
}
}
$listTemplates = ListTemplateModel::get([ $listTemplates = ListTemplateModel::get([
'select' => ['object_type', 'item_id', 'item_type', 'item_mode', 'title', 'description'], 'select' => ['object_type', 'item_id', 'item_type', 'item_mode', 'title', 'description'],
...@@ -80,22 +89,24 @@ class EntityController ...@@ -80,22 +89,24 @@ class EntityController
$entity['listTemplate'] = ['dest' => [], 'cc' => []]; $entity['listTemplate'] = ['dest' => [], 'cc' => []];
$entity['visaTemplate'] = []; $entity['visaTemplate'] = [];
foreach ($listTemplates as $listTemplate) { foreach ($listTemplates as $listTemplate) {
if ($listTemplate['object_type'] == 'entity_id') { if ($listTemplate['object_type'] == 'entity_id' && !empty($listTemplate['item_id'])) {
if ($listTemplate['item_type'] == 'user_id') { if ($listTemplate['item_type'] == 'user_id') {
$entity['listTemplate'][$listTemplate['item_mode']][] = [ $entity['listTemplate'][$listTemplate['item_mode']][] = [
'type' => 'user', 'type' => 'user',
'idToDisplay' => UserModel::getLabelledUserById(['userId' => $listTemplate['item_id']]), 'id' => $listTemplate['item_id'],
'labelToDisplay' => UserModel::getLabelledUserById(['userId' => $listTemplate['item_id']]),
'descriptionToDisplay' => UserModel::getPrimaryEntityByUserId(['userId' => $listTemplate['item_id']])['entity_label'] 'descriptionToDisplay' => UserModel::getPrimaryEntityByUserId(['userId' => $listTemplate['item_id']])['entity_label']
]; ];
} elseif ($listTemplate['item_type'] == 'entity_id') { } elseif ($listTemplate['item_type'] == 'entity_id') {
$entity['listTemplate'][$listTemplate['item_mode']][] = [ $entity['listTemplate'][$listTemplate['item_mode']][] = [
'type' => 'entity', 'type' => 'entity',
'idToDisplay' => $listTemplate['item_id'], 'id' => $listTemplate['item_id'],
'descriptionToDisplay' => EntityModel::getById(['entityId' => $listTemplate['item_id'], 'select' => ['entity_label']])['entity_label'] 'labelToDisplay' => EntityModel::getById(['entityId' => $listTemplate['item_id'], 'select' => ['entity_label']])['entity_label'],
'descriptionToDisplay' => ''
]; ];
} }
} }
if ($listTemplate['object_type'] == 'VISA_CIRCUIT') { if ($listTemplate['object_type'] == 'VISA_CIRCUIT' && !empty($listTemplate['item_id'])) {
$entity['visaTemplate'][] = [ $entity['visaTemplate'][] = [
'type' => 'user', 'type' => 'user',
'mode' => $listTemplate['item_mode'], 'mode' => $listTemplate['item_mode'],
......
...@@ -96,4 +96,18 @@ class ListTemplateModelAbstract ...@@ -96,4 +96,18 @@ class ListTemplateModelAbstract
return true; return true;
} }
public static function getTypes(array $aArgs = [])
{
ValidatorModel::arrayType($aArgs, ['select', 'where', 'data']);
$aListTemplatesTypes = DatabaseModel::select([
'select' => empty($aArgs['select']) ? ['*'] : $aArgs['select'],
'table' => ['difflist_types'],
'where' => $aArgs['where'],
'data' => $aArgs['data']
]);
return $aListTemplatesTypes;
}
} }
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment