diff --git a/workflow/engine/methods/groups/groups_Ajax.php b/workflow/engine/methods/groups/groups_Ajax.php
index 598d9f9a4..ca2913fff 100644
--- a/workflow/engine/methods/groups/groups_Ajax.php
+++ b/workflow/engine/methods/groups/groups_Ajax.php
@@ -168,7 +168,7 @@ switch ($_POST['action'])
G::LoadClass('groups');
$newGroup['GRP_UID'] = '';
$newGroup['GRP_STATUS'] = G::toUpper($_POST['status']);
- $newGroup['GRP_TITLE'] = $_POST['name'];
+ $newGroup['GRP_TITLE'] = trim($_POST['name']);
unset($newGroup['GRP_UID']);
$group = new Groupwf();
$group->create($newGroup);
@@ -178,7 +178,7 @@ switch ($_POST['action'])
G::LoadClass('groups');
$editGroup['GRP_UID'] = $_POST['grp_uid'];
$editGroup['GRP_STATUS'] = G::toUpper($_POST['status']);
- $editGroup['GRP_TITLE'] = $_POST['name'];
+ $editGroup['GRP_TITLE'] = trim($_POST['name']);
$group = new Groupwf();
$group->update($editGroup);
echo '{success: true}';
diff --git a/workflow/engine/methods/processCategory/processCategory_Ajax.php b/workflow/engine/methods/processCategory/processCategory_Ajax.php
index 04bb6bc1a..fc714425a 100755
--- a/workflow/engine/methods/processCategory/processCategory_Ajax.php
+++ b/workflow/engine/methods/processCategory/processCategory_Ajax.php
@@ -99,7 +99,7 @@ if(isset($_REQUEST['action'])) {
case 'saveNewCategory':
try{
require_once 'classes/model/ProcessCategory.php';
- $catName = $_REQUEST['category'];
+ $catName = trim($_REQUEST['category']);
$pcat = new ProcessCategory();
$pcat->setNew(true);
$pcat->setCategoryUid(G::GenerateUniqueID());
@@ -129,7 +129,7 @@ if(isset($_REQUEST['action'])) {
try{
require_once 'classes/model/ProcessCategory.php';
$catUID = $_REQUEST['cat_uid'];
- $catName = $_REQUEST['category'];
+ $catName = trim($_REQUEST['category']);
$pcat = new ProcessCategory();
$pcat->setNew(false);
$pcat->setCategoryUid($catUID);
diff --git a/workflow/engine/methods/roles/roles_Ajax.php b/workflow/engine/methods/roles/roles_Ajax.php
index a3413c96f..da4ed0a80 100644
--- a/workflow/engine/methods/roles/roles_Ajax.php
+++ b/workflow/engine/methods/roles/roles_Ajax.php
@@ -24,296 +24,308 @@
*/
$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 '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'] = $_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);
-
- $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'] = $_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 '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 'show':
- G::LoadClass('ArrayPeer');
- $aRoles = $RBAC->getAllRoles();
-
- $fields = Array(
+ 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;
+
+ 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();
+
+ $fields = Array(
'ROL_UID'=>'char',
'ROL_PARENT'=>'char',
'ROL_SYSTEM'=>'char',
'ROL_CREATE_DATE'=>'char',
'ROL_UPDATE_DATE'=>'char',
'ROL_STATUS'=>'char'
- );
-
- $rows = array_merge(Array($fields), $aRoles);
-
- global $_DBArray;
- $_DBArray['virtual_roles'] = $rows;
- $oCriteria = new Criteria('dbarray');
- $oCriteria->setDBArrayTable('virtual_roles');
-
- $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']);
-
- $result = RolesPeer::doSelectRS($oCriteria);
- $result->setFetchmode(ResultSet::FETCHMODE_ASSOC);
- $result->next();
- $row = $result->getRow();
-
- $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");
+ $rows = array_merge(Array($fields), $aRoles);
+
+ global $_DBArray;
+ $_DBArray['virtual_roles'] = $rows;
+ $oCriteria = new Criteria('dbarray');
+ $oCriteria->setDBArrayTable('virtual_roles');
+
+ $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']);
+
+ $result = RolesPeer::doSelectRS($oCriteria);
+ $result->setFetchmode(ResultSet::FETCHMODE_ASSOC);
+ $result->next();
+ $row = $result->getRow();
+
+ $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");
+
+ $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;
- $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);
-
- $_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':
+ 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;
- $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 '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;
-// $_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'] : '';
+ case 'assignUserToRole':
-
- 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;
+ $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);
+ }
-
-
- default: echo 'default';
+ // $_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'];
+ $oCriteria = new Criteria('rbac');
+ $oCriteria->addSelectColumn(RolesPeer::ROL_UID);
+ $oCriteria->add(RolesPeer::ROL_CODE, $rol_code);
+ $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/templates/departments/departmentList.js b/workflow/engine/templates/departments/departmentList.js
index 6e789a3d2..86e18bb42 100755
--- a/workflow/engine/templates/departments/departmentList.js
+++ b/workflow/engine/templates/departments/departmentList.js
@@ -4,238 +4,236 @@
*/
//Keyboard Events
-new Ext.KeyMap(document, {
- key: Ext.EventObject.F5,
- fn: function(keycode, e) {
- if (! e.ctrlKey) {
- if (Ext.isIE) {
- // IE6 doesn't allow cancellation of the F5 key, so trick it into
- // thinking some other key was pressed (backspace in this case)
- e.browserEvent.keyCode = 8;
- }
- e.stopEvent();
- document.location = document.location;
- }else{
- Ext.Msg.alert('Refresh', 'You clicked: CTRL-F5');
- }
- }
-}
-//,
-//{
-// key: Ext.EventObject.DELETE,
-// fn: function(k,e){
-// var dep_node = Ext.getCmp('treePanel').getSelectionModel().getSelectedNode();
-// //if (typeof dep_node != 'undefined')
-// //if(dep_node.attributes.leaf){
-// DeleteDepartmentAction();
-// //}
-// }
-//}
+new Ext.KeyMap(document,
+ [
+ {
+ key: Ext.EventObject.F5,
+ fn: function(keycode, e) {
+ if (! e.ctrlKey) {
+ if (Ext.isIE) {
+ // IE6 doesn't allow cancellation of the F5 key, so trick it into
+ // thinking some other key was pressed (backspace in this case)
+ e.browserEvent.keyCode = 8;
+ }
+ e.stopEvent();
+ document.location = document.location;
+ }else{
+ Ext.Msg.alert('Refresh', 'You clicked: CTRL-F5');
+ }
+ }
+ },
+ {
+ key: Ext.EventObject.DELETE,
+ fn: function(k,e){ DeleteDepartmentAction();}
+ },
+ {
+ key: Ext.EventObject.F2,
+ fn: function(k,e){ EditDepartmentAction(); }
+ }
+ ]
);
var treePanel;
var rootNode;
+var w;
Ext.onReady(function() {
- Ext.QuickTips.init();
-
- newButton = new Ext.Action({
- text: _('ID_NEW_DEPARTMENT'),
- iconCls: ' button_menu_ext ss_sprite ss_add',
- handler: NewRootDepartment
- });
-
- newSubButton = new Ext.Action({
- text: _('ID_NEW_SUB_DEPARTMENT'),
- iconCls: ' button_menu_ext ss_sprite ss_add',
- handler: NewSubDepartment,
- disabled: true
- });
-
- editButton = new Ext.Action({
- text: _('ID_EDIT'),
- iconCls: 'button_menu_ext ss_sprite ss_pencil',
- handler: EditDepartmentAction,
- disabled: true
- });
+ Ext.QuickTips.init();
- deleteButton = new Ext.Action({
- text: _('ID_DELETE'),
- iconCls: 'button_menu_ext ss_sprite ss_delete',
- handler: DeleteDepartmentAction,
- disabled: true
- });
-
- usersButton = new Ext.Action({
- text: _('ID_USERS'),
- iconCls: 'button_menu_ext ss_sprite ss_user_add',
- handler: UsersButtonAction,
- disabled: true
- });
-
- contextMenu = new Ext.menu.Menu({
- items: [newSubButton,'-',editButton, deleteButton,'-',usersButton]
- });
-
- smodel = new Ext.tree.DefaultSelectionModel({
- listeners:{
- selectionchange: function(sm, node){
- editButton.enable();
- newSubButton.enable();
- usersButton.enable();
- if (!node){
- deleteButton.disable();
- }else{
- if (node.attributes.leaf){
- deleteButton.enable();
- }else{
- deleteButton.disable();
- }
- }
- //var tree = Ext.getCmp('treePanel');
- //alert(treePanel.getRootNode());
- }
- }
- });
-
- comboStatusStore = new Ext.data.SimpleStore({
- fields: ['id','value'],
- data: [['ACTIVE',_('ID_ACTIVE')],['INACTIVE',_('ID_INACTIVE')]]
- });
-
- comboDepManager = new Ext.data.GroupingStore( {
- proxy : new Ext.data.HttpProxy({
- url: 'departments_Ajax?action=usersByDepartment'
- }),
- reader : new Ext.data.JsonReader( {
- root: 'users',
- fields : [
- {name : 'USR_UID'},
- {name : 'USR_VALUE'}
- ]
- })
- });
-
- newForm = new Ext.FormPanel({
- url: 'departments_Ajax?request=saveNewDepartment',
- frame: true,
- items:[
- {xtype: 'textfield', name: 'parent', hidden: true},
- {xtype: 'textfield', fieldLabel: _('ID_DEPARTMENT_NAME'), name: 'dep_name', width: 230, allowBlank: false}
- ],
- buttons: [
- {text: _('ID_SAVE'), handler: SaveNewDepartment},
- {text: _('ID_CANCEL'), handler: CloseWindow}
-
- ],
- labelWidth: 120
- });
-
- editForm = new Ext.FormPanel({
- url: 'departments_Ajax?request=saveEditDepartment',
- frame: true,
- items:[
- {xtype: 'textfield', name: 'dep_uid', hidden: true},
- {xtype: 'textfield', name: 'dep_parent', hidden: true},
- {xtype: 'textfield', fieldLabel: _('ID_DEPARTMENT_NAME'), name: 'dep_name', width: 230, allowBlank: false},
- {
- xtype: 'combo',
- fieldLabel: _('ID_STATUS'),
- hiddenName: 'status',
- typeAhead: true,
- mode: 'local',
- store: comboStatusStore,
- displayField: 'value',
- valueField:'id',
- allowBlank: false,
- triggerAction: 'all',
- emptyText: _('ID_SELECT_STATUS'),
- selectOnFocus:true
- }
- ,
- {
- xtype: 'combo',
- fieldLabel: 'Manager',
- hiddenName: 'manager',
- typeAhead: true,
- mode: 'local',
- store: comboDepManager,
- displayField: 'USR_VALUE',
- valueField:'USR_UID',
- allowBlank: true,
- triggerAction: 'all',
- emptyText: '',
- selectOnFocus:true
- }
- ],
- buttons: [
- {text: _('ID_SAVE'), handler: SaveEditDepartment},
- {text: _('ID_CANCEL'), handler: CloseWindow}
- ],
- labelWidth: 120
- });
-
- rootNode = new Ext.tree.AsyncTreeNode({
- text:'Departments'
- });
-
-
- treePanel = new Ext.ux.tree.TreeGrid({
- title: _('ID_DEPARTMENTS'),
- autoScroll: true,
- width: 720,
- height: 300,
- id: 'treePanel',
- columns:[{
- header: _('ID_DEPARTMENT_NAME'),
- dataIndex: 'DEP_TITLE',
- width: 320
- },{
- header: _('ID_STATUS'),
- width: 100,
- dataIndex: 'DEP_STATUS',
- align: 'center',
- tpl: new Ext.XTemplate('{DEP_STATUS:this.formatStatus}', {
- formatStatus: function(v) {
- switch(v){
- case 'ACTIVE': return '' + _('ID_ACTIVE') + ''; break;
- case 'INACTIVE': return '' + _('ID_INACTIVE') + ''; break;
- }
- }
- })
- },{
- header: _('ID_MANAGER'),
- width: 220,
- dataIndex: 'DEP_MANAGER_NAME'
- },{
- header: _('ID_USERS'),
- width: 80,
- dataIndex: 'DEP_TOTAL_USERS',
- align: 'center',
- sortType: 'asFloat'
+ newButton = new Ext.Action({
+ text: _('ID_NEW_DEPARTMENT'),
+ iconCls: ' button_menu_ext ss_sprite ss_add',
+ handler: NewRootDepartment
+ });
+
+ newSubButton = new Ext.Action({
+ text: _('ID_NEW_SUB_DEPARTMENT'),
+ iconCls: ' button_menu_ext ss_sprite ss_add',
+ handler: NewSubDepartment,
+ disabled: true
+ });
+
+ editButton = new Ext.Action({
+ text: _('ID_EDIT'),
+ iconCls: 'button_menu_ext ss_sprite ss_pencil',
+ handler: EditDepartmentAction,
+ disabled: true
+ });
+
+ deleteButton = new Ext.Action({
+ text: _('ID_DELETE'),
+ iconCls: 'button_menu_ext ss_sprite ss_delete',
+ handler: DeleteDepartmentAction,
+ disabled: true
+ });
+
+ usersButton = new Ext.Action({
+ text: _('ID_USERS'),
+ iconCls: 'button_menu_ext ss_sprite ss_user_add',
+ handler: UsersButtonAction,
+ disabled: true
+ });
+
+ contextMenu = new Ext.menu.Menu({
+ items: [newSubButton,'-',editButton, deleteButton,'-',usersButton]
+ });
+
+ smodel = new Ext.tree.DefaultSelectionModel({
+ listeners:{
+ selectionchange: function(sm, node){
+ editButton.enable();
+ newSubButton.enable();
+ usersButton.enable();
+ if (!node){
+ deleteButton.disable();
+ }else{
+ if (node.attributes.leaf){
+ deleteButton.enable();
+ }else{
+ deleteButton.disable();
+ }
}
- ],
- selModel: smodel,
- tbar: [newButton,'-',newSubButton,'-',editButton, deleteButton,'-',usersButton],
- dataUrl:'departments_Ajax?action=departmentList',
- root: rootNode
- });
-
- treePanel.on('contextmenu', treeContextHandler);
-
- viewport = new Ext.Viewport({
- layout: 'fit',
- autoScroll: false,
- items: [treePanel]
- });
-
+ }
+ }
+ });
+
+ comboStatusStore = new Ext.data.SimpleStore({
+ fields: ['id','value'],
+ data: [['ACTIVE',_('ID_ACTIVE')],['INACTIVE',_('ID_INACTIVE')]]
+ });
+
+ comboDepManager = new Ext.data.GroupingStore( {
+ proxy : new Ext.data.HttpProxy({
+ url: 'departments_Ajax?action=usersByDepartment'
+ }),
+ reader : new Ext.data.JsonReader( {
+ root: 'users',
+ fields : [
+ {name : 'USR_UID'},
+ {name : 'USR_VALUE'}
+ ]
+ })
+ });
+
+ newForm = new Ext.FormPanel({
+ url: 'departments_Ajax?request=saveNewDepartment',
+ frame: true,
+ items:[
+ {xtype: 'textfield', name: 'parent', hidden: true},
+ {xtype: 'textfield', fieldLabel: _('ID_DEPARTMENT_NAME'), name: 'dep_name', width: 230, allowBlank: false}
+ ],
+ buttons: [
+ {text: _('ID_SAVE'), handler: SaveNewDepartment},
+ {text: _('ID_CANCEL'), handler: CloseWindow}
+
+ ],
+ labelWidth: 120
+ });
+
+ editForm = new Ext.FormPanel({
+ url: 'departments_Ajax?request=saveEditDepartment',
+ frame: true,
+ items:[
+ {xtype: 'textfield', name: 'dep_uid', hidden: true},
+ {xtype: 'textfield', name: 'dep_parent', hidden: true},
+ {xtype: 'textfield', fieldLabel: _('ID_DEPARTMENT_NAME'), name: 'dep_name', width: 230, allowBlank: false},
+ {
+ xtype: 'combo',
+ fieldLabel: _('ID_STATUS'),
+ hiddenName: 'status',
+ typeAhead: true,
+ mode: 'local',
+ store: comboStatusStore,
+ displayField: 'value',
+ valueField:'id',
+ allowBlank: false,
+ triggerAction: 'all',
+ emptyText: _('ID_SELECT_STATUS'),
+ selectOnFocus:true
+ }
+ ,
+ {
+ xtype: 'combo',
+ fieldLabel: 'Manager',
+ hiddenName: 'manager',
+ typeAhead: true,
+ mode: 'local',
+ store: comboDepManager,
+ displayField: 'USR_VALUE',
+ valueField:'USR_UID',
+ allowBlank: true,
+ triggerAction: 'all',
+ emptyText: '',
+ selectOnFocus:true
+ }
+ ],
+ buttons: [
+ {text: _('ID_SAVE'), handler: SaveEditDepartment},
+ {text: _('ID_CANCEL'), handler: CloseWindow}
+ ],
+ labelWidth: 120
+ });
+
+ rootNode = new Ext.tree.AsyncTreeNode({
+ text:'Departments'
+ });
+
+ treePanel = new Ext.ux.tree.TreeGrid({
+ title: _('ID_DEPARTMENTS'),
+ autoScroll: true,
+ width: 720,
+ height: 300,
+ id: 'treePanel',
+ columns:[{
+ header: _('ID_DEPARTMENT_NAME'),
+ dataIndex: 'DEP_TITLE',
+ width: 320
+ },{
+ header: _('ID_STATUS'),
+ width: 100,
+ dataIndex: 'DEP_STATUS',
+ align: 'center',
+ tpl: new Ext.XTemplate('{DEP_STATUS:this.formatStatus}', {
+ formatStatus: function(v) {
+ switch(v){
+ case 'ACTIVE': return '' + _('ID_ACTIVE') + ''; break;
+ case 'INACTIVE': return '' + _('ID_INACTIVE') + ''; break;
+ }
+ }
+ })
+ },{
+ header: _('ID_MANAGER'),
+ width: 220,
+ dataIndex: 'DEP_MANAGER_NAME'
+ },{
+ header: _('ID_USERS'),
+ width: 80,
+ dataIndex: 'DEP_TOTAL_USERS',
+ align: 'center',
+ sortType: 'asFloat'
+ }
+ ],
+ selModel: smodel,
+ tbar: [newButton,'-',newSubButton,'-',editButton, deleteButton,'-',usersButton],
+ dataUrl:'departments_Ajax?action=departmentList',
+ root: rootNode
+ });
+
+ treePanel.on('contextmenu', treeContextHandler);
+
+ viewport = new Ext.Viewport({
+ layout: 'fit',
+ autoScroll: false,
+ items: [treePanel]
+ });
+
});
//Funtion Handles Context Menu Opening
treeContextHandler = function(node, evt){
- node.select();
- var coords = evt.getXY();
- contextMenu.showAt([coords[0], coords[1]]);
+ node.select();
+ var coords = evt.getXY();
+ contextMenu.showAt([coords[0], coords[1]]);
};
//Do Nothing Function
@@ -243,120 +241,125 @@ DoNothing = function(){};
//Call New Department at Root
NewRootDepartment = function(){
- newForm.getForm().findField('parent').setValue('');
- w = new Ext.Window({
- title: _('ID_NEW_DEPARTMENT'),
- autoHeight: true,
- modal: true,
- closable: false,
- width: 420,
- items: [newForm]
- });
- w.show();
+ newForm.getForm().findField('parent').setValue('');
+ w = new Ext.Window({
+ title: _('ID_NEW_DEPARTMENT'),
+ autoHeight: true,
+ modal: true,
+ closable: false,
+ width: 420,
+ items: [newForm],
+ id: 'w'
+ });
+ w.show();
};
//Call New Sub Department at Parent
NewSubDepartment = function(){
- var dep_node = Ext.getCmp('treePanel').getSelectionModel().getSelectedNode();
- newForm.getForm().findField('parent').setValue(dep_node.attributes.DEP_UID);
- w = new Ext.Window({
- title: _('ID_NEW_SUB_DEPARTMENT'),
- autoHeight: true,
- modal: true,
- closable: false,
- width: 420,
- items: [newForm]
- });
- w.show();
+ var dep_node = Ext.getCmp('treePanel').getSelectionModel().getSelectedNode();
+ newForm.getForm().findField('parent').setValue(dep_node.attributes.DEP_UID);
+ w = new Ext.Window({
+ title: _('ID_NEW_SUB_DEPARTMENT'),
+ autoHeight: true,
+ modal: true,
+ closable: false,
+ width: 420,
+ items: [newForm],
+ id: 'w'
+ });
+ w.show();
};
//Close PopUp Window
CloseWindow = function(){
- w.hide();
+ Ext.getCmp('w').hide();
};
-SaveNewDepartment = function(){
- var dep_node = Ext.getCmp('treePanel').getSelectionModel().getSelectedNode();
- if (dep_node) dep_node.unselect();
- var dep_name = newForm.getForm().findField('dep_name').getValue();
- var dep_parent = newForm.getForm().findField('parent').getValue();
- Ext.Ajax.request({
- url: 'departments_Ajax',
- params: {action: 'checkDepartmentName', name: dep_name, parent: dep_parent},
- success: function(resp, opt){
- var res_ok = eval(resp.responseText);
- if (res_ok){
- Ext.Ajax.request({
- url: 'departments_Ajax',
- params: {action: 'saveDepartment', name: dep_name, parent: dep_parent},
- success: function(r,o){
- var xtree = Ext.getCmp('treePanel');
- treePanel.getLoader().load(rootNode);
- newSubButton.disable();
- editButton.disable();
- deleteButton.disable();
- usersButton.disable();
- newForm.getForm().findField('dep_name').reset();
- w.hide();
- PMExt.notify(_('ID_DEPARTMENTS'), _('ID_DEPARTMENT_SUCCESS_NEW'));
- },
- failure: function(r,o){
- DoNothing();
- }
- });
- }else{
- PMExt.error(_('ID_DEPARTMENTS'), _('ID_DEPARTMENT_EXISTS'));
- }
- },
- failure: function(resp, opt){
- DoNothing();
- }
- });
+SaveNewDepartment = function(){
+ var dep_node = Ext.getCmp('treePanel').getSelectionModel().getSelectedNode();
+ if (dep_node) dep_node.unselect();
+ var dep_name = newForm.getForm().findField('dep_name').getValue();
+ dep_name = dep_name.trim();
+ if (dep_name=='') return;
+ var dep_parent = newForm.getForm().findField('parent').getValue();
+ Ext.Ajax.request({
+ url: 'departments_Ajax',
+ params: {action: 'checkDepartmentName', name: dep_name, parent: dep_parent},
+ success: function(resp, opt){
+ var res_ok = eval(resp.responseText);
+ if (res_ok){
+ Ext.Ajax.request({
+ url: 'departments_Ajax',
+ params: {action: 'saveDepartment', name: dep_name, parent: dep_parent},
+ success: function(r,o){
+ var xtree = Ext.getCmp('treePanel');
+ treePanel.getLoader().load(rootNode);
+ newSubButton.disable();
+ editButton.disable();
+ deleteButton.disable();
+ usersButton.disable();
+ newForm.getForm().findField('dep_name').reset();
+ CloseWindow();
+ PMExt.notify(_('ID_DEPARTMENTS'), _('ID_DEPARTMENT_SUCCESS_NEW'));
+ },
+ failure: function(r,o){
+ DoNothing();
+ }
+ });
+ }else{
+ PMExt.error(_('ID_DEPARTMENTS'), _('ID_DEPARTMENT_EXISTS'));
+ }
+ },
+ failure: function(resp, opt){
+ DoNothing();
+ }
+ });
};
SaveEditDepartment = function(){
- var dep_name = editForm.getForm().findField('dep_name').getValue();
- var dep_parent = editForm.getForm().findField('dep_parent').getValue();
- var dep_uid = editForm.getForm().findField('dep_uid').getValue();
- var dep_status = editForm.getForm().findField('status').getValue();
- var dep_manager = editForm.getForm().findField('manager').getValue();
- var dep_node = Ext.getCmp('treePanel').getSelectionModel().getSelectedNode();
- if (dep_node) dep_node.unselect();
- Ext.Ajax.request({
- url: 'departments_Ajax',
- params: {action: 'checkEditDepartmentName', name: dep_name, parent: dep_parent, uid: dep_uid},
- success: function(resp, opt){
- var res_ok = eval(resp.responseText);
- if (res_ok){
- Ext.Ajax.request({
- url: 'departments_Ajax',
- params: {action: 'updateDepartment', uid: dep_uid, name: dep_name, status: dep_status, manager: dep_manager},
- success: function(r,o){
- var xtree = Ext.getCmp('treePanel');
- xtree.getLoader().load(xtree.root);
- newSubButton.disable();
- editButton.disable();
- deleteButton.disable();
- usersButton.disable();
- newForm.getForm().findField('dep_name').reset();
- w.hide();
- PMExt.notify(_('ID_DEPARTMENTS'), _('ID_DEPARTMENT_SUCCESS_UPDATE'));
- },
- failure: function(r,o){
- DoNothing();
- }
- });
- }else{
- PMExt.error(_('ID_DEPARTMENTS'), _('ID_DEPARTMENT_EXISTS'));
- }
- },
- failure: function(resp, opt){
- DoNothing();
- }
- });
+ var dep_name = editForm.getForm().findField('dep_name').getValue();
+ dep_name = dep_name.trim();
+ if (dep_name=='') return;
+ var dep_parent = editForm.getForm().findField('dep_parent').getValue();
+ var dep_uid = editForm.getForm().findField('dep_uid').getValue();
+ var dep_status = editForm.getForm().findField('status').getValue();
+ var dep_manager = editForm.getForm().findField('manager').getValue();
+ var dep_node = Ext.getCmp('treePanel').getSelectionModel().getSelectedNode();
+ if (dep_node) dep_node.unselect();
+ Ext.Ajax.request({
+ url: 'departments_Ajax',
+ params: {action: 'checkEditDepartmentName', name: dep_name, parent: dep_parent, uid: dep_uid},
+ success: function(resp, opt){
+ var res_ok = eval(resp.responseText);
+ if (res_ok){
+ Ext.Ajax.request({
+ url: 'departments_Ajax',
+ params: {action: 'updateDepartment', uid: dep_uid, name: dep_name, status: dep_status, manager: dep_manager},
+ success: function(r,o){
+ var xtree = Ext.getCmp('treePanel');
+ xtree.getLoader().load(xtree.root);
+ newSubButton.disable();
+ editButton.disable();
+ deleteButton.disable();
+ usersButton.disable();
+ newForm.getForm().findField('dep_name').reset();
+ CloseWindow();
+ PMExt.notify(_('ID_DEPARTMENTS'), _('ID_DEPARTMENT_SUCCESS_UPDATE'));
+ },
+ failure: function(r,o){
+ DoNothing();
+ }
+ });
+ }else{
+ PMExt.error(_('ID_DEPARTMENTS'), _('ID_DEPARTMENT_EXISTS'));
+ }
+ },
+ failure: function(resp, opt){
+ DoNothing();
+ }
+ });
};
-
//Edit Department Action
EditDepartmentAction = function(){
var dep_node = Ext.getCmp('treePanel').getSelectionModel().getSelectedNode();
@@ -365,71 +368,73 @@ EditDepartmentAction = function(){
editForm.getForm().findField('dep_name').setValue(dep_node.attributes.DEP_TITLE);
editForm.getForm().findField('status').setValue(dep_node.attributes.DEP_STATUS);
editForm.getForm().findField('manager').getStore().addListener('load',function(s,r,o){
- editForm.getForm().findField('manager').setValue(dep_node.attributes.DEP_MANAGER);
+ editForm.getForm().findField('manager').setValue(dep_node.attributes.DEP_MANAGER);
});
editForm.getForm().findField('manager').store.load({params: {DEP_UID: dep_node.attributes.DEP_UID }});
w = new Ext.Window({
- title: _('ID_EDIT_DEPARTMENT'),
- autoHeight: true,
- modal: true,
- closable: false,
- width: 420,
- items: [editForm]
+ title: _('ID_EDIT_DEPARTMENT'),
+ autoHeight: true,
+ modal: true,
+ closable: false,
+ width: 420,
+ items: [editForm],
+ id: 'w'
});
w.show();
};
//Delete Department Action
DeleteDepartmentAction = function(){
- var dep_node = Ext.getCmp('treePanel').getSelectionModel().getSelectedNode();
- var DEP_UID = dep_node.attributes.DEP_UID;
- if (dep_node) dep_node.unselect();
- viewport.getEl().mask(_('ID_PROCESSING'));
- Ext.Ajax.request({
- url: 'departments_Ajax',
- params: {action: 'canDeleteDepartment', dep_uid: DEP_UID },
- success: function(r,o){
- viewport.getEl().unmask();
- var response = Ext.util.JSON.decode(r.responseText);
- if (response.success){
-
- Ext.Msg.confirm(_('ID_DEPARTMENTS'), _('ID_CONFIRM_DELETE_DEPARTMENT'),
- function(btn, text){
- if (btn=='yes'){
- viewport.getEl().mask(_('ID_PROCESSING'));
- Ext.Ajax.request({
- url: 'departments_Ajax',
- params: {action: 'deleteDepartment', DEP_UID: DEP_UID},
- success: function(r,o){
- viewport.getEl().unmask();
- treePanel.getRootNode().reload();
- newSubButton.disable();
- editButton.disable();
- deleteButton.disable();
- usersButton.disable();
- PMExt.notify(_('ID_DEPARTMENTS'), _('ID_DEPARTMENT_SUCCESS_DELETE'));
- },
- failure: function(r,o){
- viewport.getEl().unmask();
- }
- });
- }
- });
-
- }else{
- PMExt.error(_('ID_DEPARTMENTS'),_('ID_MSG_CANNOT_DELETE_DEPARTMENT'));
- }
- },
- failure: function(r,o){
- viewport.getEl().unmask();
-
- }
- });
+ var dep_node = Ext.getCmp('treePanel').getSelectionModel().getSelectedNode();
+ if (!dep_node.attributes.leaf) return;
+ var DEP_UID = dep_node.attributes.DEP_UID;
+ if (dep_node) dep_node.unselect();
+ viewport.getEl().mask(_('ID_PROCESSING'));
+ Ext.Ajax.request({
+ url: 'departments_Ajax',
+ params: {action: 'canDeleteDepartment', dep_uid: DEP_UID },
+ success: function(r,o){
+ viewport.getEl().unmask();
+ var response = Ext.util.JSON.decode(r.responseText);
+ if (response.success){
+
+ Ext.Msg.confirm(_('ID_DEPARTMENTS'), _('ID_CONFIRM_DELETE_DEPARTMENT'),
+ function(btn, text){
+ if (btn=='yes'){
+ viewport.getEl().mask(_('ID_PROCESSING'));
+ Ext.Ajax.request({
+ url: 'departments_Ajax',
+ params: {action: 'deleteDepartment', DEP_UID: DEP_UID},
+ success: function(r,o){
+ viewport.getEl().unmask();
+ treePanel.getRootNode().reload();
+ newSubButton.disable();
+ editButton.disable();
+ deleteButton.disable();
+ usersButton.disable();
+ PMExt.notify(_('ID_DEPARTMENTS'), _('ID_DEPARTMENT_SUCCESS_DELETE'));
+ },
+ failure: function(r,o){
+ viewport.getEl().unmask();
+ }
+ });
+ }
+ });
+
+ }else{
+ PMExt.error(_('ID_DEPARTMENTS'),_('ID_MSG_CANNOT_DELETE_DEPARTMENT'));
+ }
+ },
+ failure: function(r,o){
+ viewport.getEl().unmask();
+
+ }
+ });
};
//User Assined Action
UsersButtonAction = function(){
- var dep_node = Ext.getCmp('treePanel').getSelectionModel().getSelectedNode();
- var DEP_UID = dep_node.attributes.DEP_UID;
- location.href= 'departmentUsers?dUID=' + DEP_UID;
+ var dep_node = Ext.getCmp('treePanel').getSelectionModel().getSelectedNode();
+ var DEP_UID = dep_node.attributes.DEP_UID;
+ location.href= 'departmentUsers?dUID=' + DEP_UID;
};
\ No newline at end of file
diff --git a/workflow/engine/templates/groups/groupsList.js b/workflow/engine/templates/groups/groupsList.js
index fb578d200..a6b89def4 100755
--- a/workflow/engine/templates/groups/groupsList.js
+++ b/workflow/engine/templates/groups/groupsList.js
@@ -59,6 +59,7 @@ var searchButton;
var searchText;
var contextMenu;
var pageSize;
+var w;
Ext.onReady(function(){
Ext.QuickTips.init();
@@ -200,7 +201,7 @@ Ext.onReady(function(){
{text: _('ID_CANCEL'), handler: CloseWindow}
]
});
-
+
store = new Ext.data.GroupingStore( {
proxy : new Ext.data.HttpProxy({
url: 'groups_Ajax?action=groupsList'
@@ -337,6 +338,7 @@ NewGroupWindow = function(){
title: _('ID_CREATE_GROUP_TITLE'),
closable: false,
modal: true,
+ id: 'w',
items: [newForm]
});
w.show();
@@ -355,7 +357,7 @@ DoSearch = function(){
//Close Popup Window
CloseWindow = function(){
- w.hide();
+ Ext.getCmp('w').hide();
};
//Check Group Name Availability
@@ -379,6 +381,7 @@ CheckGroupName = function(grp_name, function_success, function_failure){
//Save Group Button
SaveNewGroupAction = function(){
var group = newForm.getForm().findField('name').getValue();
+ group = group.trim();
if (group != '') CheckGroupName(group, SaveNewGroup, DuplicateGroupName);
};
@@ -391,7 +394,7 @@ DuplicateGroupName = function(){
SaveNewGroup = function(){
newForm.getForm().submit({
success: function(f,a){
- w.hide(); //Hide popup widow
+ CloseWindow(); //Hide popup widow
newForm.getForm().reset(); //Set empty form to next use
searchText.reset();
infoGrid.store.load(); //Reload store grid
@@ -421,6 +424,7 @@ EditGroupWindow = function(){
title: _('ID_EDIT_GROUP_TITLE'),
closable: false,
modal: true,
+ id: 'w',
items: [editForm]
});
w.show();
@@ -429,6 +433,7 @@ EditGroupWindow = function(){
//Save Edit Group Button
SaveEditGroupAction = function(){
var group = editForm.getForm().findField('name').getValue();
+ group = group.trim();
rowSelected = infoGrid.getSelectionModel().getSelected();
if (group != ''){
if (rowSelected.data.CON_VALUE.toUpperCase() == group.toUpperCase()){
@@ -443,7 +448,7 @@ SaveEditGroupAction = function(){
SaveEditGroup = function(){
editForm.getForm().submit({
success: function(f,a){
- w.hide(); //Hide popup widow
+ CloseWindow(); //Hide popup widow
DoSearch(); //Reload store grid
editButton.disable(); //Disable Edit Button
deleteButton.disable(); //Disable Delete Button
diff --git a/workflow/engine/templates/processCategory/processCategoryList.js b/workflow/engine/templates/processCategory/processCategoryList.js
index 3339ec882..c38c6a5c5 100755
--- a/workflow/engine/templates/processCategory/processCategoryList.js
+++ b/workflow/engine/templates/processCategory/processCategoryList.js
@@ -5,43 +5,43 @@
//Keyboard Events
new Ext.KeyMap(document, [
- {
- key: Ext.EventObject.F5,
- fn: function(keycode, e) {
- if (! e.ctrlKey) {
- if (Ext.isIE) {
- // IE6 doesn't allow cancellation of the F5 key, so trick it into
- // thinking some other key was pressed (backspace in this case)
- e.browserEvent.keyCode = 8;
- }
- e.stopEvent();
- document.location = document.location;
- }else{
- Ext.Msg.alert('Refresh', 'You clicked: CTRL-F5');
- }
- }
-},
-{
- key: Ext.EventObject.DELETE,
- fn: function(k,e){
- iGrid = Ext.getCmp('infoGrid');
- rowSelected = iGrid.getSelectionModel().getSelected();
- if (rowSelected){
- DeleteCategory();
- }
- }
-},
-{
- key: Ext.EventObject.F2,
- fn: function(k,e){
- iGrid = Ext.getCmp('infoGrid');
- rowSelected = iGrid.getSelectionModel().getSelected();
- if (rowSelected){
- EditCategory();
- }
- }
-}
-]);
+ {
+ key: Ext.EventObject.F5,
+ fn: function(keycode, e) {
+ if (! e.ctrlKey) {
+ if (Ext.isIE) {
+ // IE6 doesn't allow cancellation of the F5 key, so trick it into
+ // thinking some other key was pressed (backspace in this case)
+ e.browserEvent.keyCode = 8;
+ }
+ e.stopEvent();
+ document.location = document.location;
+ }else{
+ Ext.Msg.alert('Refresh', 'You clicked: CTRL-F5');
+ }
+ }
+ },
+ {
+ key: Ext.EventObject.DELETE,
+ fn: function(k,e){
+ iGrid = Ext.getCmp('infoGrid');
+ rowSelected = iGrid.getSelectionModel().getSelected();
+ if (rowSelected){
+ DeleteCategory();
+ }
+ }
+ },
+ {
+ key: Ext.EventObject.F2,
+ fn: function(k,e){
+ iGrid = Ext.getCmp('infoGrid');
+ rowSelected = iGrid.getSelectionModel().getSelected();
+ if (rowSelected){
+ EditCategory();
+ }
+ }
+ }
+ ]);
var store;
var cmodel;
@@ -60,237 +60,237 @@ var comboStatusStore;
var editForm;
var contextMenu;
var w;
-
+
Ext.onReady(function(){
- Ext.QuickTips.init();
-
- pageSize = parseInt(CONFIG.pageSize);
-
- newButton = new Ext.Action({
- text: _('ID_NEW'),
- iconCls: 'button_menu_ext ss_sprite ss_add',
- handler: NewCategoryWindow
- });
-
- editButton = new Ext.Action({
- text: _('ID_EDIT'),
- iconCls: 'button_menu_ext ss_sprite ss_pencil',
- handler: EditCategory,
- disabled: true
- });
-
- deleteButton = new Ext.Action({
- text: _('ID_DELETE'),
- iconCls: 'button_menu_ext ss_sprite ss_delete',
- handler: DeleteCategory,
- disabled: true
- });
-
- searchButton = new Ext.Action({
- text: _('ID_SEARCH'),
- handler: DoSearch
- });
-
- contextMenu = new Ext.menu.Menu({
- items: [editButton, deleteButton]
- });
-
- searchText = new Ext.form.TextField ({
- id: 'searchText',
- ctCls:'pm_search_text_field',
- allowBlank: true,
- width: 150,
- emptyText: _('ID_ENTER_SEARCH_TERM'),//'enter search term',
- listeners: {
- specialkey: function(f,e){
- if (e.getKey() == e.ENTER) {
- DoSearch();
- }
- },
- focus: function(f,e) {
- var row = infoGrid.getSelectionModel().getSelected();
- infoGrid.getSelectionModel().deselectRow(infoGrid.getStore().indexOf(row));
- }
- }
- });
-
- clearTextButton = new Ext.Action({
- text: 'X',
- ctCls:'pm_search_x_button',
- handler: GridByDefault
- });
-
- newForm = new Ext.FormPanel({
- url: 'processCategory_Ajax?action=saveNewCategory',
- frame: true,
- items:[
- {xtype: 'textfield', fieldLabel: _('ID_CATEGORY_NAME'), name: 'category', width: 250, allowBlank: false}
- ],
- buttons: [
- {text: _('ID_SAVE'), handler: SaveNewCategory},
- {text: _('ID_CANCEL'), handler: CloseWindow}
-
- ]
- });
-
- editForm = new Ext.FormPanel({
- url: 'processCategory_Ajax?action=updateCategory',
- frame: true,
- items:[
- {xtype: 'textfield', name: 'cat_uid', hidden: true },
- {xtype: 'textfield', fieldLabel: _('ID_CATEGORY_NAME'), name: 'category', width: 250, allowBlank: false}
- ],
- buttons: [
- {text: _('ID_SAVE'), handler: UpdateCategory},
- {text: _('ID_CANCEL'), handler: CloseWindow}
- ]
- });
-
- smodel = new Ext.grid.RowSelectionModel({
- singleSelect: true,
- listeners:{
- rowselect: function(sm){
- editButton.enable();
- deleteButton.enable();
- },
- rowdeselect: function(sm){
- editButton.disable();
- deleteButton.disable();
- }
- }
- });
+ Ext.QuickTips.init();
- store = new Ext.data.GroupingStore( {
- proxy : new Ext.data.HttpProxy({
- url: 'processCategory_Ajax?action=processCategoryList'
- }),
- reader : new Ext.data.JsonReader( {
- root: 'categories',
- totalProperty: 'total_categories',
- fields : [
- {name : 'CATEGORY_UID'},
- {name : 'CATEGORY_PARENT'},
- {name : 'CATEGORY_NAME'},
- {name : 'CATEGORY_ICON'},
- {name : 'TOTAL_PROCESSES', type:'int'}
- ]
- })
- });
-
- cmodel = new Ext.grid.ColumnModel({
- defaults: {
- width: 50,
- sortable: true
- },
- columns: [
- {id:'CATEGORY_UID', dataIndex: 'CATEGORY_UID', hidden:true, hideable:false},
- {header: _('ID_CATEGORY_NAME'), dataIndex: 'CATEGORY_NAME', width: 500, hidden:false, align:'left'},
- {header: _('ID_PROCESSES'), dataIndex: 'TOTAL_PROCESSES', width: 100, hidden: false, align: 'center'}
- ]
- });
-
- storePageSize = new Ext.data.SimpleStore({
- fields: ['size'],
- data: [['20'],['30'],['40'],['50'],['100']],
- autoLoad: true
- });
-
- comboPageSize = new Ext.form.ComboBox({
- typeAhead : false,
- mode : 'local',
- triggerAction : 'all',
- store: storePageSize,
- valueField: 'size',
- displayField: 'size',
- width: 50,
- editable: false,
- listeners:{
- select: function(c,d,i){
- UpdatePageConfig(d.data['size']);
- bbarpaging.pageSize = parseInt(d.data['size']);
- bbarpaging.moveFirst();
+ pageSize = parseInt(CONFIG.pageSize);
+
+ newButton = new Ext.Action({
+ text: _('ID_NEW'),
+ iconCls: 'button_menu_ext ss_sprite ss_add',
+ handler: NewCategoryWindow
+ });
+
+ editButton = new Ext.Action({
+ text: _('ID_EDIT'),
+ iconCls: 'button_menu_ext ss_sprite ss_pencil',
+ handler: EditCategory,
+ disabled: true
+ });
+
+ deleteButton = new Ext.Action({
+ text: _('ID_DELETE'),
+ iconCls: 'button_menu_ext ss_sprite ss_delete',
+ handler: DeleteCategory,
+ disabled: true
+ });
+
+ searchButton = new Ext.Action({
+ text: _('ID_SEARCH'),
+ handler: DoSearch
+ });
+
+ contextMenu = new Ext.menu.Menu({
+ items: [editButton, deleteButton]
+ });
+
+ searchText = new Ext.form.TextField ({
+ id: 'searchText',
+ ctCls:'pm_search_text_field',
+ allowBlank: true,
+ width: 150,
+ emptyText: _('ID_ENTER_SEARCH_TERM'),//'enter search term',
+ listeners: {
+ specialkey: function(f,e){
+ if (e.getKey() == e.ENTER) {
+ DoSearch();
}
+ },
+ focus: function(f,e) {
+ var row = infoGrid.getSelectionModel().getSelected();
+ infoGrid.getSelectionModel().deselectRow(infoGrid.getStore().indexOf(row));
}
- });
-
- comboPageSize.setValue(pageSize);
-
- bbarpaging = new Ext.PagingToolbar({
- pageSize: pageSize,
- store: store,
- displayInfo: true,
- displayMsg: _('ID_GRID_PAGE_DISPLAYING_CATEGORY_MESSAGE') + ' ',
- emptyMsg: _('ID_GRID_PAGE_NO_CATEGORY_MESSAGE'),
- items: ['-',_('ID_PAGE_SIZE')+':',comboPageSize]
- });
-
- infoGrid = new Ext.grid.GridPanel({
- region: 'center',
- layout: 'fit',
- id: 'infoGrid',
- height:100,
- autoWidth : true,
- stateful : true,
- stateId : 'grid',
- enableColumnResize: true,
- enableHdMenu: true,
- frame:false,
- //iconCls:'icon-grid',
- columnLines: false,
- viewConfig: {
- forceFit:true
- },
- title : _('ID_PROCESS_CATEGORY'),
- store: store,
- cm: cmodel,
- sm: smodel,
- tbar: [newButton, '-', editButton, deleteButton, {xtype: 'tbfill'}, searchText,clearTextButton,searchButton],
- bbar: bbarpaging,
- listeners: {
- rowdblclick: EditCategory,
- render: function(){
- this.loadMask = new Ext.LoadMask(this.body, {msg:_('ID_LOADING_GRID')});
- }
- },
- view: new Ext.grid.GroupingView({
- forceFit:true,
- groupTextTpl: '{text}'
- })
- });
-
- infoGrid.on('rowcontextmenu',
- function (grid, rowIndex, evt) {
- var sm = grid.getSelectionModel();
- sm.selectRow(rowIndex, sm.isSelected(rowIndex));
- },
- this
- );
-
- infoGrid.on('contextmenu',
- function (evt) {
- evt.preventDefault();
- },
- this
- );
-
- infoGrid.addListener('rowcontextmenu',onMessageContextMenu,this);
+ }
+ });
- infoGrid.store.load();
+ clearTextButton = new Ext.Action({
+ text: 'X',
+ ctCls:'pm_search_x_button',
+ handler: GridByDefault
+ });
- viewport = new Ext.Viewport({
- layout: 'fit',
- autoScroll: false,
- items: [
- infoGrid
- ]
- });
+ newForm = new Ext.FormPanel({
+ url: 'processCategory_Ajax?action=saveNewCategory',
+ frame: true,
+ items:[
+ {xtype: 'textfield', fieldLabel: _('ID_CATEGORY_NAME'), name: 'category', width: 250, allowBlank: false}
+ ],
+ buttons: [
+ {text: _('ID_SAVE'), handler: SaveNewCategory},
+ {text: _('ID_CANCEL'), handler: CloseWindow}
+
+ ]
+ });
+
+ editForm = new Ext.FormPanel({
+ url: 'processCategory_Ajax?action=updateCategory',
+ frame: true,
+ items:[
+ {xtype: 'textfield', name: 'cat_uid', hidden: true },
+ {xtype: 'textfield', fieldLabel: _('ID_CATEGORY_NAME'), name: 'category', width: 250, allowBlank: false}
+ ],
+ buttons: [
+ {text: _('ID_SAVE'), handler: UpdateCategory},
+ {text: _('ID_CANCEL'), handler: CloseWindow}
+ ]
+ });
+
+ smodel = new Ext.grid.RowSelectionModel({
+ singleSelect: true,
+ listeners:{
+ rowselect: function(sm){
+ editButton.enable();
+ deleteButton.enable();
+ },
+ rowdeselect: function(sm){
+ editButton.disable();
+ deleteButton.disable();
+ }
+ }
+ });
+
+ store = new Ext.data.GroupingStore( {
+ proxy : new Ext.data.HttpProxy({
+ url: 'processCategory_Ajax?action=processCategoryList'
+ }),
+ reader : new Ext.data.JsonReader( {
+ root: 'categories',
+ totalProperty: 'total_categories',
+ fields : [
+ {name : 'CATEGORY_UID'},
+ {name : 'CATEGORY_PARENT'},
+ {name : 'CATEGORY_NAME'},
+ {name : 'CATEGORY_ICON'},
+ {name : 'TOTAL_PROCESSES', type:'int'}
+ ]
+ })
+ });
+
+ cmodel = new Ext.grid.ColumnModel({
+ defaults: {
+ width: 50,
+ sortable: true
+ },
+ columns: [
+ {id:'CATEGORY_UID', dataIndex: 'CATEGORY_UID', hidden:true, hideable:false},
+ {header: _('ID_CATEGORY_NAME'), dataIndex: 'CATEGORY_NAME', width: 500, hidden:false, align:'left'},
+ {header: _('ID_PROCESSES'), dataIndex: 'TOTAL_PROCESSES', width: 100, hidden: false, align: 'center'}
+ ]
+ });
+
+ storePageSize = new Ext.data.SimpleStore({
+ fields: ['size'],
+ data: [['20'],['30'],['40'],['50'],['100']],
+ autoLoad: true
+ });
+
+ comboPageSize = new Ext.form.ComboBox({
+ typeAhead : false,
+ mode : 'local',
+ triggerAction : 'all',
+ store: storePageSize,
+ valueField: 'size',
+ displayField: 'size',
+ width: 50,
+ editable: false,
+ listeners:{
+ select: function(c,d,i){
+ UpdatePageConfig(d.data['size']);
+ bbarpaging.pageSize = parseInt(d.data['size']);
+ bbarpaging.moveFirst();
+ }
+ }
+ });
+
+ comboPageSize.setValue(pageSize);
+
+ bbarpaging = new Ext.PagingToolbar({
+ pageSize: pageSize,
+ store: store,
+ displayInfo: true,
+ displayMsg: _('ID_GRID_PAGE_DISPLAYING_CATEGORY_MESSAGE') + ' ',
+ emptyMsg: _('ID_GRID_PAGE_NO_CATEGORY_MESSAGE'),
+ items: ['-',_('ID_PAGE_SIZE')+':',comboPageSize]
+ });
+
+ infoGrid = new Ext.grid.GridPanel({
+ region: 'center',
+ layout: 'fit',
+ id: 'infoGrid',
+ height:100,
+ autoWidth : true,
+ stateful : true,
+ stateId : 'grid',
+ enableColumnResize: true,
+ enableHdMenu: true,
+ frame:false,
+ //iconCls:'icon-grid',
+ columnLines: false,
+ viewConfig: {
+ forceFit:true
+ },
+ title : _('ID_PROCESS_CATEGORY'),
+ store: store,
+ cm: cmodel,
+ sm: smodel,
+ tbar: [newButton, '-', editButton, deleteButton, {xtype: 'tbfill'}, searchText,clearTextButton,searchButton],
+ bbar: bbarpaging,
+ listeners: {
+ rowdblclick: EditCategory,
+ render: function(){
+ this.loadMask = new Ext.LoadMask(this.body, {msg:_('ID_LOADING_GRID')});
+ }
+ },
+ view: new Ext.grid.GroupingView({
+ forceFit:true,
+ groupTextTpl: '{text}'
+ })
+ });
+
+ infoGrid.on('rowcontextmenu',
+ function (grid, rowIndex, evt) {
+ var sm = grid.getSelectionModel();
+ sm.selectRow(rowIndex, sm.isSelected(rowIndex));
+ },
+ this
+ );
+
+ infoGrid.on('contextmenu',
+ function (evt) {
+ evt.preventDefault();
+ },
+ this
+ );
+
+ infoGrid.addListener('rowcontextmenu',onMessageContextMenu,this);
+
+ infoGrid.store.load();
+
+ viewport = new Ext.Viewport({
+ layout: 'fit',
+ autoScroll: false,
+ items: [
+ infoGrid
+ ]
+ });
});
//Funtion Handles Context Menu Opening
onMessageContextMenu = function (grid, rowIndex, e) {
- e.stopEvent();
- var coords = e.getXY();
- contextMenu.showAt([coords[0], coords[1]]);
+ e.stopEvent();
+ var coords = e.getXY();
+ contextMenu.showAt([coords[0], coords[1]]);
};
//Do Nothing Function
@@ -298,184 +298,192 @@ DoNothing = function(){};
//Open New Category Form
NewCategoryWindow = function(){
- w = new Ext.Window({
- title: _('ID_NEW_CATEGORY'),
- autoHeight: true,
- width: 420,
- items: [newForm]
- });
- w.show();
+ w = new Ext.Window({
+ title: _('ID_NEW_CATEGORY'),
+ autoHeight: true,
+ width: 420,
+ items: [newForm],
+ id: 'w',
+ model: true
+ });
+ w.show();
};
//Close Popup Window
CloseWindow = function(){
- w.hide();
+ Ext.getCmp('w').hide();
};
//Save New Category
SaveNewCategory = function(){
- catName = newForm.getForm().findField('category').getValue();
- viewport.getEl().mask(_('ID_PROCESSING'));
- Ext.Ajax.request({
- url: 'processCategory_Ajax',
- params : {action: 'checkCategoryName', cat_name: catName},
- success: function(r,o){
- viewport.getEl().unmask();
- resp = eval(r.responseText);
- if (resp){
- viewport.getEl().mask(_('ID_PROCESSING'));
- newForm.getForm().submit({
- success: function(f,a){
- viewport.getEl().unmask();
- w.hide(); //Hide popup widow
- newForm.getForm().reset(); //Set empty form to next use
- searchText.reset();
- infoGrid.store.load();
- response = Ext.decode(a.response.responseText);
- if (response.success){
- PMExt.notify(_('ID_PROCESS_CATEGORY'),_('ID_CATEGORY_SUCCESS_NEW'));
- }else{
- PMExt.error(_('ID_ERROR'),_('ID_MSG_AJAX_FAILURE'));
- }
- },
- failure: function(f,a){
- viewport.getEl().unmask();
- switch(a.failureType){
- case Ext.form.Action.CLIENT_INVALID:
- //Ext.Msg.alert('New Role Form','Invalid Data');
- break;
- }
- }
- });
- }else{
- PMExt.error(_('ID_PROCESS_CATEGORY'),_('ID_CATEGORY_EXISTS'));
- }
- },
- failure: function(r,o){
- viewport.getEl().unmask();
- }
- });
-
+ catName = newForm.getForm().findField('category').getValue();
+ catName = catName.trim();
+ if (catName == '') return;
+ viewport.getEl().mask(_('ID_PROCESSING'));
+ Ext.Ajax.request({
+ url: 'processCategory_Ajax',
+ params : {action: 'checkCategoryName', cat_name: catName},
+ success: function(r,o){
+ viewport.getEl().unmask();
+ resp = eval(r.responseText);
+ if (resp){
+ viewport.getEl().mask(_('ID_PROCESSING'));
+ newForm.getForm().submit({
+ success: function(f,a){
+ viewport.getEl().unmask();
+ CloseWindow(); //Hide popup widow
+ newForm.getForm().reset(); //Set empty form to next use
+ searchText.reset();
+ infoGrid.store.load();
+ response = Ext.decode(a.response.responseText);
+ if (response.success){
+ PMExt.notify(_('ID_PROCESS_CATEGORY'),_('ID_CATEGORY_SUCCESS_NEW'));
+ }else{
+ PMExt.error(_('ID_ERROR'),_('ID_MSG_AJAX_FAILURE'));
+ }
+ },
+ failure: function(f,a){
+ viewport.getEl().unmask();
+ switch(a.failureType){
+ case Ext.form.Action.CLIENT_INVALID:
+ //Ext.Msg.alert('New Role Form','Invalid Data');
+ break;
+ }
+ }
+ });
+ }else{
+ PMExt.error(_('ID_PROCESS_CATEGORY'),_('ID_CATEGORY_EXISTS'));
+ }
+ },
+ failure: function(r,o){
+ viewport.getEl().unmask();
+ }
+ });
+
};
//Update Selected Role
UpdateCategory = function(){
- catUID = editForm.getForm().findField('cat_uid').getValue();
- catName = editForm.getForm().findField('category').getValue();
- viewport.getEl().mask(_('ID_PROCESSING'));
- Ext.Ajax.request({
- url: 'processCategory_Ajax',
- params : {action: 'checkEditCategoryName', cat_name: catName, cat_uid: catUID},
- success: function(r,o){
- viewport.getEl().unmask();
- resp = eval(r.responseText);
- if (resp){
- viewport.getEl().mask(_('ID_PROCESSING'));
- editForm.getForm().submit({
- success: function(f,a){
- viewport.getEl().unmask();
- w.hide(); //Hide popup widow
- newForm.getForm().reset(); //Set empty form to next use
- searchText.reset();
- infoGrid.store.load();
- response = Ext.decode(a.response.responseText);
- if (response.success){
- PMExt.notify(_('ID_PROCESS_CATEGORY'),_('ID_CATEGORY_SUCCESS_UPDATE'));
- }else{
- PMExt.error(_('ID_ERROR'),_('ID_MSG_AJAX_FAILURE'));
- }
- },
- failure: function(f,a){
- viewport.getEl().unmask();
- switch(a.failureType){
- case Ext.form.Action.CLIENT_INVALID:
- //Ext.Msg.alert('New Role Form','Invalid Data');
- break;
- }
- }
- });
- }else{
- PMExt.error(_('ID_PROCESS_CATEGORY'),_('ID_CATEGORY_EXISTS'));
- }
- },
- failure: function(r,o){
- viewport.getEl().unmask();
- }
- });
+ catUID = editForm.getForm().findField('cat_uid').getValue();
+ catName = editForm.getForm().findField('category').getValue();
+ catName = catName.trim();
+ if (catName == '') return;
+ viewport.getEl().mask(_('ID_PROCESSING'));
+ Ext.Ajax.request({
+ url: 'processCategory_Ajax',
+ params : {action: 'checkEditCategoryName', cat_name: catName, cat_uid: catUID},
+ success: function(r,o){
+ viewport.getEl().unmask();
+ resp = eval(r.responseText);
+ if (resp){
+ viewport.getEl().mask(_('ID_PROCESSING'));
+ editForm.getForm().submit({
+ success: function(f,a){
+ viewport.getEl().unmask();
+ CloseWindow(); //Hide popup widow
+ newForm.getForm().reset(); //Set empty form to next use
+ searchText.reset();
+ infoGrid.store.load();
+ response = Ext.decode(a.response.responseText);
+ if (response.success){
+ PMExt.notify(_('ID_PROCESS_CATEGORY'),_('ID_CATEGORY_SUCCESS_UPDATE'));
+ }else{
+ PMExt.error(_('ID_ERROR'),_('ID_MSG_AJAX_FAILURE'));
+ }
+ },
+ failure: function(f,a){
+ viewport.getEl().unmask();
+ switch(a.failureType){
+ case Ext.form.Action.CLIENT_INVALID:
+ //Ext.Msg.alert('New Role Form','Invalid Data');
+ break;
+ }
+ }
+ });
+ }else{
+ PMExt.error(_('ID_PROCESS_CATEGORY'),_('ID_CATEGORY_EXISTS'));
+ }
+ },
+ failure: function(r,o){
+ viewport.getEl().unmask();
+ }
+ });
};
//Edit Selected Role
EditCategory = function(){
- rowSelected = infoGrid.getSelectionModel().getSelected();
- if (rowSelected){
- editForm.getForm().findField('cat_uid').setValue(rowSelected.data.CATEGORY_UID);
- editForm.getForm().findField('category').setValue(rowSelected.data.CATEGORY_NAME);
- w = new Ext.Window({
- autoHeight: true,
- width: 420,
- title: _('ID_EDIT_CATEGORY'),
- items: [editForm]
- });
- w.show();
- }
+ rowSelected = infoGrid.getSelectionModel().getSelected();
+ if (rowSelected){
+ editForm.getForm().findField('cat_uid').setValue(rowSelected.data.CATEGORY_UID);
+ editForm.getForm().findField('category').setValue(rowSelected.data.CATEGORY_NAME);
+ w = new Ext.Window({
+ autoHeight: true,
+ width: 420,
+ title: _('ID_EDIT_CATEGORY'),
+ items: [editForm],
+ id: 'w',
+ modal: true
+ });
+ w.show();
+ }
};
//Check Can Delete Category
DeleteCategory = function(){
- rowSelected = infoGrid.getSelectionModel().getSelected();
- if (rowSelected){
- var swDelete = false;
- viewport.getEl().mask(_('ID_PROCESSING'));
- Ext.Ajax.request({
- url: 'processCategory_Ajax',
- params: {action: 'canDeleteCategory', CAT_UID: rowSelected.data.CATEGORY_UID},
- success: function(response, opts){
- viewport.getEl().unmask();
- swDelete = eval(response.responseText);
- if (swDelete){
- Ext.Msg.confirm(_('ID_CONFIRM'), _('ID_CONFIRM_DELETE_CATEGORY'),
- function(btn, text){
- if (btn=="yes"){
- viewport.getEl().mask(_('ID_PROCESSING'));
- Ext.Ajax.request({
- url: 'processCategory_Ajax',
- params: {action: 'deleteCategory', cat_uid: rowSelected.data.CATEGORY_UID},
- success: function(r,o){
- viewport.getEl().unmask();
- infoGrid.store.load(); //Reload store grid
- editButton.disable(); //Disable Edit Button
- deleteButton.disable(); //Disable Delete Button
- resp = Ext.decode(r.responseText);
- if (resp.success){
- PMExt.notify(_('ID_PROCESS_CATEGORY'),_('ID_CATEGORY_SUCCESS_DELETE'));
- }else{
- PMExt.error(_('ID_ERROR'),_('ID_MSG_AJAX_FAILURE'));
- }
-
- },
- failure: function(){viewport.getEl().unmask();}
- });
- }
- });
- }else{
- PMExt.error(_('ID_PROCESS_CATEGORY'),_('ID_MSG_CANNOT_DELETE_CATEGORY'));
- }
- },
- failure: function(){viewport.getEl().unmask(); DoNothing();}
-
- });
- }
+ rowSelected = infoGrid.getSelectionModel().getSelected();
+ if (rowSelected){
+ var swDelete = false;
+ viewport.getEl().mask(_('ID_PROCESSING'));
+ Ext.Ajax.request({
+ url: 'processCategory_Ajax',
+ params: {action: 'canDeleteCategory', CAT_UID: rowSelected.data.CATEGORY_UID},
+ success: function(response, opts){
+ viewport.getEl().unmask();
+ swDelete = eval(response.responseText);
+ if (swDelete){
+ Ext.Msg.confirm(_('ID_CONFIRM'), _('ID_CONFIRM_DELETE_CATEGORY'),
+ function(btn, text){
+ if (btn=="yes"){
+ viewport.getEl().mask(_('ID_PROCESSING'));
+ Ext.Ajax.request({
+ url: 'processCategory_Ajax',
+ params: {action: 'deleteCategory', cat_uid: rowSelected.data.CATEGORY_UID},
+ success: function(r,o){
+ viewport.getEl().unmask();
+ infoGrid.store.load(); //Reload store grid
+ editButton.disable(); //Disable Edit Button
+ deleteButton.disable(); //Disable Delete Button
+ resp = Ext.decode(r.responseText);
+ if (resp.success){
+ PMExt.notify(_('ID_PROCESS_CATEGORY'),_('ID_CATEGORY_SUCCESS_DELETE'));
+ }else{
+ PMExt.error(_('ID_ERROR'),_('ID_MSG_AJAX_FAILURE'));
+ }
+
+ },
+ failure: function(){viewport.getEl().unmask();}
+ });
+ }
+ });
+ }else{
+ PMExt.error(_('ID_PROCESS_CATEGORY'),_('ID_MSG_CANNOT_DELETE_CATEGORY'));
+ }
+ },
+ failure: function(){viewport.getEl().unmask(); DoNothing();}
+
+ });
+ }
};
//Load Grid By Default
GridByDefault = function(){
- searchText.reset();
- infoGrid.store.load();
+ searchText.reset();
+ infoGrid.store.load();
};
//Do Search Function
DoSearch = function(){
- infoGrid.store.load({params: {textFilter: searchText.getValue()}});
+ infoGrid.store.load({params: {textFilter: searchText.getValue()}});
};
//Update Page Size Configuration
diff --git a/workflow/engine/templates/roles/rolesList.js b/workflow/engine/templates/roles/rolesList.js
index 4a0f7efa6..b2e120a53 100755
--- a/workflow/engine/templates/roles/rolesList.js
+++ b/workflow/engine/templates/roles/rolesList.js
@@ -356,6 +356,8 @@ NewRoleWindow = function(){
w = new Ext.Window({
title: _('ID_CREATE_ROLE_TITLE'),
autoHeight: true,
+ id: 'w',
+ modal: true,
width: 420,
items: [newForm]
});
@@ -364,48 +366,93 @@ NewRoleWindow = function(){
//Close Popup Window
CloseWindow = function(){
- w.hide();
+ Ext.getCmp('w').hide();
};
//Save New Role
SaveNewRole = function(){
- newForm.getForm().submit({
- success: function(f,a){
- w.hide(); //Hide popup widow
- newForm.getForm().reset(); //Set empty form to next use
- searchText.reset();
- infoGrid.store.load(); //Reload store grid
- PMExt.notify(_('ID_ROLES'),_('ID_ROLES_SUCCESS_NEW'));
- },
- failure: function(f,a){
- switch(a.failureType){
- case Ext.form.Action.CLIENT_INVALID:
- //Ext.Msg.alert('New Role Form','Invalid Data');
- break;
- }
- }
- });
+ rol_code = newForm.getForm().findField('code').getValue();
+ rol_code.trim();
+ if (rol_code == '') return;
+ viewport.getEl().mask(_('ID_PROCESSING'));
+ Ext.Ajax.request({
+ url: 'roles_Ajax',
+ params: {request: 'checkRoleCode', ROL_CODE: rol_code},
+ success: function(r,o){
+ viewport.getEl().unmask();
+ resp = Ext.util.JSON.decode(r.responseText);
+ if (resp.success){
+ viewport.getEl().mask(_('ID_PROCESSING'));
+ newForm.getForm().submit({
+ success: function(f,a){
+ viewport.getEl().unmask();
+ CloseWindow(); //Hide popup widow
+ newForm.getForm().reset(); //Set empty form to next use
+ searchText.reset();
+ infoGrid.store.load(); //Reload store grid
+ PMExt.notify(_('ID_ROLES'),_('ID_ROLES_SUCCESS_NEW'));
+ },
+ failure: function(f,a){
+ viewport.getEl().unmask();
+ switch(a.failureType){
+ case Ext.form.Action.CLIENT_INVALID:
+ //Ext.Msg.alert('New Role Form','Invalid Data');
+ break;
+ }
+ }
+ });
+ }else{
+ PMExt.error(_('ID_ROLES'),_('ID_ROLE_EXISTS'));
+ }
+ },
+ failure: function(r,o){
+ viewport.getEl().unmask();
+ }
+ });
+
};
//Update Selected Role
UpdateRole = function(){
- editForm.getForm().submit({
- success: function(f,a){
- w.hide(); //Hide popup widow
- DoSearch(); //Reload store grid
- editButton.disable(); //Disable Edit Button
- deleteButton.disable(); //Disable Delete Button
- PMExt.notify(_('ID_ROLES'),_('ID_ROLES_SUCCESS_UPDATE'));
- },
- failure: function(f,a){
- switch(a.failureType){
- case Ext.form.Action.CLIENT_INVALID:
- //Ext.Msg.alert('New Role Form','Invalid Data');
- break;
- }
-
- }
- });
+ rol_code = editForm.getForm().findField('code').getValue();
+ rol_code.trim();
+ if (rol_code == '') return;
+ viewport.getEl().mask(_('ID_PROCESSING'));
+ Ext.Ajax.request({
+ url: 'roles_Ajax',
+ params: {request: 'checkRoleCode', ROL_CODE: rol_code},
+ success: function(r,o){
+ viewport.getEl().unmask();
+ resp = Ext.util.JSON.decode(r.responseText);
+ if (resp.success){
+ viewport.getEl().mask(_('ID_PROCESSING'));
+ editForm.getForm().submit({
+ success: function(f,a){
+ viewport.getEl().unmask();
+ CloseWindow(); //Hide popup widow
+ DoSearch(); //Reload store grid
+ editButton.disable(); //Disable Edit Button
+ deleteButton.disable(); //Disable Delete Button
+ PMExt.notify(_('ID_ROLES'),_('ID_ROLES_SUCCESS_UPDATE'));
+ },
+ failure: function(f,a){
+ viewport.getEl().unmask();
+ switch(a.failureType){
+ case Ext.form.Action.CLIENT_INVALID:
+ //Ext.Msg.alert('New Role Form','Invalid Data');
+ break;
+ }
+
+ }
+ });
+ }else{
+ PMExt.error(_('ID_ROLES'),_('ID_ROLE_EXISTS'));
+ }
+ },
+ failure: function(r,o) {
+ viewport.getEl().unmask();
+ }
+ });
};
//Edit Selected Role
@@ -421,6 +468,8 @@ EditRole = function(){
editForm.getForm().findField('status').setValue(rowSelected.data.ROL_STATUS);
w = new Ext.Window({
autoHeight: true,
+ id: 'w',
+ modal: true,
width: 420,
title: _('ID_EDIT_ROLE_TITLE'),
items: [editForm]