diff --git a/gulliver/methods/genericAjax.php b/gulliver/methods/genericAjax.php index 4fef38877..af051ac58 100755 --- a/gulliver/methods/genericAjax.php +++ b/gulliver/methods/genericAjax.php @@ -171,10 +171,17 @@ if( isset($request) ){ case 'storeInTmp': + if(!isset($_SESSION['USER_LOGGED'])) { + echo "{status: 1, message: \"success\"}"; + break; + } try { $con = Propel::getConnection($_GET['cnn']); if($_GET['pkt'] == 'int'){ - $rs = $con->executeQuery("SELECT MAX({$_GET['pk']}) as lastId FROM {$_GET['table']};"); + + $primaryKeyField = Propel::getDB($_GET['cnn'])->quoteIdentifier($_GET['pk']); + $tableName = Propel::getDB($_GET['cnn'])->quoteIdentifier($_GET['table']); + $rs = $con->executeQuery("SELECT MAX($primaryKeyField) as lastId FROM $tableName"); $rs->next(); $row = $rs->getRow(); $gKey = (int)$row['lastId'] + 1; @@ -182,15 +189,23 @@ if( isset($request) ){ } else { $gKey = G::encryptOld(date('Y-m-d H:i:s').'@'.rand()); } + + // See above. Gross, but it works. + $field = mysql_real_escape_string($_GET['fld']); + $field = str_replace("`", "", $field); + + $query = "INSERT INTO $tableName ($primaryKeyField, $field) VALUES (?, ?)"; // '$gKey', '{$_GET['value']}')"; - $rs = $con->executeQuery("INSERT INTO {$_GET['table']} ({$_GET['pk']}, {$_GET['fld']}) VALUES ('$gKey', '{$_GET['value']}');"); + $rs = $con->prepareStatement($query); + $rs->set(1, $gKey); + $rs->set(2, $_GET['value']); + $rs->executeQuery(); echo "{status: 1, message: \"success\"}"; } catch (Exception $e) { $err = $e->getMessage(); //$err = eregi_replace("[\n|\r|\n\r]", ' ', $err); $err = preg_replace("[\n|\r|\n\r]", " ", $err); //Made compatible to PHP 5.3 - echo "{status: 0, message: \"" . $err . "\"}"; } break; diff --git a/gulliver/system/class.rbac.php b/gulliver/system/class.rbac.php index f3634a594..8ffcb6fde 100755 --- a/gulliver/system/class.rbac.php +++ b/gulliver/system/class.rbac.php @@ -788,7 +788,7 @@ class RBAC */ public function getRoleUsers ($ROL_UID, $filter = '') { - return $this->rolesObj->getRoleUsers( $ROL_UID, $filter ); + throw new Exception(__METHOD__ . ': The method is deprecated'); } /** @@ -859,7 +859,7 @@ class RBAC */ public function getAllUsers ($ROL_UID, $filter = '') { - return $this->rolesObj->getAllUsers( $ROL_UID, $filter ); + throw new Exception(__METHOD__ . ': The method is deprecated'); } /** diff --git a/rbac/engine/classes/model/Roles.php b/rbac/engine/classes/model/Roles.php index d789b82cd..282833d4f 100755 --- a/rbac/engine/classes/model/Roles.php +++ b/rbac/engine/classes/model/Roles.php @@ -398,85 +398,11 @@ class Roles extends BaseRoles { } function getRoleUsers($ROL_UID, $filter='') { - try { - $criteria = new Criteria(); - $criteria->addSelectColumn(RolesPeer::ROL_UID); - $criteria->addSelectColumn(RolesPeer::ROL_PARENT); - $criteria->addSelectColumn(RolesPeer::ROL_SYSTEM); - $criteria->addSelectColumn(RolesPeer::ROL_CODE); - $criteria->addSelectColumn(RolesPeer::ROL_CREATE_DATE); - $criteria->addSelectColumn(RolesPeer::ROL_UPDATE_DATE); - $criteria->addSelectColumn(RolesPeer::ROL_STATUS); - $criteria->addSelectColumn(RbacUsersPeer::USR_UID); - $criteria->addSelectColumn(RbacUsersPeer::USR_USERNAME); - $criteria->addSelectColumn(RbacUsersPeer::USR_FIRSTNAME); - $criteria->addSelectColumn(RbacUsersPeer::USR_LASTNAME); - $criteria->add(RolesPeer::ROL_UID, "", Criteria::NOT_EQUAL); - $criteria->add(RolesPeer::ROL_UID, $ROL_UID); - - $criteria->add(RbacUsersPeer::USR_STATUS, 0, Criteria::NOT_EQUAL); - - $criteria->addJoin(RolesPeer::ROL_UID, UsersRolesPeer::ROL_UID); - $criteria->addJoin(UsersRolesPeer::USR_UID, RbacUsersPeer::USR_UID); - - if ($filter != ''){ - $criteria->add( - $criteria->getNewCriterion(RbacUsersPeer::USR_USERNAME,'%'.$filter.'%',Criteria::LIKE)->addOr( - $criteria->getNewCriterion(RbacUsersPeer::USR_FIRSTNAME,'%'.$filter.'%',Criteria::LIKE)->addOr( - $criteria->getNewCriterion(RbacUsersPeer::USR_LASTNAME,'%'.$filter.'%',Criteria::LIKE))) - ); - } - - $oDataset = RolesPeer::doSelectRS($criteria); - $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); - return $oDataset; - - } catch( exception $e ) { - throw $e; - } + throw new Exception(__METHOD__ . ': The method is deprecated'); } function getAllUsers($ROL_UID, $filter='') { - try { - $c = new Criteria(); - $c->addSelectColumn(RbacUsersPeer::USR_UID); - $c->add(RolesPeer::ROL_UID, $ROL_UID); - $c->addJoin(RolesPeer::ROL_UID, UsersRolesPeer::ROL_UID); - $c->addJoin(UsersRolesPeer::USR_UID, RbacUsersPeer::USR_UID); - - $result = RolesPeer::doSelectRS($c); - $result->setFetchmode(ResultSet::FETCHMODE_ASSOC); - $result->next(); - - $a = Array(); - while( $row = $result->getRow() ) { - $a[] = $row['USR_UID']; - $result->next(); - } - - $criteria = new Criteria(); - - $criteria->addSelectColumn(RbacUsersPeer::USR_UID); - $criteria->addSelectColumn(RbacUsersPeer::USR_USERNAME); - $criteria->addSelectColumn(RbacUsersPeer::USR_FIRSTNAME); - $criteria->addSelectColumn(RbacUsersPeer::USR_LASTNAME); - $criteria->add(RbacUsersPeer::USR_STATUS, 1, Criteria::EQUAL); - $criteria->add(RbacUsersPeer::USR_UID, $a, Criteria::NOT_IN); - - if ($filter != ''){ - $criteria->add( - $criteria->getNewCriterion(RbacUsersPeer::USR_USERNAME,'%'.$filter.'%',Criteria::LIKE)->addOr( - $criteria->getNewCriterion(RbacUsersPeer::USR_FIRSTNAME,'%'.$filter.'%',Criteria::LIKE)->addOr( - $criteria->getNewCriterion(RbacUsersPeer::USR_LASTNAME,'%'.$filter.'%',Criteria::LIKE))) - ); - } - - $oDataset = RbacUsersPeer::doSelectRS($criteria); - $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); - return $oDataset; - } catch( exception $e ) { - throw $e; - } + throw new Exception(__METHOD__ . ': The method is deprecated'); } function assignUserToRole($aData) { diff --git a/workflow/engine/classes/class.pmDynaform.php b/workflow/engine/classes/class.pmDynaform.php index ea5d1db92..3b10e45ed 100644 --- a/workflow/engine/classes/class.pmDynaform.php +++ b/workflow/engine/classes/class.pmDynaform.php @@ -225,7 +225,7 @@ class pmDynaform $json->optionsSql[] = $option; } } catch (Exception $e) { - + } } break; @@ -605,7 +605,7 @@ class pmDynaform $data[$json->variable === "" ? $json->id : $json->variable] = $row[0]; } } catch (Exception $e) { - + } } } @@ -649,6 +649,7 @@ class pmDynaform $javascript = " "; @@ -958,6 +965,7 @@ class pmDynaform $javascrip = "" . " @@ -81,6 +82,7 @@ var SYS_SYS = "{$SYS_SYS}"; var SYS_LANG = "{$SYS_LANG}"; var SYS_SKIN = "{$SYS_SKIN}"; + var HTTP_SERVER_HOSTNAME = "{$HTTP_SERVER_HOSTNAME}"; diff --git a/workflow/engine/templates/roles/rolesUsersPermission.js b/workflow/engine/templates/roles/rolesUsersPermission.js index 947b02b86..717cd3b9b 100755 --- a/workflow/engine/templates/roles/rolesUsersPermission.js +++ b/workflow/engine/templates/roles/rolesUsersPermission.js @@ -26,8 +26,6 @@ var storeA; var cmodelP; var smodelA; var smodelP; -var storeU; -var storeX; var cmodelU; var smodelU; var smodelX; @@ -54,6 +52,9 @@ var removeUAllButton; var backButton; var editForm; +var pagingUser; +var pagingAvailableUser; + var sw_func_permissions; var sw_func_users; @@ -83,12 +84,12 @@ GridByDefaultP = function(){ //Function DoSearch Available DoSearchU = function(){ - availableUGrid.store.load({params: {textFilter: searchTextU.getValue()}}); + pagingAvailableUser.moveFirst(); }; //Function DoSearch Assigned DoSearchX = function(){ - assignedUGrid.store.load({params: {textFilter: searchTextX.getValue()}}); + pagingUser.moveFirst(); }; //Load Grid By Default Available Members @@ -149,6 +150,11 @@ CancelEditPermissionsActionU = function(){ Ext.onReady(function(){ + var loadMaskUserPermission = new Ext.LoadMask(Ext.getBody(), {msg: _("ID_LOADING_GRID")}); + + //Variables + var pageSizeU = parseInt(CONFIG.pageSize); + var pageSizeA = parseInt(CONFIG.pageSize); sw_func_permissions = false; sw_func_users = false; @@ -404,34 +410,154 @@ Ext.onReady(function(){ }); - storeU = new Ext.data.GroupingStore({ - proxy : new Ext.data.HttpProxy({ - url: 'data_rolesUsers?rUID=' + ROLES.ROL_UID + '&type=list' - }), - reader : new Ext.data.JsonReader( { - root: 'users', - fields : [ - {name : 'USR_UID'}, - {name : 'USR_USERNAME'}, - {name : 'USR_FIRSTNAME'}, - {name : 'USR_LASTNAME'} - ] - }) + //Stores + var storePageSize = new Ext.data.SimpleStore({ + fields: ["size"], + data: [["20"], ["30"], ["40"], ["50"], ["100"]], + autoLoad: true }); - storeX = new Ext.data.GroupingStore({ - proxy : new Ext.data.HttpProxy({ - url: 'data_rolesUsers?rUID=' + ROLES.ROL_UID + '&type=show' - }), - reader : new Ext.data.JsonReader( { - root: 'users', - fields : [ - {name : 'USR_UID'}, - {name : 'USR_USERNAME'}, - {name : 'USR_FIRSTNAME'}, - {name : 'USR_LASTNAME'} - ] - }) + var storeUser = new Ext.data.Store({ + proxy: new Ext.data.HttpProxy({ + url: "data_rolesUsers", + method: "POST" + }), + + reader: new Ext.data.JsonReader({ + root: "resultRoot", + totalProperty: "resultTotal", + fields: [ + {name: 'USR_UID'}, + {name: 'USR_USERNAME'}, + {name: 'USR_FIRSTNAME'}, + {name: 'USR_LASTNAME'} + ] + }), + + remoteSort: true, + + listeners: { + beforeload: function (store) + { + loadMaskUserPermission.show(); + + this.baseParams = { + "option": "USERS", + "roleUid": ROLES.ROL_UID, + "pageSize": pageSizeU, + "filter": searchTextX.getValue() + }; + }, + load: function (store, record, opt) + { + loadMaskUserPermission.hide(); + } + } + }); + + var storeAvailableUser = new Ext.data.Store({ + proxy: new Ext.data.HttpProxy({ + url: "data_rolesUsers", + method: "POST" + }), + + reader: new Ext.data.JsonReader({ + root: "resultRoot", + totalProperty: "resultTotal", + fields: [ + {name: 'USR_UID'}, + {name: 'USR_USERNAME'}, + {name: 'USR_FIRSTNAME'}, + {name: 'USR_LASTNAME'} + ] + }), + + remoteSort: true, + + listeners: { + beforeload: function (store) + { + loadMaskUserPermission.show(); + + this.baseParams = { + "option": "AVAILABLE-USERS", + "roleUid": ROLES.ROL_UID, + "pageSize": pageSizeA, + "filter": searchTextU.getValue() + }; + }, + load: function (store, record, opt) + { + loadMaskUserPermission.hide(); + } + } + }); + + //Components + var cboPageSizeUser = new Ext.form.ComboBox({ + id: "cboPageSizeUser", + + mode: "local", + triggerAction: "all", + store: storePageSize, + valueField: "size", + displayField: "size", + width: 50, + editable: false, + + listeners: { + select: function (combo, record, index) + { + pageSizeU = parseInt(record.data["size"]); + + pagingUser.pageSize = pageSizeU; + pagingUser.moveFirst(); + } + } + }); + + pagingUser = new Ext.PagingToolbar({ + id: "pagingUser", + + pageSize: pageSizeU, + store: storeUser, + displayInfo: true, + displayMsg: _("ID_GRID_PAGE_DISPLAYING_ITEMS"), + emptyMsg: _("ID_NO_RECORDS_FOUND"), + items: ["-", _("ID_PAGE_SIZE") + " ", cboPageSizeUser] + }); + + var cboPageSizeAvailableUser = new Ext.form.ComboBox({ + id: "cboPageSizeAvailableUser", + + mode: "local", + triggerAction: "all", + store: storePageSize, + valueField: "size", + displayField: "size", + width: 50, + editable: false, + + listeners: { + select: function (combo, record, index) + { + pageSizeA = parseInt(record.data["size"]); + + pagingAvailableUser.pageSize = pageSizeA; + pagingAvailableUser.moveFirst(); + } + } + }); + + pagingAvailableUser = new Ext.PagingToolbar({ + id: "pagingAvailableUser", + + pageSize: pageSizeA, + store: storeAvailableUser, + displayInfo: true, + displayMsg: _("ID_GRID_PAGE_DISPLAYING_ITEMS"), + emptyMsg: _("ID_NO_RECORDS_FOUND"), + items: ["-", _("ID_PAGE_SIZE") + " ", cboPageSizeAvailableUser] }); cmodelU = new Ext.grid.ColumnModel({ @@ -510,7 +636,7 @@ Ext.onReady(function(){ title : _('ID_AVAILABLE_USERS'), region : 'center', ddGroup : 'assignedUGridDDGroup', - store : storeX, + store: storeAvailableUser, cm : cmodelU, sm : smodelX, enableDragDrop : true, @@ -528,7 +654,7 @@ Ext.onReady(function(){ columnLines : false, viewConfig : {forceFit:true}, tbar: [cancelEditPermissionsUButton,{xtype: 'tbfill'},'-',searchTextU, clearTextButtonU], - //bbar: [{xtype: 'tbfill'}, assignUAllButton], + bbar: pagingAvailableUser, listeners: {rowdblclick: AssignUserAction}, hidden : true }); @@ -537,7 +663,7 @@ Ext.onReady(function(){ layout : 'fit', title : _('ID_ASSIGNED_USERS'), ddGroup : 'availableUGridDDGroup', - store : storeU, + store: storeUser, cm : cmodelU, sm : smodelU, enableDragDrop : false, @@ -554,7 +680,8 @@ Ext.onReady(function(){ frame : false, columnLines : false, viewConfig : {forceFit:true}, - tbar : [editPermissionsUButton,{xtype: 'tbfill'},'-',searchTextX, clearTextButtonX] + tbar: [editPermissionsUButton, {xtype: "tbfill"}, "-", searchTextX, clearTextButtonX], + bbar: pagingUser }); buttonsUPanel = new Ext.Panel({ @@ -613,6 +740,9 @@ Ext.onReady(function(){ } }); + cboPageSizeUser.setValue(pageSizeU); + cboPageSizeAvailableUser.setValue(pageSizeA); + //LOAD ALL PANELS viewport = new Ext.Viewport({ layout: 'border',