PMCORE-4058
This commit is contained in:
@@ -904,6 +904,26 @@ class Cases
|
||||
return $permission;
|
||||
}
|
||||
|
||||
/**
|
||||
* Review if the user is supervisor
|
||||
*
|
||||
* @param string $usrUid
|
||||
* @param int $caseNumber
|
||||
*
|
||||
* @return bool
|
||||
*/
|
||||
public function isSupervisor(string $usrUid, int $caseNumber)
|
||||
{
|
||||
$result = [];
|
||||
$user = new BmUser();
|
||||
if ($user->checkPermission($usrUid, 'PM_SUPERVISOR')) {
|
||||
$processes = ProcessUser::getProcessesOfSupervisor($usrUid);
|
||||
$query = Delegation::query()->select(['APP_NUMBER'])->case($caseNumber)->processInList($processes);
|
||||
$result = $query->get()->values()->toArray();
|
||||
}
|
||||
return !empty($result);
|
||||
}
|
||||
|
||||
/**
|
||||
* Reassign Case
|
||||
*
|
||||
|
||||
@@ -1036,6 +1036,30 @@ class Cases extends Api
|
||||
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* User case supervisor permissions
|
||||
*
|
||||
* @url GET /:appNumber/supervisor
|
||||
*
|
||||
* @param int $appNumber
|
||||
*
|
||||
* @return boolean
|
||||
* @throws RestException
|
||||
*
|
||||
* @access protected
|
||||
* @class AccessControl {@permission PM_CASES}
|
||||
*/
|
||||
public function isSupervisor(int $appNumber)
|
||||
{
|
||||
try {
|
||||
$userUid = $this->getUserId();
|
||||
$cases = new BmCases();
|
||||
return $cases->isSupervisor($userUid, $appNumber);
|
||||
} catch (Exception $e) {
|
||||
throw new RestException(Api::STAT_APP_EXCEPTION, $e->getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Assign Case
|
||||
|
||||
Reference in New Issue
Block a user