3namespace Bitrix\Bizproc\Api\Service;
5use Bitrix\Bizproc\Api\Request\WorkflowAccessService\CanViewFacesRequest;
6use Bitrix\Bizproc\Api\Request\WorkflowAccessService\CanViewTimelineRequest;
7use Bitrix\Bizproc\Api\Request\WorkflowAccessService\CheckStartWorkflowRequest;
8use Bitrix\Bizproc\Api\Response\Error;
9use Bitrix\Bizproc\Api\Response\WorkflowAccessService\CanViewFacesResponse;
10use Bitrix\Bizproc\Api\Response\WorkflowAccessService\CanViewTimelineResponse;
11use Bitrix\Bizproc\Api\Response\WorkflowAccessService\CheckAccessResponse;
12use Bitrix\Bizproc\Workflow\Entity\WorkflowUserTable;
13use Bitrix\Main\Localization\Loc;
20 \CBPDocument::canUserOperateDocument(
32 'BIZPROC_LIB_API_WORKFLOW_ACCESS_SERVICE_START_WORKFLOW_RIGHTS_ERROR'
42 WorkflowUserTable::query()
45 '=WORKFLOW_ID' =>
$request->workflowId,
53 if (!$workflowUser && !$this->canViewWorkflow(
$request->workflowId,
$request->userId))
55 return CanViewTimelineResponse::createError(static::getViewAccessDeniedError());
61 private function canViewWorkflow($workflowId,
$userId): bool
67 && \CBPDocument::canUserOperateDocument(
72 'WorkflowId' => $workflowId,
80 return \CBPDocument::CanUserOperateDocumentType(
90 return new \Bitrix\Bizproc\Error(Loc::getMessage(
91 'BIZPROC_LIB_API_WORKFLOW_ACCESS_SERVICE_VIEW_TIMELINE_RIGHTS_ERROR_MSGVER_1'
99 return CanViewFacesResponse::createError(self::getViewAccessDeniedError());
105 return CanViewFacesResponse::createOk();
114 if (!$canViewResponse->isSuccess())
116 return CanViewFacesResponse::createError(self::getViewAccessDeniedError());
122 && !\CBPHelper::checkUserSubordination(
$request->currentUserId,
$request->userId)
125 return CanViewFacesResponse::createError(self::getViewAccessDeniedError());
128 return CanViewFacesResponse::createOk();
if(!Loader::includeModule('catalog')) if(!AccessController::getCurrent() ->check(ActionDictionary::ACTION_PRICE_EDIT)) if(!check_bitrix_sessid()) $request
if(!is_object($USER)||! $USER->IsAuthorized()) $userId
canViewFaces(CanViewFacesRequest $request)
static getViewAccessDeniedError()
canViewTimeline(CanViewTimelineRequest $request)
canCreateWorkflow(array $complexDocumentType, int $userId, array $parameters=[])
checkStartWorkflow(CheckStartWorkflowRequest $request)
static getStateDocumentId($workflowId)
</td ></tr ></table ></td ></tr >< tr >< td class="bx-popup-label bx-width30"><?=GetMessage("PAGE_NEW_TAGS")?> array( $site)