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',