PMCORE-4058

This commit is contained in:
Luciana Nuñez
2022-11-07 09:56:49 -04:00
parent 48aed3e507
commit 98b919bab0
3 changed files with 103 additions and 0 deletions

View File

@@ -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
*

View File

@@ -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