Merged in darojas/processmaker (pull request #450)
Bug 0014740: Fix. Se retiran los grupos que no contengan usuarios con el permiso PM_SUPERVISOR de la lista de asignación de los supervisores. Solo para Backend.
This commit is contained in:
@@ -159,7 +159,9 @@ class ProcessSupervisor
|
|||||||
public function getAvailableProcessSupervisors($obj_type, $sProcessUID = '')
|
public function getAvailableProcessSupervisors($obj_type, $sProcessUID = '')
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
|
require_once (PATH_RBAC_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "Roles.php");
|
||||||
$aRespLi = array();
|
$aRespLi = array();
|
||||||
|
$userRole = new \ProcessMaker\BusinessModel\User();
|
||||||
// Groups
|
// Groups
|
||||||
$oCriteria = new \Criteria('workflow');
|
$oCriteria = new \Criteria('workflow');
|
||||||
$oCriteria->addSelectColumn(\ProcessUserPeer::USR_UID);
|
$oCriteria->addSelectColumn(\ProcessUserPeer::USR_UID);
|
||||||
@@ -193,9 +195,18 @@ class ProcessSupervisor
|
|||||||
$oDataset->next();
|
$oDataset->next();
|
||||||
if ($obj_type == 'group' || $obj_type == '') {
|
if ($obj_type == 'group' || $obj_type == '') {
|
||||||
while ($aRow = $oDataset->getRow()) {
|
while ($aRow = $oDataset->getRow()) {
|
||||||
$aRespLi[] = array('grp_uid' => $aRow['GRP_UID'],
|
$group = new \ProcessMaker\BusinessModel\Group();
|
||||||
'grp_name' => $aRow['GRP_TITLE'],
|
$userGroup = $group->getUsers('USERS', $aRow['GRP_UID']);
|
||||||
'obj_type' => "group");
|
foreach ($userGroup as $value) {
|
||||||
|
$permission = $userRole->loadUserRolePermission('PROCESSMAKER', $value["USR_UID"]);
|
||||||
|
foreach ($permission as $values) {
|
||||||
|
if ($values["PER_CODE"] == 'PM_SUPERVISOR') {
|
||||||
|
$aRespLi[] = array('grp_uid' => $aRow['GRP_UID'],
|
||||||
|
'grp_name' => $aRow['GRP_TITLE'],
|
||||||
|
'obj_type' => "group");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
$oDataset->next();
|
$oDataset->next();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -209,8 +220,6 @@ class ProcessSupervisor
|
|||||||
$oDataset->next();
|
$oDataset->next();
|
||||||
$aUIDS = array();
|
$aUIDS = array();
|
||||||
while ($aRow = $oDataset->getRow()) {
|
while ($aRow = $oDataset->getRow()) {
|
||||||
require_once (PATH_RBAC_HOME . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "Roles.php");
|
|
||||||
$userRole = new \ProcessMaker\BusinessModel\User();
|
|
||||||
$permission = $userRole->loadUserRolePermission('PROCESSMAKER', $aRow['USR_UID']);
|
$permission = $userRole->loadUserRolePermission('PROCESSMAKER', $aRow['USR_UID']);
|
||||||
foreach ($permission as $key => $value) {
|
foreach ($permission as $key => $value) {
|
||||||
if ($value["PER_CODE"] == 'PM_SUPERVISOR') {
|
if ($value["PER_CODE"] == 'PM_SUPERVISOR') {
|
||||||
|
|||||||
Reference in New Issue
Block a user