diff --git a/src/app/basket/models/GroupBasketModelAbstract.php b/src/app/basket/models/GroupBasketModelAbstract.php index 75e62fd0be31c4e8151861840aeea4a8354e3779..01e8d1ac7555a3355394c640c46fe22f9b24bb0c 100644 --- a/src/app/basket/models/GroupBasketModelAbstract.php +++ b/src/app/basket/models/GroupBasketModelAbstract.php @@ -109,4 +109,23 @@ abstract class GroupBasketModelAbstract return $aGroupsBaskets; } + + public static function hasBasketByGroupId(array $aArgs) + { + ValidatorModel::notEmpty($aArgs, ['groupId', 'basketId']); + ValidatorModel::stringType($aArgs, ['groupId', 'basketId']); + + $aGroupBasket = DatabaseModel::select([ + 'select' => [1], + 'table' => ['groupbasket'], + 'where' => ['group_id = ?', 'basket_id = ?'], + 'data' => [$aArgs['groupId'], $aArgs['basketId']] + ]); + + if (empty($aGroupBasket)) { + return false; + } + + return true; + } } diff --git a/src/core/controllers/CoreController.php b/src/core/controllers/CoreController.php index 2a964aeba51a11b082c79c23b59c0d84985cf380..b07d969f8620478da79ebb6c071342af83c8bb05 100644 --- a/src/core/controllers/CoreController.php +++ b/src/core/controllers/CoreController.php @@ -14,6 +14,7 @@ namespace SrcCore\controllers; +use Basket\models\GroupBasketModel; use Group\controllers\ServiceController; use Group\models\ServiceModel; use Slim\Http\Request; @@ -33,8 +34,6 @@ class CoreController $aInit['applicationMinorVersion'] = CoreConfigModel::getApplicationVersion()['applicationMinorVersion']; $aInit['lang'] = CoreConfigModel::getLanguage(); $aInit['user'] = UserModel::getByUserId(['userId' => $GLOBALS['userId'], 'select' => ['id', 'user_id', 'firstname', 'lastname']]); -// $aInit['user']['groups'] = UserModel::getGroupsByUserId(['userId' => $GLOBALS['userId']]); -// $aInit['user']['entities'] = UserModel::getEntitiesById(['userId' => $GLOBALS['userId']]); $aInit['scriptsToinject'] = []; $scriptsToInject = []; @@ -69,6 +68,7 @@ class CoreController $user = UserModel::getByUserId(['userId' => $GLOBALS['userId'], 'select' => ['id', 'user_id', 'firstname', 'lastname']]); $user['groups'] = UserModel::getGroupsByUserId(['userId' => $GLOBALS['userId']]); $user['entities'] = UserModel::getEntitiesById(['userId' => $GLOBALS['userId']]); + $user['indexingGroups'] = []; if ($GLOBALS['userId'] == 'superadmin') { $menu = ServiceModel::getApplicationServicesByXML(['type' => 'menu']); @@ -76,6 +76,15 @@ class CoreController $menu = array_merge($menu, $menuModules); } else { $menu = ServiceController::getMenuServicesByUserId(['userId' => $GLOBALS['userId']]); + foreach ($menu as $value) { + if ($value['name'] == _INDEXING_MLB) { + foreach ($user['groups'] as $group) { + if (GroupBasketModel::hasBasketByGroupId(['groupId' => $group['group_id'], 'basketId' => 'IndexingBasket'])) { + $user['indexingGroups'][] = ['groupId' => $group['group_id'], 'label' => $group['group_desc']]; + } + } + } + } } return $response->withJson([