Skip to content
Snippets Groups Projects
Commit 636176d5 authored by Quentin Ribac's avatar Quentin Ribac
Browse files

FIX #20811 TIME 0:10 processingData: apply status config

parent d6156549
No related branches found
No related tags found
No related merge requests found
......@@ -1415,13 +1415,11 @@ class ResController extends ResourceControlController
$listEventData = json_decode($groupBasket[0]['list_event_data'], true);
$resource = ResModel::getById(['resId' => $args['resId'], 'select' => ['status']]);
if (empty($resource['status'])) {
return $response->withStatus(400)->withJson(['errors' => 'Status does not exist']);
}
$status = StatusModel::getById(['id' => $resource['status'], 'select' => ['can_be_modified']]);
if ($status['can_be_modified'] != 'Y') {
$listEventData['canUpdate'] = false;
if (!!$listEventData['canUpdateData']) {
$status = StatusModel::getByResId(['select' => ['can_be_modified'], 'resId' => $args['resId'], 'collId' => 'letterbox_coll']);
if ($status['can_be_modified'] != 'Y') {
$listEventData['canUpdateData'] = false;
}
}
return $response->withJson(['listEventData' => $listEventData]);
......
......@@ -68,6 +68,34 @@ abstract class StatusModelAbstract
return $aReturn;
}
public static function getByResId(array $args)
{
ValidatorModel::notEmpty($args, ['resId', 'collId']);
ValidatorModel::intVal($args, ['resId']);
ValidatorModel::stringType($args, ['collId']);
$joinTable = $args['collId'] == 'attachments_coll' ? 'res_attachments' : 'res_letterbox';
$select = empty($args['select']) ? ['*'] : $args['select'];
foreach ($select as $key => $val) {
$select[$key] = 'status.' . trim($val);
}
$status = DatabaseModel::select([
'select' => $select,
'table' => ['status', $joinTable . ' AS r'],
'left_join' => ['status.id = r.status'],
'where' => ['r.res_id = ?'],
'data' => [$args['resId']]
]);
if (empty($status[0])) {
return [];
}
return $status[0];
}
public static function create(array $aArgs)
{
ValidatorModel::notEmpty($aArgs, ['id', 'label_status']);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment