diff --git a/workflow/engine/methods/roles/data_rolesList.php b/workflow/engine/methods/roles/data_rolesList.php index 97f3da412..fdbf824fe 100755 --- a/workflow/engine/methods/roles/data_rolesList.php +++ b/workflow/engine/methods/roles/data_rolesList.php @@ -12,26 +12,25 @@ * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . + * along with this program. If not, see . * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * */ require_once (PATH_RBAC . "model/RolesPeer.php"); -G::LoadClass('ArrayPeer'); +G::LoadClass( 'ArrayPeer' ); -isset($_POST['textFilter']) ? $filter = $_POST['textFilter'] : $filter = ''; +isset( $_POST['textFilter'] ) ? $filter = $_POST['textFilter'] : $filter = ''; -if ($filter != ""){ - $aRoles = $RBAC->getAllRolesFilter($filter); -}else{ - $aRoles = $RBAC->getAllRoles(); +if ($filter != "") { + $aRoles = $RBAC->getAllRolesFilter( $filter ); +} else { + $aRoles = $RBAC->getAllRoles(); } //$ocaux = $oAdditionalTables->getDataCriteria($_GET['sUID']); @@ -43,4 +42,5 @@ if ($filter != ""){ //while($rs->next()){ // $rows[] = $rs->getRow(); //} -echo '{roles: '.G::json_encode($aRoles).'}'; \ No newline at end of file +echo '{roles: ' . G::json_encode( $aRoles ) . '}'; + diff --git a/workflow/engine/methods/roles/data_rolesPermissions.php b/workflow/engine/methods/roles/data_rolesPermissions.php index c56df0461..17829c61e 100755 --- a/workflow/engine/methods/roles/data_rolesPermissions.php +++ b/workflow/engine/methods/roles/data_rolesPermissions.php @@ -12,15 +12,14 @@ * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . + * along with this program. If not, see . * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * */ $ROL_UID = $_GET['rUID']; @@ -28,18 +27,22 @@ $TYPE_DATA = $_GET["type"]; global $RBAC; -$filter = (isset($_REQUEST['textFilter']))? $_REQUEST['textFilter'] : ''; +$filter = (isset( $_REQUEST['textFilter'] )) ? $_REQUEST['textFilter'] : ''; //BUG 7554: erik/ hook for existents environments that have not PM_CANCELCASE -if ($RBAC->permissionsObj->loadByCode('PM_CANCELCASE') === false) { - $RBAC->permissionsObj->create(array('PER_CODE' => 'PM_CANCELCASE', 'PER_CREATE_DATE' => date('Y-m-d H:i:s'))); +if ($RBAC->permissionsObj->loadByCode( 'PM_CANCELCASE' ) === false) { + $RBAC->permissionsObj->create( array ('PER_CODE' => 'PM_CANCELCASE','PER_CREATE_DATE' => date( 'Y-m-d H:i:s' ) + ) ); } -if ($TYPE_DATA=='list') $oDataset = $RBAC->getRolePermissions($ROL_UID, $filter, 1); -if ($TYPE_DATA=='show') $oDataset = $RBAC->getAllPermissions($ROL_UID, $RBAC->sSystem, $filter, 1); +if ($TYPE_DATA == 'list') + $oDataset = $RBAC->getRolePermissions( $ROL_UID, $filter, 1 ); +if ($TYPE_DATA == 'show') + $oDataset = $RBAC->getAllPermissions( $ROL_UID, $RBAC->sSystem, $filter, 1 ); -$rows = Array(); -while($oDataset->next()){ - $rows[] = $oDataset->getRow(); +$rows = Array (); +while ($oDataset->next()) { + $rows[] = $oDataset->getRow(); } -echo '{permissions: '.G::json_encode($rows).'}'; \ No newline at end of file +echo '{permissions: ' . G::json_encode( $rows ) . '}'; + diff --git a/workflow/engine/methods/roles/data_rolesUsers.php b/workflow/engine/methods/roles/data_rolesUsers.php index a5c77d65d..a36458f46 100755 --- a/workflow/engine/methods/roles/data_rolesUsers.php +++ b/workflow/engine/methods/roles/data_rolesUsers.php @@ -12,15 +12,14 @@ * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . + * along with this program. If not, see . * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * */ $ROL_UID = $_GET['rUID']; @@ -28,13 +27,16 @@ $TYPE_DATA = $_GET["type"]; global $RBAC; -$filter = (isset($_REQUEST['textFilter']))? $_REQUEST['textFilter'] : ''; +$filter = (isset( $_REQUEST['textFilter'] )) ? $_REQUEST['textFilter'] : ''; -if ($TYPE_DATA=='list') $oDataset = $RBAC->getRoleUsers($ROL_UID, $filter); -if ($TYPE_DATA=='show') $oDataset = $RBAC->getAllUsers($ROL_UID, $filter); +if ($TYPE_DATA == 'list') + $oDataset = $RBAC->getRoleUsers( $ROL_UID, $filter ); +if ($TYPE_DATA == 'show') + $oDataset = $RBAC->getAllUsers( $ROL_UID, $filter ); -$rows = Array(); -while($oDataset->next()){ - $rows[] = $oDataset->getRow(); +$rows = Array (); +while ($oDataset->next()) { + $rows[] = $oDataset->getRow(); } -echo '{users: '.G::json_encode($rows).'}'; \ No newline at end of file +echo '{users: ' . G::json_encode( $rows ) . '}'; + diff --git a/workflow/engine/methods/roles/rolesUsersPermission.php b/workflow/engine/methods/roles/rolesUsersPermission.php index 46385144a..021d7a9cf 100755 --- a/workflow/engine/methods/roles/rolesUsersPermission.php +++ b/workflow/engine/methods/roles/rolesUsersPermission.php @@ -12,57 +12,54 @@ * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . + * along with this program. If not, see . * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * - **/ + */ global $RBAC; -switch ($RBAC->userCanAccess('PM_USERS')) { - case - 2: - G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels'); - G::header('location: ../login/login'); - die; - break; - case - 1: - G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels'); - G::header('location: ../login/login'); - die; - break; - case -3: - G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels'); - G::header('location: ../login/login'); - die; - break; +switch ($RBAC->userCanAccess( 'PM_USERS' )) { + case - 2: + G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' ); + G::header( 'location: ../login/login' ); + die(); + break; + case - 1: + G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); + G::header( 'location: ../login/login' ); + die(); + break; + case - 3: + G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); + G::header( 'location: ../login/login' ); + die(); + break; } - + $G_MAIN_MENU = 'processmaker'; $G_SUB_MENU = 'users'; $G_ID_MENU_SELECTED = 'USERS'; $G_ID_SUB_MENU_SELECTED = 'ROLES'; - -$G_PUBLISH = new Publisher; +$G_PUBLISH = new Publisher(); -$oHeadPublisher =& headPublisher::getSingleton(); +$oHeadPublisher = & headPublisher::getSingleton(); -$oHeadPublisher->addExtJsScript('roles/rolesUsersPermission', false); //adding a javascript file .js -$oHeadPublisher->addContent('roles/rolesUsersPermission'); //adding a html file .html. +$oHeadPublisher->addExtJsScript( 'roles/rolesUsersPermission', false ); //adding a javascript file .js +$oHeadPublisher->addContent( 'roles/rolesUsersPermission' ); //adding a html file .html. -$roles = Array(); +$roles = Array (); $roles['ROL_UID'] = $_GET['rUID']; -$roles['ROL_CODE'] = $RBAC->getRoleCode($_GET['rUID']); -$roles['CURRENT_TAB'] = ($_GET['tab']=='permissions') ? 1 : 0; +$roles['ROL_CODE'] = $RBAC->getRoleCode( $_GET['rUID'] ); +$roles['CURRENT_TAB'] = ($_GET['tab'] == 'permissions') ? 1 : 0; + +$oHeadPublisher->assign( 'ROLES', $roles ); +$oHeadPublisher->assign( 'permissionsAdmin', $RBAC->loadPermissionAdmin() ); +G::RenderPage( 'publish', 'extJs' ); -$oHeadPublisher->assign('ROLES', $roles); -$oHeadPublisher->assign('permissionsAdmin', $RBAC->loadPermissionAdmin()); -G::RenderPage('publish', 'extJs'); - -?> \ No newline at end of file diff --git a/workflow/engine/methods/roles/roles_AddUser.php b/workflow/engine/methods/roles/roles_AddUser.php index 0bcc70166..9d4c684fa 100755 --- a/workflow/engine/methods/roles/roles_AddUser.php +++ b/workflow/engine/methods/roles/roles_AddUser.php @@ -1,35 +1,36 @@ -. - * - * For more information, contact Colosa Inc, 2566 Le Jeune Rd., - * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * - */ - - require_once ( 'classes/class.xmlfield_InputPM.php' ); - $G_PUBLISH = new Publisher; - - require_once 'classes/model/Users.php'; - $oUser = new Users(); - $aData = Array('ROL_UID'=>$_GET['ROL_UID']); - $G_PUBLISH->AddContent('propeltable', 'roles/paged-table', 'roles/roles_ListUsers', $oUser->getAvailableUsersCriteria($_GET['ROL_UID']),$aData); - - G::RenderPage('publish', 'raw'); -die; +. + * + * For more information, contact Colosa Inc, 2566 Le Jeune Rd., + * Coral Gables, FL, 33134, USA, or email info@colosa.com. + */ + +require_once ('classes/class.xmlfield_InputPM.php'); +$G_PUBLISH = new Publisher(); + +require_once 'classes/model/Users.php'; +$oUser = new Users(); +$aData = Array ('ROL_UID' => $_GET['ROL_UID'] +); +$G_PUBLISH->AddContent( 'propeltable', 'roles/paged-table', 'roles/roles_ListUsers', $oUser->getAvailableUsersCriteria( $_GET['ROL_UID'] ), $aData ); + +G::RenderPage( 'publish', 'raw' ); +die(); + diff --git a/workflow/engine/methods/roles/roles_Ajax.php b/workflow/engine/methods/roles/roles_Ajax.php index e5efe5c71..17ff7084f 100755 --- a/workflow/engine/methods/roles/roles_Ajax.php +++ b/workflow/engine/methods/roles/roles_Ajax.php @@ -12,344 +12,287 @@ * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . + * along with this program. If not, see . * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * */ -$REQUEST = (isset($_GET['request']))?$_GET['request']:$_POST['request']; +$REQUEST = (isset( $_GET['request'] )) ? $_GET['request'] : $_POST['request']; switch ($REQUEST) { + case 'newRole': + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'roles/roles_New', '', '' ); + G::RenderPage( 'publish', 'raw' ); + break; + case 'saveNewRole': + $newid = md5( $_POST['code'] . date( "d-M-Y_H:i:s" ) ); + $aData['ROL_UID'] = $newid; + //$aData['ROL_PARENT'] = $_POST['parent']; + $aData['ROL_SYSTEM'] = '00000000000000000000000000000002'; + $aData['ROL_CODE'] = trim( $_POST['code'] ); + $aData['ROL_NAME'] = $_POST['name']; + $aData['ROL_CREATE_DATE'] = date( "Y-M-d H:i:s" ); + $aData['ROL_UPDATE_DATE'] = date( "Y-M-d H:i:s" ); + $aData['ROL_STATUS'] = $_POST['status']; + $oCriteria = $RBAC->createRole( $aData ); + echo '{success: true}'; + break; + case 'editRole': + $ROL_UID = $_GET['ROL_UID']; + $aFields = $RBAC->loadById( $ROL_UID ); - case 'newRole': - $G_PUBLISH = new Publisher(); - $G_PUBLISH->AddContent('xmlform', 'xmlform', 'roles/roles_New', '', ''); - G::RenderPage('publish', 'raw'); - break; + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'roles/roles_Edit', '', $aFields ); + G::RenderPage( 'publish', 'raw' ); + break; + case 'updateRole': + $aData['ROL_UID'] = $_POST['rol_uid']; + //$aData['ROL_PARENT'] = $_POST['parent']; + $aData['ROL_CODE'] = trim( $_POST['code'] ); + $aData['ROL_NAME'] = $_POST['name']; + $aData['ROL_UPDATE_DATE'] = date( "Y-M-d H:i:s" ); + $aData['ROL_STATUS'] = $_POST['status']; + $oCriteria = $RBAC->updateRole( $aData ); + echo '{success: true}'; + break; + case 'show': + G::LoadClass( 'ArrayPeer' ); + $aRoles = $RBAC->getAllRoles(); - case 'saveNewRole': - $newid = md5($_POST['code'].date("d-M-Y_H:i:s")); - $aData['ROL_UID'] = $newid; - //$aData['ROL_PARENT'] = $_POST['parent']; - $aData['ROL_SYSTEM'] = '00000000000000000000000000000002'; - $aData['ROL_CODE'] = trim($_POST['code']); - $aData['ROL_NAME'] = $_POST['name']; - $aData['ROL_CREATE_DATE'] = date("Y-M-d H:i:s"); - $aData['ROL_UPDATE_DATE'] = date("Y-M-d H:i:s"); - $aData['ROL_STATUS'] = $_POST['status']; - $oCriteria = $RBAC->createRole($aData); - echo '{success: true}'; - break; + $fields = Array ('ROL_UID' => 'char','ROL_PARENT' => 'char','ROL_SYSTEM' => 'char','ROL_CREATE_DATE' => 'char','ROL_UPDATE_DATE' => 'char','ROL_STATUS' => 'char' + ); - case 'editRole': - - $ROL_UID = $_GET['ROL_UID']; - $aFields = $RBAC->loadById($ROL_UID); - - $G_PUBLISH = new Publisher(); - $G_PUBLISH->AddContent('xmlform', 'xmlform', 'roles/roles_Edit', '', $aFields); - G::RenderPage('publish', 'raw'); - break; + $rows = array_merge( Array ($fields + ), $aRoles ); - case 'updateRole': - - $aData['ROL_UID'] = $_POST['rol_uid']; - //$aData['ROL_PARENT'] = $_POST['parent']; - $aData['ROL_CODE'] = trim($_POST['code']); - $aData['ROL_NAME'] = $_POST['name']; - $aData['ROL_UPDATE_DATE'] = date("Y-M-d H:i:s"); - $aData['ROL_STATUS'] = $_POST['status']; - $oCriteria = $RBAC->updateRole($aData); - echo '{success: true}'; - break; + global $_DBArray; + $_DBArray['virtual_roles'] = $rows; + $oCriteria = new Criteria( 'dbarray' ); + $oCriteria->setDBArrayTable( 'virtual_roles' ); - case 'show': - G::LoadClass('ArrayPeer'); - $aRoles = $RBAC->getAllRoles(); - - $fields = Array( - 'ROL_UID'=>'char', - 'ROL_PARENT'=>'char', - 'ROL_SYSTEM'=>'char', - 'ROL_CREATE_DATE'=>'char', - 'ROL_UPDATE_DATE'=>'char', - 'ROL_STATUS'=>'char' - ); + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent( 'propeltable', 'paged-table', 'roles/roles_List', $oCriteria ); + G::RenderPage( 'publish', 'raw' ); + break; + case 'deleteRole': + $oCriteria = $RBAC->removeRole( $_POST['ROL_UID'] ); + break; + case 'canDeleteRole': + if ($RBAC->numUsersWithRole( $_POST['ROL_UID'] ) == 0) { + echo 'true'; + } else { + echo 'false'; + } + break; + case 'verifyNewRole': + $response = ($RBAC->verifyNewRole( $_POST['code'] )) ? 'true' : 'false'; + print ($response) ; + break; + case 'updateDataRole': + require_once 'classes/model/om/BaseRoles.php'; + require_once 'classes/model/Content.php'; + $oCriteria = new Criteria( 'rbac' ); + $oCriteria->addSelectColumn( RolesPeer::ROL_UID ); + $oCriteria->addSelectColumn( RolesPeer::ROL_PARENT ); + $oCriteria->addSelectColumn( RolesPeer::ROL_SYSTEM ); + $oCriteria->addSelectColumn( RolesPeer::ROL_CODE ); + $oCriteria->addSelectColumn( RolesPeer::ROL_CREATE_DATE ); + $oCriteria->addSelectColumn( RolesPeer::ROL_UPDATE_DATE ); + $oCriteria->addSelectColumn( RolesPeer::ROL_STATUS ); + $oCriteria->add( RolesPeer::ROL_CODE, $_GET['code'] ); - $rows = array_merge(Array($fields), $aRoles); + $result = RolesPeer::doSelectRS( $oCriteria ); + $result->setFetchmode( ResultSet::FETCHMODE_ASSOC ); + $result->next(); + $row = $result->getRow(); - global $_DBArray; - $_DBArray['virtual_roles'] = $rows; - $oCriteria = new Criteria('dbarray'); - $oCriteria->setDBArrayTable('virtual_roles'); + $oCriteria1 = new Criteria( 'workflow' ); + $oCriteria1->add( ContentPeer::CON_CATEGORY, 'ROL_NAME' ); + $oCriteria1->add( ContentPeer::CON_ID, $row['ROL_UID'] ); + $oCriteria1->add( ContentPeer::CON_LANG, SYS_LANG ); + $oDataset1 = ContentPeer::doSelectRS( $oCriteria1 ); + $oDataset1->setFetchmode( ResultSet::FETCHMODE_ASSOC ); + $oDataset1->next(); + $aRow1 = $oDataset1->getRow(); + $row['ROL_NAME'] = $aRow1['CON_VALUE']; + $row['ROL_UPDATE_DATE'] = date( "Y-M-d H:i:s" ); - $G_PUBLISH = new Publisher; - $G_PUBLISH->AddContent('propeltable', 'paged-table', 'roles/roles_List', $oCriteria); - G::RenderPage('publish', 'raw'); - break; + $RBAC->updateRole( $row ); + //$response = ($RBAC->verifyNewRole($_GET['code']))?'true':'false'; + break; + case 'usersIntoRole': + $_GET['ROL_UID'] = (isset( $_GET['ROL_UID'] )) ? $_GET['ROL_UID'] : $_POST['ROL_UID']; + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent( 'view', 'roles/roles_Tree' ); + G::RenderPage( 'publish', 'raw' ); + break; + case 'deleteUserRole': + $USR_UID = $_POST['USR_UID']; + $ROL_UID = $_POST['ROL_UID']; + $RBAC->deleteUserRole( $ROL_UID, $USR_UID ); - case 'deleteRole': - $oCriteria = $RBAC->removeRole($_POST['ROL_UID']); - break; + $_GET['ROL_UID'] = $ROL_UID; + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent( 'view', 'roles/roles_Tree' ); + G::RenderPage( 'publish', 'raw' ); + break; + case 'showUsers': + $ROL_UID = $_POST['ROL_UID']; + $_GET['ROL_UID'] = $ROL_UID; + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent( 'view', 'roles/roles_AssignRole' ); + G::RenderPage( 'publish', 'raw' ); + break; + case 'showPermissions': + $ROL_UID = $_POST['ROL_UID']; + $_GET['ROL_UID'] = $ROL_UID; + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent( 'view', 'roles/roles_AssignPermissions' ); + G::RenderPage( 'publish', 'raw' ); + break; + case 'assignUserToRole': + $ROL_UID = $_POST['ROL_UID']; + $aUserIuds = explode( ",", $_POST['aUsers'] ); + foreach ($aUserIuds as $key => $val) { + $sData['USR_UID'] = $val; + $sData['ROL_UID'] = $ROL_UID; + $RBAC->assignUserToRole( $sData ); + } - case 'canDeleteRole': + // $_GET['ROL_UID'] = $ROL_UID; + // $G_PUBLISH = new Publisher; + // $G_PUBLISH->AddContent('view', 'roles/roles_Tree' ); + // G::RenderPage('publish', 'raw'); + break; + case 'assignPermissionToRole': + $USR_UID = $_POST['PER_UID']; + $ROL_UID = $_POST['ROL_UID']; + $sData['PER_UID'] = $USR_UID; + $sData['ROL_UID'] = $ROL_UID; + $RBAC->assignPermissionRole( $sData ); - if($RBAC->numUsersWithRole($_POST['ROL_UID']) == 0){ - echo 'true'; - } else { - echo 'false'; - } + // $_GET['ROL_UID'] = $ROL_UID; + // $G_PUBLISH = new Publisher; + // $G_PUBLISH->AddContent('view', 'roles/roles_permissionsTree' ); + // G::RenderPage('publish', 'raw'); + break; + case 'viewPermitions': + $_GET['ROL_UID'] = (isset( $_GET['ROL_UID'] )) ? $_GET['ROL_UID'] : $_POST['ROL_UID']; + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent( 'view', 'roles/roles_permissionsTree' ); + G::RenderPage( 'publish', 'raw' ); + break; + case 'deletePermissionRole': + $PER_UID = $_POST['PER_UID']; + $ROL_UID = $_POST['ROL_UID']; + $RBAC->deletePermissionRole( $ROL_UID, $PER_UID ); - break; + $_GET['ROL_UID'] = $ROL_UID; + $G_PUBLISH = new Publisher(); + $G_PUBLISH->AddContent( 'view', 'roles/roles_permissionsTree' ); + G::RenderPage( 'publish', 'raw' ); + break; + case 'assignPermissionToRoleMultiple': + $USR_UID = $_POST['PER_UID']; + $ROL_UID = $_POST['ROL_UID']; + $arrPer = explode( ',', $USR_UID ); + foreach ($arrPer as $PER_UID) { + unset( $sData ); + $sData['PER_UID'] = $PER_UID; + $sData['ROL_UID'] = $ROL_UID; + $RBAC->assignPermissionRole( $sData ); + } + break; + case 'deletePermissionToRoleMultiple': + $USR_UID = $_POST['PER_UID']; + $ROL_UID = $_POST['ROL_UID']; + $arrPer = explode( ',', $USR_UID ); + foreach ($arrPer as $PER_UID) { + $RBAC->deletePermissionRole( $ROL_UID, $PER_UID ); + } + break; + case 'deleteUserRoleMultiple': + $USR_UID = $_POST['USR_UID']; + $ROL_UID = $_POST['ROL_UID']; + $arrUsers = explode( ',', $USR_UID ); + foreach ($arrUsers as $aUID) { + $RBAC->deleteUserRole( $ROL_UID, $aUID ); + } + break; + case 'rolesList': + require_once (PATH_RBAC . "model/RolesPeer.php"); + require_once ("classes/model/Content.php"); + G::LoadClass( 'configuration' ); + $co = new Configurations(); + $config = $co->getConfiguration( 'rolesList', 'pageSize', '', $_SESSION['USER_LOGGED'] ); + $limit_size = isset( $config['pageSize'] ) ? $config['pageSize'] : 20; - case 'verifyNewRole': - $response = ($RBAC->verifyNewRole($_POST['code']))?'true':'false'; - print($response); - break; + $start = isset( $_POST['start'] ) ? $_POST['start'] : 0; + $limit = isset( $_POST['limit'] ) ? $_POST['limit'] : $limit_size; + $filter = isset( $_REQUEST['textFilter'] ) ? $_REQUEST['textFilter'] : ''; - case 'updateDataRole': - require_once 'classes/model/om/BaseRoles.php'; - require_once 'classes/model/Content.php'; - $oCriteria = new Criteria('rbac'); - $oCriteria->addSelectColumn(RolesPeer::ROL_UID); - $oCriteria->addSelectColumn(RolesPeer::ROL_PARENT); - $oCriteria->addSelectColumn(RolesPeer::ROL_SYSTEM); - $oCriteria->addSelectColumn(RolesPeer::ROL_CODE); - $oCriteria->addSelectColumn(RolesPeer::ROL_CREATE_DATE); - $oCriteria->addSelectColumn(RolesPeer::ROL_UPDATE_DATE); - $oCriteria->addSelectColumn(RolesPeer::ROL_STATUS); - $oCriteria->add(RolesPeer::ROL_CODE, $_GET['code']); + global $RBAC; + $Criterias = $RBAC->getAllRolesFilter( $start, $limit, $filter ); - $result = RolesPeer::doSelectRS($oCriteria); - $result->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $result->next(); - $row = $result->getRow(); + $rs = RolesPeer::DoSelectRs( $Criterias['LIST'] ); + $rs->setFetchmode( ResultSet::FETCHMODE_ASSOC ); - $oCriteria1 = new Criteria('workflow'); - $oCriteria1->add(ContentPeer::CON_CATEGORY, 'ROL_NAME'); - $oCriteria1->add(ContentPeer::CON_ID, $row['ROL_UID']); - $oCriteria1->add(ContentPeer::CON_LANG, SYS_LANG); - $oDataset1 = ContentPeer::doSelectRS($oCriteria1); - $oDataset1->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $oDataset1->next(); - $aRow1 = $oDataset1->getRow(); - $row['ROL_NAME'] = $aRow1['CON_VALUE']; - $row['ROL_UPDATE_DATE'] = date("Y-M-d H:i:s"); + $content = new Content(); + $rNames = $content->getAllContentsByRole(); + $aUsers = $RBAC->getAllUsersByRole(); - $RBAC->updateRole($row); - //$response = ($RBAC->verifyNewRole($_GET['code']))?'true':'false'; + $aRows = Array (); + while ($rs->next()) { + $aRows[] = $rs->getRow(); + $index = sizeof( $aRows ) - 1; + $aRows[$index]['ROL_NAME'] = isset( $rNames[$aRows[$index]['ROL_UID']] ) ? $rNames[$aRows[$index]['ROL_UID']] : ''; + $aRows[$index]['TOTAL_USERS'] = isset( $aUsers[$aRows[$index]['ROL_UID']] ) ? $aUsers[$aRows[$index]['ROL_UID']] : 0; + } - break; + $oData = RolesPeer::doSelectRS( $Criterias['COUNTER'] ); + $oData->setFetchmode( ResultSet::FETCHMODE_ASSOC ); + $oData->next(); + $row = $oData->getRow(); + $total_roles = $row['CNT']; - case 'usersIntoRole': - - $_GET['ROL_UID'] = (isset($_GET['ROL_UID']))?$_GET['ROL_UID']:$_POST['ROL_UID']; - $G_PUBLISH = new Publisher; - $G_PUBLISH->AddContent('view', 'roles/roles_Tree' ); - G::RenderPage('publish', 'raw'); - break; - - - - case 'deleteUserRole': - $USR_UID = $_POST['USR_UID']; - $ROL_UID = $_POST['ROL_UID']; - $RBAC->deleteUserRole($ROL_UID, $USR_UID); - - $_GET['ROL_UID'] = $ROL_UID; - $G_PUBLISH = new Publisher; - $G_PUBLISH->AddContent('view', 'roles/roles_Tree' ); - G::RenderPage('publish', 'raw'); - break; - - case 'showUsers': - $ROL_UID = $_POST['ROL_UID']; - $_GET['ROL_UID'] = $ROL_UID; - $G_PUBLISH = new Publisher; - $G_PUBLISH->AddContent('view', 'roles/roles_AssignRole' ); - G::RenderPage('publish', 'raw'); - break; - - case 'showPermissions': - $ROL_UID = $_POST['ROL_UID']; - $_GET['ROL_UID'] = $ROL_UID; - $G_PUBLISH = new Publisher; - $G_PUBLISH->AddContent('view', 'roles/roles_AssignPermissions' ); - G::RenderPage('publish', 'raw'); - break; - - case 'assignUserToRole': - - $ROL_UID = $_POST['ROL_UID']; - $aUserIuds = explode(",",$_POST['aUsers']); - foreach($aUserIuds as $key=>$val){ - $sData['USR_UID'] = $val; - $sData['ROL_UID'] = $ROL_UID; - $RBAC->assignUserToRole($sData); - } - - // $_GET['ROL_UID'] = $ROL_UID; - // $G_PUBLISH = new Publisher; - // $G_PUBLISH->AddContent('view', 'roles/roles_Tree' ); - // G::RenderPage('publish', 'raw'); - break; - - case 'assignPermissionToRole': - $USR_UID = $_POST['PER_UID']; - $ROL_UID = $_POST['ROL_UID']; - $sData['PER_UID'] = $USR_UID; - $sData['ROL_UID'] = $ROL_UID; - $RBAC->assignPermissionRole($sData); - - // $_GET['ROL_UID'] = $ROL_UID; - // $G_PUBLISH = new Publisher; - // $G_PUBLISH->AddContent('view', 'roles/roles_permissionsTree' ); - // G::RenderPage('publish', 'raw'); - break; - - case 'viewPermitions': - - $_GET['ROL_UID'] = (isset($_GET['ROL_UID']))?$_GET['ROL_UID']:$_POST['ROL_UID']; - $G_PUBLISH = new Publisher; - $G_PUBLISH->AddContent('view', 'roles/roles_permissionsTree' ); - G::RenderPage('publish', 'raw'); - break; - - case 'deletePermissionRole': - $PER_UID = $_POST['PER_UID']; - $ROL_UID = $_POST['ROL_UID']; - $RBAC->deletePermissionRole($ROL_UID, $PER_UID); - - $_GET['ROL_UID'] = $ROL_UID; - $G_PUBLISH = new Publisher; - $G_PUBLISH->AddContent('view', 'roles/roles_permissionsTree'); - G::RenderPage('publish', 'raw'); - break; - - case 'assignPermissionToRoleMultiple': - $USR_UID = $_POST['PER_UID']; - $ROL_UID = $_POST['ROL_UID']; - $arrPer = explode(',',$USR_UID); - foreach ($arrPer as $PER_UID){ - unset($sData); - $sData['PER_UID'] = $PER_UID; - $sData['ROL_UID'] = $ROL_UID; - $RBAC->assignPermissionRole($sData); - } - break; - - case 'deletePermissionToRoleMultiple': - $USR_UID = $_POST['PER_UID']; - $ROL_UID = $_POST['ROL_UID']; - $arrPer = explode(',',$USR_UID); - foreach ($arrPer as $PER_UID){ - $RBAC->deletePermissionRole($ROL_UID, $PER_UID); - } - break; - case 'deleteUserRoleMultiple': - $USR_UID = $_POST['USR_UID']; - $ROL_UID = $_POST['ROL_UID']; - $arrUsers = explode(',',$USR_UID); - foreach ($arrUsers as $aUID){ - $RBAC->deleteUserRole($ROL_UID, $aUID); - } - break; - case 'rolesList': - require_once (PATH_RBAC . "model/RolesPeer.php"); - require_once ("classes/model/Content.php"); - G::LoadClass('configuration'); - $co = new Configurations(); - $config = $co->getConfiguration('rolesList', 'pageSize','',$_SESSION['USER_LOGGED']); - $limit_size = isset($config['pageSize']) ? $config['pageSize'] : 20; - - $start = isset($_POST['start']) ? $_POST['start'] : 0; - $limit = isset($_POST['limit']) ? $_POST['limit'] : $limit_size; - $filter = isset($_REQUEST['textFilter'])? $_REQUEST['textFilter'] : ''; - - - global $RBAC; - $Criterias = $RBAC->getAllRolesFilter($start,$limit,$filter); - - $rs = RolesPeer::DoSelectRs($Criterias['LIST']); - $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC); - - $content = new Content(); - $rNames = $content->getAllContentsByRole(); - $aUsers = $RBAC->getAllUsersByRole(); - - $aRows = Array(); - while($rs->next()){ - $aRows[] = $rs->getRow(); - $index = sizeof($aRows)-1; - $aRows[$index]['ROL_NAME'] = isset($rNames[$aRows[$index]['ROL_UID']])? $rNames[$aRows[$index]['ROL_UID']] : ''; - $aRows[$index]['TOTAL_USERS'] = isset($aUsers[$aRows[$index]['ROL_UID']])? $aUsers[$aRows[$index]['ROL_UID']] : 0; - } - - $oData = RolesPeer::doSelectRS($Criterias['COUNTER']); - $oData->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $oData->next(); - $row = $oData->getRow(); - $total_roles = $row['CNT']; - - echo '{roles: '.G::json_encode($aRows).', total_roles: '.$total_roles.'}'; - break; - case 'updatePageSize': - G::LoadClass('configuration'); - $c = new Configurations(); - $arr['pageSize'] = $_REQUEST['size']; - $arr['dateSave'] = date('Y-m-d H:i:s'); - $config = Array(); - $config[] = $arr; - $c->aConfig = $config; - $c->saveConfig('rolesList', 'pageSize','',$_SESSION['USER_LOGGED']); - echo '{success: true}'; - break; - case 'checkRoleCode': - $rol_code = $_POST['ROL_CODE']; - $rol_uid = isset($_POST['ROL_UID'])? $_POST['ROL_UID']: ''; - $oCriteria = new Criteria('rbac'); - $oCriteria->addSelectColumn(RolesPeer::ROL_UID); - $oCriteria->add(RolesPeer::ROL_CODE, $rol_code); - if ($rol_uid !=''){ - $oCriteria->add(RolesPeer::ROL_UID, $rol_uid, Criteria::NOT_EQUAL); - } - $oDataset = RolesPeer::doSelectRS($oCriteria); - $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); - if ($oDataset->next()){ - $response = 'false'; - }else{ - $response = 'true'; - } - echo '{success:'.$response.'}'; - break; - - default: echo 'default'; + echo '{roles: ' . G::json_encode( $aRows ) . ', total_roles: ' . $total_roles . '}'; + break; + case 'updatePageSize': + G::LoadClass( 'configuration' ); + $c = new Configurations(); + $arr['pageSize'] = $_REQUEST['size']; + $arr['dateSave'] = date( 'Y-m-d H:i:s' ); + $config = Array (); + $config[] = $arr; + $c->aConfig = $config; + $c->saveConfig( 'rolesList', 'pageSize', '', $_SESSION['USER_LOGGED'] ); + echo '{success: true}'; + break; + case 'checkRoleCode': + $rol_code = $_POST['ROL_CODE']; + $rol_uid = isset( $_POST['ROL_UID'] ) ? $_POST['ROL_UID'] : ''; + $oCriteria = new Criteria( 'rbac' ); + $oCriteria->addSelectColumn( RolesPeer::ROL_UID ); + $oCriteria->add( RolesPeer::ROL_CODE, $rol_code ); + if ($rol_uid != '') { + $oCriteria->add( RolesPeer::ROL_UID, $rol_uid, Criteria::NOT_EQUAL ); + } + $oDataset = RolesPeer::doSelectRS( $oCriteria ); + $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); + if ($oDataset->next()) { + $response = 'false'; + } else { + $response = 'true'; + } + echo '{success:' . $response . '}'; + break; + default: + echo 'default'; } - - - - - - - - - - - - - - - - - - - - - diff --git a/workflow/engine/methods/roles/roles_List.php b/workflow/engine/methods/roles/roles_List.php index 6b5c60fea..24d7e6b92 100755 --- a/workflow/engine/methods/roles/roles_List.php +++ b/workflow/engine/methods/roles/roles_List.php @@ -12,56 +12,51 @@ * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU Affero General Public License for more details. * * You should have received a copy of the GNU Affero General Public License - * along with this program. If not, see . + * along with this program. If not, see . * * For more information, contact Colosa Inc, 2566 Le Jeune Rd., * Coral Gables, FL, 33134, USA, or email info@colosa.com. - * */ - global $RBAC; - switch ($RBAC->userCanAccess('PM_USERS')) { - case - 2: - G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels'); - G::header('location: ../login/login'); - die; - break; - case - 1: - G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels'); - G::header('location: ../login/login'); - die; - break; - case -3: - G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels'); - G::header('location: ../login/login'); - die; - break; - } - - $G_MAIN_MENU = 'processmaker'; - $G_SUB_MENU = 'users'; - $G_ID_MENU_SELECTED = 'USERS'; - $G_ID_SUB_MENU_SELECTED = 'ROLES'; - -$G_PUBLISH = new Publisher; +global $RBAC; +switch ($RBAC->userCanAccess( 'PM_USERS' )) { + case - 2: + G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_SYSTEM', 'error', 'labels' ); + G::header( 'location: ../login/login' ); + die(); + break; + case - 1: + G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); + G::header( 'location: ../login/login' ); + die(); + break; + case - 3: + G::SendTemporalMessage( 'ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels' ); + G::header( 'location: ../login/login' ); + die(); + break; +} -G::LoadClass('configuration'); +$G_MAIN_MENU = 'processmaker'; +$G_SUB_MENU = 'users'; +$G_ID_MENU_SELECTED = 'USERS'; +$G_ID_SUB_MENU_SELECTED = 'ROLES'; + +$G_PUBLISH = new Publisher(); + +G::LoadClass( 'configuration' ); $c = new Configurations(); -$configPage = $c->getConfiguration('rolesList', 'pageSize','',$_SESSION['USER_LOGGED']); -$Config['pageSize'] = isset($configPage['pageSize']) ? $configPage['pageSize'] : 20; - -$oHeadPublisher =& headPublisher::getSingleton(); - -$oHeadPublisher->addExtJsScript('roles/rolesList', false); //adding a javascript file .js -$oHeadPublisher->addContent('roles/rolesList'); //adding a html file .html. -$oHeadPublisher->assign('FORMATS',$c->getFormats()); -$oHeadPublisher->assign('CONFIG', $Config); -G::RenderPage('publish', 'extJs'); - -?> +$configPage = $c->getConfiguration( 'rolesList', 'pageSize', '', $_SESSION['USER_LOGGED'] ); +$Config['pageSize'] = isset( $configPage['pageSize'] ) ? $configPage['pageSize'] : 20; +$oHeadPublisher = & headPublisher::getSingleton(); +$oHeadPublisher->addExtJsScript( 'roles/rolesList', false ); //adding a javascript file .js +$oHeadPublisher->addContent( 'roles/rolesList' ); //adding a html file .html. +$oHeadPublisher->assign( 'FORMATS', $c->getFormats() ); +$oHeadPublisher->assign( 'CONFIG', $Config ); +G::RenderPage( 'publish', 'extJs' );