Merge branch 'master' of git://github.com/colosa/processmaker into BUG-11603

This commit is contained in:
Luis Fernando Saisa Lopez
2013-06-20 17:07:27 +00:00
10 changed files with 296 additions and 180 deletions

View File

@@ -1170,5 +1170,44 @@ class RBAC
} }
} }
} }
/**
* this function permissions
*
*
* @access public
*
*/
public function verifyPermissions ()
{
$message = array();
$listPermissions = $this->loadPermissionAdmin();
$criteria = new Criteria( 'rbac' );
$dataset = PermissionsPeer::doSelectRS( $criteria );
$dataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
$dataset->next();
$aRow = $dataset->getRow();
while (is_array( $aRow )) {
foreach($listPermissions as $key => $item) {
if ($aRow['PER_UID'] == $item['PER_UID'] ) {
unset($listPermissions[$key]);
break;
}
}
$dataset->next();
$aRow = $dataset->getRow();
}
foreach($listPermissions as $key => $item) {
$data['PER_UID'] = $item['PER_UID'];
$data['PER_CODE'] = $item['PER_CODE'];
$data['PER_CREATE_DATE'] = date('Y-m-d H:i:s');
$data['PER_UPDATE_DATE'] = $data['PER_CREATE_DATE'];
$data['PER_STATUS'] = 1;
$permission = new Permissions();
$permission->fromArray($data, BasePeer::TYPE_FIELDNAME);
$permission->save();
$message[] = 'Add permission missing ' . $item['PER_CODE'];
}
return $message;
}
} }

View File

@@ -413,27 +413,7 @@ class Applications
if (($action == "sent" || $action == "search" || $action == "simple_search" || $action == "to_revise" || $action == "to_reassign") && ($status != "TO_DO")) { if (($action == "sent" || $action == "search" || $action == "simple_search" || $action == "to_revise" || $action == "to_reassign") && ($status != "TO_DO")) {
switch ($sort) { switch ($sort) {
case "APP_CACHE_VIEW.APP_CURRENT_USER": case "APP_CACHE_VIEW.APP_CURRENT_USER":
$sort = "USRCR_USR_LASTNAME"; $sort = "USRCR_" . $conf->userNameFormatGetFirstFieldByUsersTable();
$confEnvSetting = $conf->getConfiguration("ENVIRONMENT_SETTINGS", "");
if (is_array($confEnvSetting)) {
$arrayAux = explode(" ", str_replace(array("(", ")", ","), array(null, null, null), $confEnvSetting["format"]));
if (isset($arrayAux[0])) {
switch (trim($arrayAux[0])) {
case "@userName":
$sort = "USRCR_USR_USERNAME";
break;
case "@firstName":
$sort = "USRCR_USR_FIRSTNAME";
break;
case "@lastName":
$sort = "USRCR_USR_LASTNAME";
break;
}
}
}
break; break;
case "APP_CACHE_VIEW.APP_TAS_TITLE": case "APP_CACHE_VIEW.APP_TAS_TITLE":
$sort = "APPCVCR_APP_TAS_TITLE"; $sort = "APPCVCR_APP_TAS_TITLE";

View File

@@ -315,7 +315,6 @@ class Configurations // extends Configuration
} }
} }
public function userNameFormat($username, $fullname) public function userNameFormat($username, $fullname)
{ {
@@ -338,6 +337,48 @@ class Configurations // extends Configuration
} }
} }
public function usersNameFormatBySetParameters($formatUserName, $userName, $firstName, $lastName)
{
$usersNameFormat = (!empty($formatUserName))? str_replace(array("@userName", "@firstName", "@lastName"), array($userName, $firstName, $lastName), $formatUserName) : null;
$usersNameFormat = trim($usersNameFormat);
return $usersNameFormat;
}
/**
* Gets the first field of the UserName format
*
* Returns the field, based on the field name in the USERS table
*
* @return string Return the field
*/
public function userNameFormatGetFirstFieldByUsersTable()
{
$field = "USR_LASTNAME";
$confEnvSetting = $this->getConfiguration("ENVIRONMENT_SETTINGS", "");
if (is_array($confEnvSetting) && isset($confEnvSetting["format"])) {
$arrayAux = explode(" ", str_replace(array("(", ")", ","), array(null, null, null), $confEnvSetting["format"]));
if (isset($arrayAux[0])) {
switch (trim($arrayAux[0])) {
case "@userName":
$field = "USR_USERNAME";
break;
case "@firstName":
$field = "USR_FIRSTNAME";
break;
case "@lastName":
$field = "USR_LASTNAME";
break;
}
}
}
return $field;
}
/** /**
* getFormats * getFormats
* *
@@ -524,9 +565,9 @@ class Configurations // extends Configuration
$newCreation = ''; $newCreation = '';
$maskTime = array('d' => '%d', 'D' => '%A', 'j' => '%e', 'l' => '%A', 'N' => '%u', 'S' => '%d', 'w' => '%w', 'z' => '%j', 'W' => '%W', 'F' => '%B', 'm' => '%m', 'M' => '%B', 'n' => '%m', 'o' => '%Y', 'Y' => '%Y', 'y' => '%g', 'a' => '%P', 'A' => '%p', 'g' => '%l', 'G' => '%k', 'h' => '%I', 'H' => '%H', 'i' => '%M', 's' => '%S'); $maskTime = array('d' => '%d', 'D' => '%A', 'j' => '%e', 'l' => '%A', 'N' => '%u', 'S' => '%d', 'w' => '%w', 'z' => '%j', 'W' => '%W', 'F' => '%B', 'm' => '%m', 'M' => '%B', 'n' => '%m', 'o' => '%Y', 'Y' => '%Y', 'y' => '%g', 'a' => '%P', 'A' => '%p', 'g' => '%l', 'G' => '%k', 'h' => '%I', 'H' => '%H', 'i' => '%M', 's' => '%S');
$creationDateMask = trim($creationDateMask); $creationDateMask = trim($creationDateMask);
if (strpos($creationDateMask, ' \\d\\e ') !== false) { if (strpos($creationDateMask, ' \\d\\e ') !== false) {
$creationDateMask = str_replace(' \\d\\e ', ' [xx] ', $creationDateMask); $creationDateMask = str_replace(' \\d\\e ', ' [xx] ', $creationDateMask);
} }
@@ -569,15 +610,15 @@ class Configurations // extends Configuration
$dateTime = utf8_encode(strftime($newCreation, mktime(0, 0, 0, $m, $d, $y))); $dateTime = utf8_encode(strftime($newCreation, mktime(0, 0, 0, $m, $d, $y)));
if (strpos($dateTime, ' ') !== false) { if (strpos($dateTime, ' ') !== false) {
$dateTime = ucwords($dateTime); $dateTime = ucwords($dateTime);
} }
if (strpos($dateTime, ' [xx] ') !== false) { if (strpos($dateTime, ' [xx] ') !== false) {
$dateTime = str_replace('[xx]', ' de ', $dateTime); $dateTime = str_replace('[xx]', ' de ', $dateTime);
} }
} }
} }
return $dateTime; return $dateTime;

View File

@@ -248,8 +248,11 @@ class processMap
$oTask->color = "#939598"; //Gray $oTask->color = "#939598"; //Gray
} }
} else { } else {
//$oTask->color = "#FF9900"; //Yellow if ($aRow3) {
$oTask->color = "#FF0000"; //Red $oTask->color = "#FF0000"; //Red
} else {
$oTask->color = "#939598"; //Gray
}
} }
} }
} }

View File

@@ -89,7 +89,7 @@ class workspaceTools
$stop = microtime(true); $stop = microtime(true);
$final = $stop - $start; $final = $stop - $start;
CLI::logging("<*> Updating cache view Process took $final seconds.\n"); CLI::logging("<*> Updating cache view Process took $final seconds.\n");
$start = microtime(true); $start = microtime(true);
CLI::logging("> Updating cases directories structure...\n"); CLI::logging("> Updating cases directories structure...\n");
$this->upgradeCasesDirectoryStructure($workSpace); $this->upgradeCasesDirectoryStructure($workSpace);
@@ -460,6 +460,20 @@ class workspaceTools
//Update APP_DELEGATION.DEL_LAST_INDEX data //Update APP_DELEGATION.DEL_LAST_INDEX data
$res = $appCache->updateAppDelegationDelLastIndex($lang, $checkOnly); $res = $appCache->updateAppDelegationDelLastIndex($lang, $checkOnly);
CLI::logging("-> Verifying roles permissions in RBAC \n");
//Update table RBAC permissions
Bootstrap::LoadSystem( 'rbac' );
$RBAC = & RBAC::getSingleton();
$RBAC->initRBAC();
$result = $RBAC->verifyPermissions();
if (count($result) > 1) {
foreach($result as $item) {
CLI::logging(" $item... \n");
}
} else {
CLI::logging(" All roles permissions already updated \n");
}
CLI::logging("-> Creating triggers\n"); CLI::logging("-> Creating triggers\n");
//now check if we have the triggers installed //now check if we have the triggers installed
$triggers = array(); $triggers = array();

View File

@@ -105,8 +105,8 @@ class AppNotes extends BaseAppNotes
$response['success'] = G::LoadTranslation("ID_FAILURE"); $response['success'] = G::LoadTranslation("ID_FAILURE");
$response['message'] = $msg; $response['message'] = $msg;
} else { } else {
$response['success'] = "success"; $response['success'] = 'success';
$response['message'] = G::LoadTranslation("ID_SAVED"); $response['message'] = '';
} }
if ($notify) { if ($notify) {

View File

@@ -124,7 +124,16 @@ class AppProxy extends HttpProxyController
//Add note case //Add note case
$appNote = new AppNotes(); $appNote = new AppNotes();
$response = $appNote->addCaseNote($appUid, $usrUid, $noteContent, intval($httpData->swSendMail)); try {
$response = $appNote->addCaseNote($appUid, $usrUid, $noteContent, intval($httpData->swSendMail));
} catch (Exception $error) {
$response = new stdclass();
$response->success = 'success';
$response->message = G::LoadTranslation('ID_ERROR_SEND_NOTIFICATIONS');
$response->message .= '<br /><br />' . $error->getMessage() . '<br /><br />';
$response->message .= G::LoadTranslation('ID_CONTACT_ADMIN');
die(G::json_encode($response));
}
//Send the response to client //Send the response to client
@ini_set("implicit_flush", 1); @ini_set("implicit_flush", 1);

View File

@@ -1,10 +1,10 @@
<?php <?php
if (!isset($_SESSION['USER_LOGGED'])) { if (!isset($_SESSION['USER_LOGGED'])) {
$response = new stdclass(); $response = new stdclass();
$response->message = G::LoadTranslation('ID_LOGIN_AGAIN'); $response->message = G::LoadTranslation('ID_LOGIN_AGAIN');
$response->lostSession = true; $response->lostSession = true;
print G::json_encode( $response ); print G::json_encode( $response );
die(); die();
} }
/** /**
* casesList_Ajax.php * casesList_Ajax.php
@@ -54,19 +54,35 @@ if ($actionAjax == "userValues") {
switch ($action) { switch ($action) {
case 'search_simple': case 'search_simple':
case 'search': case 'search':
G::LoadClass("configuration");
$conf = new Configurations();
$confEnvSetting = $conf->getConfiguration("ENVIRONMENT_SETTINGS", "");
$formatUserName = null;
if (is_array($confEnvSetting) && isset($confEnvSetting["format"])) {
$formatUserName = $confEnvSetting["format"];
}
$cUsers = new Criteria( 'workflow' ); $cUsers = new Criteria( 'workflow' );
$cUsers->clearSelectColumns(); $cUsers->clearSelectColumns();
$cUsers->addSelectColumn( UsersPeer::USR_UID ); $cUsers->addSelectColumn(UsersPeer::USR_UID);
$cUsers->addSelectColumn( UsersPeer::USR_FIRSTNAME ); $cUsers->addSelectColumn(UsersPeer::USR_USERNAME);
$cUsers->addSelectColumn( UsersPeer::USR_LASTNAME ); $cUsers->addSelectColumn(UsersPeer::USR_FIRSTNAME);
$cUsers->addSelectColumn(UsersPeer::USR_LASTNAME);
$cUsers->add( UsersPeer::USR_STATUS, 'CLOSED', Criteria::NOT_EQUAL ); $cUsers->add( UsersPeer::USR_STATUS, 'CLOSED', Criteria::NOT_EQUAL );
$cUsers->addAscendingOrderByColumn( UsersPeer::USR_LASTNAME ); $cUsers->addAscendingOrderByColumn(UsersPeer::TABLE_NAME . "." . $conf->userNameFormatGetFirstFieldByUsersTable());
$oDataset = UsersPeer::doSelectRS( $cUsers ); $oDataset = UsersPeer::doSelectRS( $cUsers );
$oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC ); $oDataset->setFetchmode( ResultSet::FETCHMODE_ASSOC );
$oDataset->next();
while ($aRow = $oDataset->getRow()) { while ($oDataset->next()) {
$users[] = array ("USR_UID" => $aRow['USR_UID'],"USR_FULLNAME" => $aRow['USR_LASTNAME'] . ' ' . $aRow['USR_FIRSTNAME']); $row = $oDataset->getRow();
$oDataset->next();
$usrFullName = $conf->usersNameFormatBySetParameters($formatUserName, $row["USR_USERNAME"], $row["USR_FIRSTNAME"], $row["USR_LASTNAME"]);
$usrFullName = (!empty($usrFullName))? $usrFullName : $row["USR_LASTNAME"] . " " . $row["USR_FIRSTNAME"];
$users[] = array("USR_UID" => $row["USR_UID"], "USR_FULLNAME" => $usrFullName);
} }
break; break;
default: default:

View File

@@ -363,8 +363,21 @@ function sendNote()
Ext.getCmp('caseNoteText').setDisabled(false); Ext.getCmp('caseNoteText').setDisabled(false);
Ext.getCmp('sendBtn').setDisabled(false); Ext.getCmp('sendBtn').setDisabled(false);
Ext.getCmp('addCancelBtn').setDisabled(false); Ext.getCmp('addCancelBtn').setDisabled(false);
statusBarMessage( _('ID_CASES_NOTE_POST_SUCCESS'), false,true); if (data.message != '') {
storeNotes.load(); Ext.Msg.show({
title : _('ID_CASES_NOTE_POST_ERROR'),
msg : data.message,
icon : Ext.MessageBox.WARNING,
buttons : Ext.Msg.OK,
fn : function(btn) {
statusBarMessage( _('ID_CASES_NOTE_POST_SUCCESS'), false,true);
storeNotes.load();
}
});
} else {
statusBarMessage( _('ID_CASES_NOTE_POST_SUCCESS'), false,true);
storeNotes.load();
}
} else if (data.lostSession) { } else if (data.lostSession) {
Ext.Msg.show({ Ext.Msg.show({
title : _('ID_CASES_NOTE_POST_ERROR'), title : _('ID_CASES_NOTE_POST_ERROR'),

View File

@@ -59,17 +59,106 @@ var sw_func_users;
var pm_admin = '00000000000000000000000000000002'; var pm_admin = '00000000000000000000000000000002';
//Function DoSearch Available
DoSearchA = function(){
availableGrid.store.load({params: {textFilter: searchTextA.getValue()}});
};
//Function DoSearch Assigned
DoSearchP = function(){
assignedGrid.store.load({params: {textFilter: searchTextP.getValue()}});
};
//Load Grid By Default Available Members
GridByDefaultA = function(){
searchTextA.reset();
availableGrid.store.load();
};
//Load Grid By Default Assigned Members
GridByDefaultP = function(){
searchTextP.reset();
assignedGrid.store.load();
};
//Function DoSearch Available
DoSearchU = function(){
availableUGrid.store.load({params: {textFilter: searchTextU.getValue()}});
};
//Function DoSearch Assigned
DoSearchX = function(){
assignedUGrid.store.load({params: {textFilter: searchTextX.getValue()}});
};
//Load Grid By Default Available Members
GridByDefaultU = function(){
searchTextU.reset();
availableUGrid.store.load();
};
//Load Grid By Default Assigned Members
GridByDefaultX = function(){
searchTextX.reset();
assignedUGrid.store.load();
};
//edit permissions action
EditPermissionsAction = function(){
availableGrid.show();
buttonsPanel.show();
editPermissionsButton.disable();
//cancelEditPermissionsButton.show();
PermissionsPanel.doLayout();
};
EditPermissionsContentsAction = function(){
//availableGrid.show();
//buttonsPanel.show();
editPermissionsContentsButton.disable();
editPermissionsButton.disable();
EditPermissionsWindow();
};
//CancelEditPermissions Function
CancelEditPermissionsAction = function(){
availableGrid.hide();
buttonsPanel.hide();
editPermissionsButton.enable();
//cancelEditPermissionsButton.hide();
PermissionsPanel.doLayout();
};
//edit users action
EditPermissionsActionU = function(){
availableUGrid.show();
buttonsUPanel.show();
editPermissionsUButton.disable();
//cancelEditPermissionsUButton.show();
UsersPanel.doLayout();
};
//CancelEditUsers Function
CancelEditPermissionsActionU = function(){
availableUGrid.hide();
buttonsUPanel.hide();
editPermissionsUButton.enable();
//cancelEditPermissionsUButton.hide();
UsersPanel.doLayout();
};
Ext.onReady(function(){ Ext.onReady(function(){
sw_func_permissions = false; sw_func_permissions = false;
sw_func_users = false; sw_func_users = false;
editPermissionsButton = new Ext.Action({ editPermissionsButton = new Ext.Action({
text: _('ID_EDIT_PERMISSIONS'), text: _('ID_EDIT_PERMISSIONS'),
iconCls: 'button_menu_ext ss_sprite ss_key_add', iconCls: 'button_menu_ext ss_sprite ss_key_add',
handler: EditPermissionsAction handler: EditPermissionsAction
}); });
editPermissionsContentsButton = new Ext.Action({ editPermissionsContentsButton = new Ext.Action({
text: _('ID_EDIT_PERMISSIONS_CONTENT'), text: _('ID_EDIT_PERMISSIONS_CONTENT'),
iconCls: 'button_menu_ext ss_sprite ss_key_add', iconCls: 'button_menu_ext ss_sprite ss_key_add',
@@ -81,7 +170,7 @@ Ext.onReady(function(){
iconCls: 'button_menu_ext ss_sprite ss_cancel', iconCls: 'button_menu_ext ss_sprite ss_cancel',
handler: CancelEditPermissionsAction handler: CancelEditPermissionsAction
}); });
editPermissionsUButton = new Ext.Action({ editPermissionsUButton = new Ext.Action({
text: _('ID_ASSIGN_USERS'), text: _('ID_ASSIGN_USERS'),
iconCls: 'button_menu_ext ss_sprite ss_user_add', iconCls: 'button_menu_ext ss_sprite ss_user_add',
@@ -93,13 +182,13 @@ Ext.onReady(function(){
iconCls: 'button_menu_ext ss_sprite ss_cancel', iconCls: 'button_menu_ext ss_sprite ss_cancel',
handler: CancelEditPermissionsActionU handler: CancelEditPermissionsActionU
}); });
backButton = new Ext.Action({ backButton = new Ext.Action({
text: _('ID_BACK'), text: _('ID_BACK'),
iconCls: 'button_menu_ext ss_sprite ss_arrow_redo', iconCls: 'button_menu_ext ss_sprite ss_arrow_redo',
handler: BackToRoles handler: BackToRoles
}); });
storeP = new Ext.data.GroupingStore( { storeP = new Ext.data.GroupingStore( {
proxy : new Ext.data.HttpProxy({ proxy : new Ext.data.HttpProxy({
url: 'data_rolesPermissions?rUID=' + ROLES.ROL_UID + '&type=list' url: 'data_rolesPermissions?rUID=' + ROLES.ROL_UID + '&type=list'
@@ -115,7 +204,7 @@ Ext.onReady(function(){
] ]
}) })
}); });
storeA = new Ext.data.GroupingStore( { storeA = new Ext.data.GroupingStore( {
proxy : new Ext.data.HttpProxy({ proxy : new Ext.data.HttpProxy({
url: 'data_rolesPermissions?rUID=' + ROLES.ROL_UID + '&type=show' url: 'data_rolesPermissions?rUID=' + ROLES.ROL_UID + '&type=show'
@@ -131,7 +220,7 @@ Ext.onReady(function(){
] ]
}) })
}); });
cmodelP = new Ext.grid.ColumnModel({ cmodelP = new Ext.grid.ColumnModel({
defaults: { defaults: {
width: 50, width: 50,
@@ -143,19 +232,19 @@ Ext.onReady(function(){
{header: _('ID_PERMISSION_NAME'), dataIndex: 'PER_NAME', width: 60, align:'left'} {header: _('ID_PERMISSION_NAME'), dataIndex: 'PER_NAME', width: 60, align:'left'}
] ]
}); });
smodelA = new Ext.grid.RowSelectionModel({ smodelA = new Ext.grid.RowSelectionModel({
selectSingle: false, selectSingle: false,
listeners:{ listeners:{
selectionchange: function(sm){ selectionchange: function(sm){
switch(sm.getCount()){ switch(sm.getCount()){
case 0: Ext.getCmp('assignButton').disable(); break; case 0: Ext.getCmp('assignButton').disable(); break;
default: Ext.getCmp('assignButton').enable(); break; default: Ext.getCmp('assignButton').enable(); break;
} }
} }
} }
}); });
smodelP = new Ext.grid.RowSelectionModel({ smodelP = new Ext.grid.RowSelectionModel({
selectSingle: false, selectSingle: false,
listeners:{ listeners:{
@@ -195,13 +284,13 @@ Ext.onReady(function(){
} }
} }
}); });
clearTextButtonA = new Ext.Action({ clearTextButtonA = new Ext.Action({
text: 'X', text: 'X',
ctCls:'pm_search_x_button', ctCls:'pm_search_x_button',
handler: GridByDefaultA handler: GridByDefaultA
}); });
searchTextP = new Ext.form.TextField ({ searchTextP = new Ext.form.TextField ({
id: 'searchTextP', id: 'searchTextP',
ctCls:'pm_search_text_field', ctCls:'pm_search_text_field',
@@ -216,13 +305,13 @@ Ext.onReady(function(){
} }
} }
}); });
clearTextButtonP = new Ext.Action({ clearTextButtonP = new Ext.Action({
text: 'X', text: 'X',
ctCls:'pm_search_x_button', ctCls:'pm_search_x_button',
handler: GridByDefaultP handler: GridByDefaultP
}); });
availableGrid = new Ext.grid.GridPanel({ availableGrid = new Ext.grid.GridPanel({
layout : 'fit', layout : 'fit',
title : _('ID_AVAILABLE_PERMISSIONS'), title : _('ID_AVAILABLE_PERMISSIONS'),
@@ -281,7 +370,7 @@ Ext.onReady(function(){
groupTextTpl: '{text}' groupTextTpl: '{text}'
}) })
}); });
buttonsPanel = new Ext.Panel({ buttonsPanel = new Ext.Panel({
width : 40, width : 40,
layout : { layout : {
@@ -299,7 +388,7 @@ Ext.onReady(function(){
], ],
hidden : true hidden : true
}); });
RefreshPermissions(); RefreshPermissions();
//PERMISSIONS DRAG AND DROP PANEL //PERMISSIONS DRAG AND DROP PANEL
@@ -314,7 +403,7 @@ Ext.onReady(function(){
//bbar: [{xtype: 'tbfill'},editPermissionsButton, cancelEditPermissionsButton] //bbar: [{xtype: 'tbfill'},editPermissionsButton, cancelEditPermissionsButton]
}); });
storeU = new Ext.data.GroupingStore({ storeU = new Ext.data.GroupingStore({
proxy : new Ext.data.HttpProxy({ proxy : new Ext.data.HttpProxy({
url: 'data_rolesUsers?rUID=' + ROLES.ROL_UID + '&type=list' url: 'data_rolesUsers?rUID=' + ROLES.ROL_UID + '&type=list'
@@ -329,7 +418,7 @@ Ext.onReady(function(){
] ]
}) })
}); });
storeX = new Ext.data.GroupingStore({ storeX = new Ext.data.GroupingStore({
proxy : new Ext.data.HttpProxy({ proxy : new Ext.data.HttpProxy({
url: 'data_rolesUsers?rUID=' + ROLES.ROL_UID + '&type=show' url: 'data_rolesUsers?rUID=' + ROLES.ROL_UID + '&type=show'
@@ -344,7 +433,7 @@ Ext.onReady(function(){
] ]
}) })
}); });
cmodelU = new Ext.grid.ColumnModel({ cmodelU = new Ext.grid.ColumnModel({
defaults: { defaults: {
width: 50, width: 50,
@@ -357,31 +446,31 @@ Ext.onReady(function(){
{header: _('ID_USER_NAME'), dataIndex: 'USR_USERNAME', width: 60, align:'left'} {header: _('ID_USER_NAME'), dataIndex: 'USR_USERNAME', width: 60, align:'left'}
] ]
}); });
smodelX = new Ext.grid.RowSelectionModel({ smodelX = new Ext.grid.RowSelectionModel({
selectSingle: false, selectSingle: false,
listeners:{ listeners:{
selectionchange: function(sm){ selectionchange: function(sm){
switch(sm.getCount()){ switch(sm.getCount()){
case 0: Ext.getCmp('assignUButton').disable(); break; case 0: Ext.getCmp('assignUButton').disable(); break;
default: Ext.getCmp('assignUButton').enable(); break; default: Ext.getCmp('assignUButton').enable(); break;
} }
} }
} }
}); });
smodelU = new Ext.grid.RowSelectionModel({ smodelU = new Ext.grid.RowSelectionModel({
selectSingle: false, selectSingle: false,
listeners:{ listeners:{
selectionchange: function(sm){ selectionchange: function(sm){
switch(sm.getCount()){ switch(sm.getCount()){
case 0: Ext.getCmp('removeUButton').disable(); break; case 0: Ext.getCmp('removeUButton').disable(); break;
default: Ext.getCmp('removeUButton').enable(); break; default: Ext.getCmp('removeUButton').enable(); break;
} }
} }
} }
}); });
searchTextU = new Ext.form.TextField ({ searchTextU = new Ext.form.TextField ({
id: 'searchTextU', id: 'searchTextU',
ctCls:'pm_search_text_field', ctCls:'pm_search_text_field',
@@ -396,13 +485,13 @@ Ext.onReady(function(){
} }
} }
}); });
clearTextButtonU = new Ext.Action({ clearTextButtonU = new Ext.Action({
text: 'X', text: 'X',
ctCls:'pm_search_x_button', ctCls:'pm_search_x_button',
handler: GridByDefaultU handler: GridByDefaultU
}); });
searchTextX = new Ext.form.TextField ({ searchTextX = new Ext.form.TextField ({
id: 'searchTextX', id: 'searchTextX',
ctCls:'pm_search_text_field', ctCls:'pm_search_text_field',
@@ -417,13 +506,13 @@ Ext.onReady(function(){
} }
} }
}); });
clearTextButtonX = new Ext.Action({ clearTextButtonX = new Ext.Action({
text: 'X', text: 'X',
ctCls:'pm_search_x_button', ctCls:'pm_search_x_button',
handler: GridByDefaultX handler: GridByDefaultX
}); });
availableUGrid = new Ext.grid.GridPanel({ availableUGrid = new Ext.grid.GridPanel({
layout : 'fit', layout : 'fit',
title : _('ID_AVAILABLE_USERS'), title : _('ID_AVAILABLE_USERS'),
@@ -451,7 +540,7 @@ Ext.onReady(function(){
listeners: {rowdblclick: AssignUserAction}, listeners: {rowdblclick: AssignUserAction},
hidden : true hidden : true
}); });
assignedUGrid = new Ext.grid.GridPanel({ assignedUGrid = new Ext.grid.GridPanel({
layout : 'fit', layout : 'fit',
title : _('ID_ASSIGNED_USERS'), title : _('ID_ASSIGNED_USERS'),
@@ -476,9 +565,9 @@ Ext.onReady(function(){
tbar: [editPermissionsUButton,{xtype: 'tbfill'},'-',searchTextX, clearTextButtonX], tbar: [editPermissionsUButton,{xtype: 'tbfill'},'-',searchTextX, clearTextButtonX],
//bbar: [{xtype: 'tbfill'},removeUAllButton], //bbar: [{xtype: 'tbfill'},removeUAllButton],
listeners: {rowdblclick: function(){ listeners: {rowdblclick: function(){
(availableUGrid.hidden)? DoNothing() : RemoveUserAction();}} (availableUGrid.hidden)? DoNothing() : RemoveUserAction();}}
}); });
buttonsUPanel = new Ext.Panel({ buttonsUPanel = new Ext.Panel({
width : 40, width : 40,
layout : { layout : {
@@ -496,7 +585,7 @@ Ext.onReady(function(){
], ],
hidden: true hidden: true
}); });
RefreshUsers(); RefreshUsers();
//PERMISSIONS DRAG AND DROP PANEL //PERMISSIONS DRAG AND DROP PANEL
@@ -510,14 +599,14 @@ Ext.onReady(function(){
viewConfig : {forceFit:true}//, viewConfig : {forceFit:true}//,
//bbar: [{xtype: 'tbfill'},editPermissionsUButton, cancelEditPermissionsUButton] //bbar: [{xtype: 'tbfill'},editPermissionsUButton, cancelEditPermissionsUButton]
}); });
//NORTH PANEL WITH TITLE AND ROLE DETAILS //NORTH PANEL WITH TITLE AND ROLE DETAILS
northPanel = new Ext.Panel({ northPanel = new Ext.Panel({
region: 'north', region: 'north',
xtype: 'panel', xtype: 'panel',
tbar: ['<b>'+_('ID_ROLE') + ' : ' + ROLES.ROL_CODE+'</b>',{xtype: 'tbfill'},backButton] tbar: ['<b>'+_('ID_ROLE') + ' : ' + ROLES.ROL_CODE+'</b>',{xtype: 'tbfill'},backButton]
}); });
//TABS PANEL //TABS PANEL
tabsPanel = new Ext.TabPanel({ tabsPanel = new Ext.TabPanel({
region: 'center', region: 'center',
@@ -536,13 +625,13 @@ Ext.onReady(function(){
} }
} }
}); });
//LOAD ALL PANELS //LOAD ALL PANELS
viewport = new Ext.Viewport({ viewport = new Ext.Viewport({
layout: 'border', layout: 'border',
items: [northPanel, tabsPanel] items: [northPanel, tabsPanel]
}); });
}); });
//Do Nothing Function //Do Nothing Function
@@ -603,7 +692,7 @@ DDLoadUsers = function(){
return true; return true;
} }
}); });
//USERS DRAG N DROP ASSIGNED //USERS DRAG N DROP ASSIGNED
var assignedUGridDropTargetEl = assignedUGrid.getView().scroller.dom; var assignedUGridDropTargetEl = assignedUGrid.getView().scroller.dom;
var assignedUGridDropTarget = new Ext.dd.DropTarget(assignedUGridDropTargetEl, { var assignedUGridDropTarget = new Ext.dd.DropTarget(assignedUGridDropTargetEl, {
@@ -665,7 +754,7 @@ DeletePermissionsRole = function(arr_per, function_success, function_failure){
params: {request: 'deletePermissionToRoleMultiple', ROL_UID: ROLES.ROL_UID, PER_UID: arr_per.join(',')}, params: {request: 'deletePermissionToRoleMultiple', ROL_UID: ROLES.ROL_UID, PER_UID: arr_per.join(',')},
success: function(){ success: function(){
function_success(); function_success();
viewport.getEl().unmask(); viewport.getEl().unmask();
}, },
failure: function(){ failure: function(){
function_failure(); function_failure();
@@ -851,7 +940,7 @@ updatePermissionContent = function() {
permission_name.trim(); permission_name.trim();
if (permission_name != '') { if (permission_name != '') {
viewport.getEl().mask(_('ID_PROCESSING')); viewport.getEl().mask(_('ID_PROCESSING'));
Ext.Ajax.request({ Ext.Ajax.request({
url: 'roles_Ajax', url: 'roles_Ajax',
params: {request: 'updatePermissionContent', PER_NAME: permission_name, PER_UID: rowSelected[0].get('PER_UID')}, params: {request: 'updatePermissionContent', PER_NAME: permission_name, PER_UID: rowSelected[0].get('PER_UID')},
@@ -865,7 +954,7 @@ updatePermissionContent = function() {
} }
Ext.getCmp('w').hide(); Ext.getCmp('w').hide();
editPermissionsContentsButton.enable(); editPermissionsContentsButton.enable();
editPermissionsButton.enable(); editPermissionsButton.enable();
}; };
//Close Popup Window //Close Popup Window
@@ -910,92 +999,4 @@ EditPermissionsWindow = function(){
w.show(); w.show();
} }
} }
}; };
//Function DoSearch Available
DoSearchA = function(){
availableGrid.store.load({params: {textFilter: searchTextA.getValue()}});
};
//Function DoSearch Assigned
DoSearchP = function(){
assignedGrid.store.load({params: {textFilter: searchTextP.getValue()}});
};
//Load Grid By Default Available Members
GridByDefaultA = function(){
searchTextA.reset();
availableGrid.store.load();
};
//Load Grid By Default Assigned Members
GridByDefaultP = function(){
searchTextP.reset();
assignedGrid.store.load();
};
//Function DoSearch Available
DoSearchU = function(){
availableUGrid.store.load({params: {textFilter: searchTextU.getValue()}});
};
//Function DoSearch Assigned
DoSearchX = function(){
assignedUGrid.store.load({params: {textFilter: searchTextX.getValue()}});
};
//Load Grid By Default Available Members
GridByDefaultU = function(){
searchTextU.reset();
availableUGrid.store.load();
};
//Load Grid By Default Assigned Members
GridByDefaultX = function(){
searchTextX.reset();
assignedUGrid.store.load();
};
//edit permissions action
EditPermissionsAction = function(){
availableGrid.show();
buttonsPanel.show();
editPermissionsButton.disable();
//cancelEditPermissionsButton.show();
PermissionsPanel.doLayout();
};
EditPermissionsContentsAction = function(){
//availableGrid.show();
//buttonsPanel.show();
editPermissionsContentsButton.disable();
editPermissionsButton.disable();
EditPermissionsWindow();
};
//CancelEditPermissions Function
CancelEditPermissionsAction = function(){
availableGrid.hide();
buttonsPanel.hide();
editPermissionsButton.enable();
//cancelEditPermissionsButton.hide();
PermissionsPanel.doLayout();
};
//edit users action
EditPermissionsActionU = function(){
availableUGrid.show();
buttonsUPanel.show();
editPermissionsUButton.disable();
//cancelEditPermissionsUButton.show();
UsersPanel.doLayout();
};
//CancelEditUsers Function
CancelEditPermissionsActionU = function(){
availableUGrid.hide();
buttonsUPanel.hide();
editPermissionsUButton.enable();
//cancelEditPermissionsUButton.hide();
UsersPanel.doLayout();
};