Skip to content
Snippets Groups Projects
Verified Commit b8c49b99 authored by Florian Azizian's avatar Florian Azizian
Browse files

FEAT #11279 TIME 2 actions list for indexing

parent 9643b3a4
No related branches found
No related tags found
No related merge requests found
...@@ -307,6 +307,9 @@ $app->get('/natures', \Resource\controllers\ResController::class . ':getNatures' ...@@ -307,6 +307,9 @@ $app->get('/natures', \Resource\controllers\ResController::class . ':getNatures'
$app->get('/resources/{resId}/isAllowed', \Resource\controllers\ResController::class . ':isAllowedForCurrentUser'); $app->get('/resources/{resId}/isAllowed', \Resource\controllers\ResController::class . ':isAllowedForCurrentUser');
$app->post('/resources/checkFileUpload', \Resource\controllers\StoreController::class . ':checkFileUpload'); $app->post('/resources/checkFileUpload', \Resource\controllers\StoreController::class . ':checkFileUpload');
//Indexing
$app->get('/indexing/{groupId}/actions', \Resource\controllers\IndexingController::class . ':getIndexingActions');
//ResourcesList //ResourcesList
$app->get('/resourcesList/users/{userId}/groups/{groupId}/baskets/{basketId}', \Resource\controllers\ResourceListController::class . ':get'); $app->get('/resourcesList/users/{userId}/groups/{groupId}/baskets/{basketId}', \Resource\controllers\ResourceListController::class . ':get');
$app->get('/resourcesList/users/{userId}/groups/{groupId}/baskets/{basketId}/actions', \Resource\controllers\ResourceListController::class . ':getActions'); $app->get('/resourcesList/users/{userId}/groups/{groupId}/baskets/{basketId}/actions', \Resource\controllers\ResourceListController::class . ':getActions');
......
...@@ -258,9 +258,7 @@ class ActionController ...@@ -258,9 +258,7 @@ class ActionController
$obj['action']['id_status'] = '_NOSTATUS_'; $obj['action']['id_status'] = '_NOSTATUS_';
$obj['categoriesList'] = ResModel::getCategories(); $obj['categoriesList'] = ResModel::getCategories();
foreach ($obj['categoriesList'] as $key => $value) { $obj['action']['actionCategories'] = array_column($obj['categoriesList'], 'id');
$obj['action']['actionCategories'][] = $value['id'];
}
$obj['statuses'] = StatusModel::get(); $obj['statuses'] = StatusModel::get();
array_unshift($obj['statuses'], ['id'=>'_NOSTATUS_','label_status'=> _UNCHANGED]); array_unshift($obj['statuses'], ['id'=>'_NOSTATUS_','label_status'=> _UNCHANGED]);
......
...@@ -216,6 +216,21 @@ abstract class GroupModelAbstract ...@@ -216,6 +216,21 @@ abstract class GroupModelAbstract
return $allGroups; return $allGroups;
} }
public static function getGroupByLogin(array $aArgs = [])
{
ValidatorModel::notEmpty($aArgs, ['login', 'groupId']);
ValidatorModel::stringType($aArgs, ['login', 'groupId']);
$aGroups = DatabaseModel::select([
'select' => empty($aArgs['select']) ? ['*'] : $aArgs['select'],
'table' => ['usergroup_content, usergroups'],
'where' => ['usergroup_content.group_id = usergroups.group_id', 'usergroup_content.user_id = ?', 'usergroups.id = ?'],
'data' => [$aArgs['login'], $aArgs['groupId']]
]);
return $aGroups;
}
public static function getSecurityByGroupId(array $aArgs = []) public static function getSecurityByGroupId(array $aArgs = [])
{ {
ValidatorModel::notEmpty($aArgs, ['groupId']); ValidatorModel::notEmpty($aArgs, ['groupId']);
......
<?php
/**
* Copyright Maarch since 2008 under licence GPLv3.
* See LICENCE.txt file at the root folder for more details.
* This file is part of Maarch software.
*
*/
/**
* @brief Indexing Controller
* @author dev@maarch.org
*/
namespace Resource\controllers;
use Action\models\ActionModel;
use Group\models\GroupModel;
use Slim\Http\Request;
use Slim\Http\Response;
class IndexingController
{
public function getIndexingActions(Request $request, Response $response, array $aArgs)
{
$group = GroupModel::getGroupByLogin(['login' => $GLOBALS['userId'], 'groupId' => $aArgs['groupId'], 'select' => ['can_index', 'indexation_parameters']]);
if (empty($group)) {
return $response->withStatus(403)->withJson(['errors' => 'This user is not in this group']);
}
if (!$group[0]['can_index']) {
return $response->withStatus(403)->withJson(['errors' => 'This group can not index document']);
}
$group[0]['indexation_parameters'] = json_decode($group[0]['indexation_parameters'], true);
$actions = [];
foreach ($group[0]['indexation_parameters']['actions'] as $value) {
$actions[] = ActionModel::getById(['id' => $value, 'select' => ['id', 'label_action', 'component']]);
}
return $response->withJson(['actions' => $actions]);
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment