diff --git a/workflow/engine/classes/model/Users.php b/workflow/engine/classes/model/Users.php index 4660319cd..d0b7d2316 100755 --- a/workflow/engine/classes/model/Users.php +++ b/workflow/engine/classes/model/Users.php @@ -66,7 +66,7 @@ class Users extends BaseUsers { throw($e); } } - + public function userExists($UsrUid) { try { @@ -83,7 +83,7 @@ public function userExists($UsrUid) return false; } } - + public function load($UsrUid) { try { @@ -134,38 +134,40 @@ public function userExists($UsrUid) } } - public function loadDetailed($UsrUid) - { - try { - $result = array(); - $oUser = UsersPeer::retrieveByPK( $UsrUid ); - if (!is_null($oUser)) { + public function loadDetailed($UsrUid) + { + try { + $result = array(); + $oUser = UsersPeer::retrieveByPK($UsrUid); - $aFields = $oUser->toArray(BasePeer::TYPE_FIELDNAME); - $this->fromArray($aFields,BasePeer::TYPE_FIELDNAME); - $this->setNew(false); + if (!is_null($oUser)) { + $aFields = $oUser->toArray(BasePeer::TYPE_FIELDNAME); + $this->fromArray($aFields,BasePeer::TYPE_FIELDNAME); + $this->setNew(false); - $aIsoCountry = IsoCountry::findById($aFields['USR_COUNTRY']); - $aIsoSubdivision = IsoSubdivision::findById($aFields['USR_COUNTRY'], $aFields['USR_CITY']); - $aIsoLocation = IsoLocation::findById($aFields['USR_COUNTRY'], $aFields['USR_CITY'], $aFields['USR_LOCATION']); + $aIsoCountry = IsoCountry::findById($aFields['USR_COUNTRY']); + $aIsoSubdivision = IsoSubdivision::findById($aFields['USR_COUNTRY'], $aFields['USR_CITY']); + $aIsoLocation = IsoLocation::findById( + $aFields['USR_COUNTRY'], + $aFields['USR_CITY'], + $aFields['USR_LOCATION'] + ); - $aFields['USR_COUNTRY_NAME'] = $aIsoCountry['IC_NAME']; - $aFields['USR_CITY_NAME'] = $aIsoSubdivision['IS_NAME']; - $aFields['USR_LOCATION_NAME'] = $aIsoLocation['IL_NAME']; + $aFields['USR_COUNTRY_NAME'] = (!empty($aIsoCountry['IC_NAME']))? $aIsoCountry['IC_NAME'] : ''; + $aFields['USR_CITY_NAME'] = (!empty($aIsoSubdivision['IS_NAME']))? $aIsoSubdivision['IS_NAME'] : ''; + $aFields['USR_LOCATION_NAME'] = (!empty($aIsoLocation['IL_NAME']))? $aIsoLocation['IL_NAME'] : ''; - $result = $aFields; + $result = $aFields; - return $result; - } - else { -// return $result; - throw(new Exception( "The row '" . $UsrUid . "' in table USER doesn't exist!" )); - } + return $result; + } else { + //return $result; + throw (new Exception("The row '" . $UsrUid . "' in table USER doesn't exist!")); + } + } catch (Exception $oError) { + throw ($oError); + } } - catch (Exception $oError) { - throw($oError); - } - } public function update($fields) { @@ -224,7 +226,7 @@ public function userExists($UsrUid) $c->add(UsersPeer::USR_USERNAME, $sUsername); return $c; } - + function loadByUsernameInArray($sUsername){ echo $sUsername; $c = $this->loadByUsername($sUsername); @@ -278,7 +280,7 @@ public function userExists($UsrUid) $aRet['duedate'] = $aFields['USR_DUE_DATE']; $aRet['country'] = $Crow['IC_NAME']; $aRet['city'] = $Srow['IS_NAME']; - + return $aRet; } @@ -286,7 +288,7 @@ public function userExists($UsrUid) throw $oException; } } - + function getAvailableUsersCriteria($sGroupUID = '') { try { @@ -307,7 +309,7 @@ public function userExists($UsrUid) /** * Get all Active users - * + * * @return array of all active users */ function getAll($start=null, $limit=null, $search=null) @@ -349,12 +351,12 @@ public function userExists($UsrUid) if( is_array($rowCount) ) $totalCount = $rowCount[0]; - + if( $start ) $criteria->setOffset($start); if( $limit ) $criteria->setLimit($limit); - + $rs = UsersPeer::doSelectRS($criteria); $rs->setFetchmode(ResultSet::FETCHMODE_ASSOC); diff --git a/workflow/engine/methods/users/usersAjax.php b/workflow/engine/methods/users/usersAjax.php index 45a0d22fc..2005f3eab 100644 --- a/workflow/engine/methods/users/usersAjax.php +++ b/workflow/engine/methods/users/usersAjax.php @@ -443,15 +443,17 @@ switch($_POST['action']) }else{ $replaced_by = ''; } + $aFields['REPLACED_NAME'] = $replaced_by; + + $menuSelected = ''; + if ($aFields['PREF_DEFAULT_MENUSELECTED'] != ''){ - $menuSelected = ''; foreach ( $RBAC->aUserInfo['PROCESSMAKER']['PERMISSIONS'] as $permission ) { if($aFields['PREF_DEFAULT_MENUSELECTED']==$permission['PER_CODE']){ switch($permission['PER_CODE']){ case 'PM_USERS' : case 'PM_SETUP' : - $menuSelected = strtoupper(G::LoadTranslation('ID_SETUP')); break; case 'PM_CASES' : @@ -464,9 +466,13 @@ switch($_POST['action']) } } } + $aFields['MENUSELECTED_NAME'] = $menuSelected; + $oMenu = new Menu(); $oMenu->load('cases'); + $casesMenuSelected = ''; + if ($aFields['PREF_DEFAULT_CASES_MENUSELECTED'] != ''){ foreach($oMenu->Id as $i => $item){ @@ -474,9 +480,7 @@ switch($_POST['action']) $casesMenuSelected =$oMenu->Labels[$i]; } } - else { - $casesMenuSelected = ''; - } + $aFields['CASES_MENUSELECTED_NAME'] = $casesMenuSelected; $result->success = true; diff --git a/workflow/engine/templates/users/users.js b/workflow/engine/templates/users/users.js index 36f240e14..87057ef2b 100644 --- a/workflow/engine/templates/users/users.js +++ b/workflow/engine/templates/users/users.js @@ -1,10 +1,28 @@ -var storelocation; -var comboLocation; var storeCountry; +var storeRegion; +var storeLocation; +var storeReplacedBy; +var storeCalendar; +var storeRole; + +var storeDefaultMainMenuOption; +var storeDefaultCasesMenuOption; + +var comboCountry; +var comboRegion; +var comboLocation; +var comboReplacedBy; +var comboCalendar; +var comboRole; + +var comboDefaultMainMenuOption; +var comboDefaultCasesMenuOption; + var frmDetails; +var frmSumary; + var allowBlackStatus; var displayPreferences; -var passwordFields; var box; var infoMode; var global = {}; @@ -15,11 +33,13 @@ var canEdit = true; var flagPoliciesPassword = false; var flagValidateUsername = false; //var rendeToPage='document.body'; + global.IC_UID = ''; global.IS_UID = ''; global.USR_FIRSTNAME = ''; global.aux = ''; -Ext.onReady(function() { + +Ext.onReady(function () { Ext.state.Manager.setProvider(new Ext.state.CookieProvider()); Ext.QuickTips.init(); @@ -36,45 +56,42 @@ Ext.onReady(function() { }); - if (MODE == 'edit' || MODE == '') - flagPoliciesPassword = true; + if (MODE == "edit" || MODE == "") { + flagPoliciesPassword = true; + } - //EDIT MODE - if (USR_UID != '') { - allowBlackStatus = true; + if (USR_UID != "") { + //Mode edit + allowBlackStatus = true; - box.setVisible(true); - box.enable(); + box.setVisible(true); + box.enable(); + + if (infoMode) { + //Mode info + box.setVisible(false); + box.disable(); + + displayPreferences = "display: block;"; + readMode = true; + } else { + displayPreferences = "display: none;"; + readMode = false; + canEdit = false; + } + } else { + //Mode new + allowBlackStatus = false; - // INFO MODE - if (infoMode) { - displayPreferences = 'display:block;'; - loadUserView(); - readMode = true; box.setVisible(false); box.disable(); - } - else - { - displayPreferences = 'display:none;'; - loadUserData(); + displayPreferences = "display: none;"; readMode = false; canEdit = false; - } - - } - else { - allowBlackStatus=false; - box.setVisible(false); - box.disable(); - displayPreferences = 'display:none;'; - readMode = false; - canEdit = false; } - - profileFields = new Ext.form.FieldSet({ + var profileFields = new Ext.form.FieldSet({ title : _('ID_PROFILE'), items : [ box, @@ -112,123 +129,134 @@ Ext.onReady(function() { } } */ - ] }); - storeCountry = new Ext.data.Store( { - proxy : new Ext.data.HttpProxy( { - url : 'usersAjax', - method : 'POST' + + storeCountry = new Ext.data.Store({ + proxy : new Ext.data.HttpProxy({ + url : "usersAjax", + method : "POST" }), - reader : new Ext.data.JsonReader( { + + baseParams: {"action": "countryList"}, + + reader : new Ext.data.JsonReader({ fields : [ { - name : 'IC_UID' + name : "IC_UID" }, { - name : 'IC_NAME' - } ] + name : "IC_NAME" + }] }) }); + comboCountry = new Ext.form.ComboBox({ - fieldLabel : _('ID_COUNTRY'), - hiddenName : 'USR_COUNTRY', - id : 'USR_COUNTRY', + fieldLabel : _("ID_COUNTRY"), + hiddenName : "USR_COUNTRY", + id : "USR_COUNTRY", store : storeCountry, - valueField : 'IC_UID', - displayField : 'IC_NAME', - triggerAction : 'all', - emptyText : _('ID_SELECT'), + valueField : "IC_UID", + displayField : "IC_NAME", + triggerAction : "all", + emptyText : _("ID_SELECT"), selectOnFocus : true, width : 180, autocomplete : true, typeAhead : true, - mode : 'local', + mode : "local", listeners : { - select : function(combo,record,index){ + select : function (combo, record, index) { global.IC_UID = this.getValue(); comboRegion.store.removeAll(); comboLocation.store.removeAll(); comboRegion.clearValue(); + storeRegion.load({ params : { - action : 'stateList', IC_UID : global.IC_UID } }); - comboLocation.setValue(''); - comboRegion.store.on('load',function(store) { - comboRegion.setValue(''); + + comboLocation.setValue(""); + comboRegion.store.on("load", function (store) { + comboRegion.setValue(""); }); } } - }); - storeCountry.load({ - params : {"action" : "countryList"} }); - storeRegion = new Ext.data.Store( { - proxy : new Ext.data.HttpProxy( { - url : 'usersAjax', - method : 'POST' + storeRegion = new Ext.data.Store({ + proxy : new Ext.data.HttpProxy({ + url : "usersAjax", + method : "POST" }), - reader : new Ext.data.JsonReader( { - fields : [ { - name : 'IS_UID' + + baseParams: {"action": "stateList"}, + + reader : new Ext.data.JsonReader({ + fields : [{ + name : "IS_UID" }, { - name : 'IS_NAME' - } ] + name : "IS_NAME" + }] }) }); - comboRegion = new Ext.form.ComboBox({ - fieldLabel : _('ID_STATE_REGION'), - hiddenName : 'USR_REGION', - id : 'USR_REGION', + + comboRegion = new Ext.form.ComboBox({ + fieldLabel : _("ID_STATE_REGION"), + hiddenName : "USR_REGION", + id : "USR_REGION", store : storeRegion, - valueField : 'IS_UID', - displayField : 'IS_NAME', - triggerAction : 'all', - emptyText : _('ID_SELECT'), + valueField : "IS_UID", + displayField : "IS_NAME", + triggerAction : "all", + emptyText : _("ID_SELECT"), selectOnFocus : true, width : 180, autocomplete : true, typeAhead : true, - mode : 'local', + mode : "local", listeners : { - select : function(combo, record, index) { + select : function (combo, record, index) { global.IS_UID = this.getValue(); comboLocation.enable(); comboLocation.clearValue(); - storelocation.load({ + + storeLocation.load({ params : { - action : 'locationList', IC_UID : global.IC_UID, IS_UID : global.IS_UID } }); - comboLocation.store.on('load', function(store) { - comboLocation.setValue(''); + + comboLocation.store.on("load", function (store) { + comboLocation.setValue(""); }); } } }); - storelocation = new Ext.data.Store( { - proxy : new Ext.data.HttpProxy( { - url : 'usersAjax', - method : 'POST' + storeLocation = new Ext.data.Store({ + proxy : new Ext.data.HttpProxy({ + url : "usersAjax", + method : "POST" }), - reader : new Ext.data.JsonReader( { - fields : [ { - name : 'IL_UID' + + baseParams: {"action": "locationList"}, + + reader : new Ext.data.JsonReader({ + fields : [{ + name : "IL_UID" }, { - name : 'IL_NAME' - } ] + name : "IL_NAME" + }] }) }); + comboLocation = new Ext.form.ComboBox({ fieldLabel : _('ID_LOCATION'), hiddenName : 'USR_LOCATION', id : 'USR_LOCATION', - store : storelocation, + store : storeLocation, valueField : 'IL_UID', displayField : 'IL_NAME', triggerAction : 'all', @@ -237,72 +265,71 @@ Ext.onReady(function() { autocomplete : true, typeAhead : true, mode : 'local' + }); + storeReplacedBy = new Ext.data.Store({ + proxy: new Ext.data.HttpProxy({ + url: "usersAjax", + method: "POST" + }), + + baseParams: {"action": "usersList"}, + + reader: new Ext.data.JsonReader({ + fields: [ + {name : "USR_UID"}, + {name : "USER_FULLNAME"} + ] + }) }); comboReplacedBy = new Ext.form.ComboBox({ - fieldLabel : _('ID_REPLACED_BY'), - hiddenName : 'USR_REPLACED_BY', - id : 'USR_REPLACED_BY', - store : new Ext.data.Store( { - proxy : new Ext.data.HttpProxy( { - url : 'usersAjax', - method : 'POST' - }), - baseParams : {action : 'usersList'}, - reader : new Ext.data.JsonReader( { - fields : [ { - name : 'USR_UID' - }, { - name : 'USER_FULLNAME' - } ] - }), - autoLoad:true - }), - valueField : 'USR_UID', - displayField : 'USER_FULLNAME', + fieldLabel : _("ID_REPLACED_BY"), + hiddenName : "USR_REPLACED_BY", + id : "USR_REPLACED_BY", + store : storeReplacedBy, + valueField : "USR_UID", + displayField : "USER_FULLNAME", emptyText : TRANSLATIONS.ID_SELECT, width : 180, selectOnFocus : true, editable : false, - triggerAction: 'all', - mode: 'local' - + triggerAction: "all", + mode: "local" }); - - dateField = new Ext.form.DateField({ - id : 'USR_DUE_DATE', - fieldLabel : _('ID_EXPIRATION_DATE'), - format : 'Y-m-d', + var dateField = new Ext.form.DateField({ + id : "USR_DUE_DATE", + fieldLabel : _("ID_EXPIRATION_DATE"), + format : "Y-m-d", editable : false, readOnly : readMode, width : 120, - value : (new Date().add(Date.YEAR, 1)).format('Y-m-d') + value : (new Date().add(Date.YEAR, 1)).format("Y-m-d") }); + storeCalendar = new Ext.data.Store({ + proxy: new Ext.data.HttpProxy({ + url: "usersAjax", + method : "POST" + }), + + baseParams: {"action": "availableCalendars"}, + + reader: new Ext.data.JsonReader({ + fields: [ + {name: "CALENDAR_UID"}, + {name: "CALENDAR_NAME"} + ] + }) + }); comboCalendar = new Ext.form.ComboBox({ fieldLabel : _('ID_CALENDAR'), hiddenName : 'USR_CALENDAR', id : 'USR_CALENDAR', readOnly : readMode, - store : new Ext.data.Store( { - proxy : new Ext.data.HttpProxy( { - url : 'usersAjax', - method : 'POST' - }), - baseParams : {action : 'availableCalendars'}, - reader : new Ext.data.JsonReader( { - fields : [ { - name : 'CALENDAR_UID' - }, { - name : 'CALENDAR_NAME' - } ] - }), - autoLoad : true - }), - + store : storeCalendar, valueField : 'CALENDAR_UID', displayField : 'CALENDAR_NAME', emptyText : TRANSLATIONS.ID_SELECT, @@ -312,17 +339,14 @@ Ext.onReady(function() { allowBlank : false, triggerAction : 'all', mode : 'local' - - }); - comboCalendar.store.on('load', function(store) { - comboCalendar.setValue(store.getAt(0).get('CALENDAR_UID')); }); var status = new Ext.data.SimpleStore({ - fields : ['USR_STATUS', 'status'], - data : [['ACTIVE', 'ACTIVE'], ['INACTIVE', 'INACTIVE'], ['VACATION', 'ON VACATION']] + fields: ["USR_STATUS", "status"], + data: [["ACTIVE", "ACTIVE"], ["INACTIVE", "INACTIVE"], ["VACATION", "ON VACATION"]] }); - comboStatus = new Ext.form.ComboBox({ + + var comboStatus = new Ext.form.ComboBox({ xtype : 'combo', name : 'status', fieldLabel : _('ID_STATUS'), @@ -340,28 +364,28 @@ Ext.onReady(function() { readOnly : readMode }); + storeRole = new Ext.data.Store({ + proxy: new Ext.data.HttpProxy({ + url: "usersAjax", + method: "POST" + }), + + baseParams: {"action" : "rolesList"}, + + reader: new Ext.data.JsonReader({ + fields: [ + {name: "ROL_UID"}, + {name: "ROL_CODE"} + ] + }) + }); comboRole = new Ext.form.ComboBox({ fieldLabel : _('ID_ROLE'), hiddenName : 'USR_ROLE', id : 'USR_ROLE', readOnly : readMode, - store : new Ext.data.Store( { - proxy : new Ext.data.HttpProxy( { - url : 'usersAjax', - method : 'POST' - }), - baseParams : {action : 'rolesList'}, - reader : new Ext.data.JsonReader( { - fields : [ { - name : 'ROL_UID' - }, { - name : 'ROL_CODE' - } ] - }), - autoLoad : true - }), - + store : storeRole, valueField : 'ROL_UID', displayField : 'ROL_CODE', emptyText : TRANSLATIONS.ID_SELECT, @@ -371,14 +395,9 @@ Ext.onReady(function() { allowBlank : false, triggerAction : 'all', mode : 'local' - - }); - comboRole.store.on('load',function(store) { - comboRole.setValue(store.getAt(0).get('ROL_UID')); - }) - informationFields = new Ext.form.FieldSet({ + var informationFields = new Ext.form.FieldSet({ title : _('ID_PERSONAL_INFORMATION'), items : [ { @@ -475,10 +494,10 @@ Ext.onReady(function() { comboCalendar, comboStatus, comboRole - ] }); - passwordFields = new Ext.form.FieldSet({ + + var passwordFields = new Ext.form.FieldSet({ title : _('ID_CHANGE_PASSWORD'), items : [ { @@ -588,70 +607,71 @@ Ext.onReady(function() { ] }); - comboDefaultMainMenuOption = new Ext.form.ComboBox({ - fieldLabel : _('ID_DEFAULT_MAIN_MENU_OPTION'), - hiddenName : 'PREF_DEFAULT_MENUSELECTED', - id : 'PREF_DEFAULT_MENUSELECTED', - store : new Ext.data.Store( { - proxy : new Ext.data.HttpProxy( { - url : 'usersAjax', - method : 'POST' + storeDefaultMainMenuOption = new Ext.data.Store({ + proxy: new Ext.data.HttpProxy({ + url: "usersAjax", + method: "POST" }), - baseParams : {action : 'defaultMainMenuOptionList'}, - reader : new Ext.data.JsonReader( { - fields : [ { - name : 'id' - }, { - name : 'name' - } ] - }), - autoLoad : true - }), - valueField : 'id', - displayField : 'name', - emptyText : TRANSLATIONS.ID_SELECT, - width : 260, - selectOnFocus : true, - editable : false, - triggerAction : 'all', - mode : 'local' - }); - comboDefaultMainMenuOption.store.on('load',function(store) { - comboDefaultMainMenuOption.setValue(store.getAt(0).get('id')); - }); - comboDefaultCasesMenuOption = new Ext.form.ComboBox({ - fieldLabel : _('ID_DEFAULT_CASES_MENU_OPTION'), - hiddenName : 'PREF_DEFAULT_CASES_MENUSELECTED', - id : 'PREF_DEFAULT_CASES_MENUSELECTED', - store : new Ext.data.Store( { - proxy : new Ext.data.HttpProxy( { - url : 'usersAjax', - method : 'POST' - }), - baseParams : {action : 'defaultCasesMenuOptionList'}, - reader : new Ext.data.JsonReader( { - fields : [ { - name : 'id' - }, { - name : 'name' - } ] - }), - autoLoad : true - }), - valueField : 'id', - displayField : 'name', - emptyText : TRANSLATIONS.ID_SELECT, - width : 260, - selectOnFocus : true, - editable : false, - triggerAction : 'all', - mode : 'local' - }); - comboDefaultCasesMenuOption.store.on('load',function(store) { - comboDefaultCasesMenuOption.setValue(store.getAt(0).get('id')); + + baseParams: {"action": "defaultMainMenuOptionList"}, + + reader: new Ext.data.JsonReader({ + fields: [{ + name: "id" + }, { + name: "name" + }] + }) }); - preferencesFields = new Ext.form.FieldSet({ + comboDefaultMainMenuOption = new Ext.form.ComboBox({ + fieldLabel : _("ID_DEFAULT_MAIN_MENU_OPTION"), + hiddenName : "PREF_DEFAULT_MENUSELECTED", + id : "PREF_DEFAULT_MENUSELECTED", + store : storeDefaultMainMenuOption, + valueField : "id", + displayField : "name", + emptyText : TRANSLATIONS.ID_SELECT, + width : 260, + selectOnFocus : true, + editable : false, + triggerAction : "all", + mode : "local" + }); + + storeDefaultCasesMenuOption = new Ext.data.Store({ + proxy: new Ext.data.HttpProxy({ + url: "usersAjax", + method: "POST" + }), + + baseParams: {"action": "defaultCasesMenuOptionList"}, + + reader: new Ext.data.JsonReader({ + fields: [{ + name : "id" + }, { + name : "name" + }] + }) + }); + + comboDefaultCasesMenuOption = new Ext.form.ComboBox({ + fieldLabel : _("ID_DEFAULT_CASES_MENU_OPTION"), + hiddenName : "PREF_DEFAULT_CASES_MENUSELECTED", + id : "PREF_DEFAULT_CASES_MENUSELECTED", + store : storeDefaultCasesMenuOption, + valueField : "id", + displayField : "name", + emptyText : TRANSLATIONS.ID_SELECT, + width : 260, + selectOnFocus : true, + editable : false, + triggerAction : "all", + mode : "local" + }); + + var preferencesFields = new Ext.form.FieldSet({ title : _('ID_PREFERENCES'), // for display or not a preferences FieldSet style : displayPreferences, @@ -693,8 +713,6 @@ Ext.onReady(function() { text : _('ID_SAVE'), id : 'saveB', handler: saveUser - - }, { text : _('ID_CANCEL'), @@ -712,10 +730,8 @@ Ext.onReady(function() { //hidden:readMode } ] - }); - //USERS SUMMARY box2 = new Ext.BoxComponent({ width: 100, @@ -727,12 +743,14 @@ Ext.onReady(function() { src : 'users_ViewPhotoGrid?h=' + Math.random() +'&pUID=' + USR_UID + '', align : 'left'} }); + profileFields2 = new Ext.form.FieldSet({ title : _('ID_PROFILE'), items : [ box2 ] }); + informationFields2 = new Ext.form.FieldSet({ title : _('ID_PERSONAL_INFORMATION'), items : [ @@ -835,6 +853,7 @@ Ext.onReady(function() { ] }); + passwordFields2 = new Ext.form.FieldSet({ title : _('ID_PASSWORD'), items : [ @@ -847,6 +866,7 @@ Ext.onReady(function() { } ] }); + preferencesFields2 = new Ext.form.FieldSet({ title : _('ID_PREFERENCES'), // for display or not a preferences FieldSet @@ -891,17 +911,22 @@ Ext.onReady(function() { handler : editUser, hidden : canEdit } - ] - }); - if (infoMode) { - document.body.appendChild(defineUserPanel()); - frmSumary.render('users-panel'); + if (USR_UID != "") { + //Mode edit + loadUserData(); + } else { + //Mode new + loadData(); } - else { - frmDetails.render(document.body); + + if (infoMode) { + document.body.appendChild(defineUserPanel()); + frmSumary.render('users-panel'); + } else { + frmDetails.render(document.body); } Ext.getCmp('passwordReview').setVisible(false); @@ -921,27 +946,28 @@ Ext.onReady(function() { function defineUserPanel() { - var isIE = ( navigator.userAgent.indexOf('MSIE')>0 ) ? true : false; var eDivPanel = document.createElement("div"); var eDivUsersPanel = document.createElement("div"); eDivPanel.setAttribute('id', 'panel'); eDivUsersPanel.setAttribute('id', 'users-panel'); + if (isIE) { eDivPanel.style.setAttribute('text-align','center'); eDivPanel.style.setAttribute('margin','0px 0px'); eDivUsersPanel.style.setAttribute('width','800px'); eDivUsersPanel.style.setAttribute('margin','0px auto'); eDivUsersPanel.style.setAttribute('text-align','left'); - } - else { + } else { eDivPanel.style.setProperty('text-align','center',null); eDivPanel.style.setProperty('margin','0px 0px',null); eDivUsersPanel.style.setProperty('width','800px',null); eDivUsersPanel.style.setProperty('margin','0px auto',null); eDivUsersPanel.style.setProperty('text-align','left',null); } + eDivPanel.appendChild(eDivUsersPanel); + return eDivPanel; } @@ -963,7 +989,7 @@ function validateUserName() { 'USR_UID' : USR_UID, 'NEW_USERNAME' : usernameText }, - success: function(r,o){ + success: function (r, o) { var resp = Ext.util.JSON.decode(r.responseText); if (resp.exists) { @@ -1024,250 +1050,233 @@ function saveUser() var newPass = frmDetails.getForm().findField('USR_NEW_PASS').getValue(); var confPass = frmDetails.getForm().findField('USR_CNF_PASS').getValue(); - if (confPass === newPass) { - Ext.getCmp('frmDetails').getForm().submit( { + if (confPass === newPass) { + Ext.getCmp('frmDetails').getForm().submit({ url : 'usersAjax', params : { action : 'saveUser', USR_UID : USR_UID, USR_CITY : global.IS_UID }, - waitMsg : _('ID_SAVING_PROCESS'), + waitMsg : _('ID_SAVING'), timeout : 36000, - success : function(obj, resp) { + success : function (obj, resp) { if (!infoMode) { location.href = 'users_List'; - } - else { + } else { location.href = '../users/myInfo?type=reload'; } }, - failure : function(obj, resp) { + failure : function (obj, resp) { if (typeof resp.result == "undefined") { - Ext.Msg.alert( _('ID_ERROR'),_('ID_SOME_FIELDS_REQUIRED')); - } - else{ + Ext.Msg.alert(_('ID_ERROR'), _('ID_SOME_FIELDS_REQUIRED')); + } else{ if (resp.result.msg){ var message = resp.result.msg.split(','); - Ext.Msg.alert( _('ID_WARNING'), ''+message[0]+'

'+message[1]+'

'+message[2]); + Ext.Msg.alert(_('ID_WARNING'), ''+message[0]+'

'+message[1]+'

'+message[2]); } + if (resp.result.fileError) { - Ext.Msg.alert( _('ID_ERROR'),_('ID_FILE_TOO_BIG')); + Ext.Msg.alert(_('ID_ERROR'), _('ID_FILE_TOO_BIG')); } + if (resp.result.error) { - Ext.Msg.alert( _('ID_ERROR'), resp.result.error); + Ext.Msg.alert(_('ID_ERROR'), resp.result.error); } } - } }); } - else - Ext.Msg.alert( _('ID_ERROR'), _('ID_PASSWORDS_DONT_MATCH')); + else { + Ext.Msg.alert(_('ID_ERROR'), _('ID_PASSWORDS_DONT_MATCH')); + } } +//Load data +function loadData() +{ + comboCountry.store.load(); -// Load data for Edit mode + + //comboRegion + + + //comboLocation + + + comboReplacedBy.store.load(); + + + comboCalendar.store.on("load", function (store) { + comboCalendar.setValue(store.getAt(0).get("CALENDAR_UID")); + }); + comboCalendar.store.load(); + + + comboRole.store.on("load", function (store) { + comboRole.setValue(store.getAt(0).get("ROL_UID")); + }); + comboRole.store.load(); + + + comboDefaultMainMenuOption.store.on("load", function (store) { + comboDefaultMainMenuOption.setValue(store.getAt(0).get("id")); + }); + storeDefaultMainMenuOption.load(); + + + comboDefaultCasesMenuOption.store.on("load", function (store) { + comboDefaultCasesMenuOption.setValue(store.getAt(0).get("id")); + }); + storeDefaultCasesMenuOption.load(); +} + +//Load data for Edit mode function loadUserData() { - Ext.Ajax.request({ - url : 'usersAjax', - params : { - 'action' : 'userData', - USR_UID : USR_UID - }, - waitMsg : _('ID_UPLOADING_PROCESS_FILE'), - success : function(r,o){ - var data = Ext.util.JSON.decode(r.responseText); + Ext.Ajax.request({ + url: "usersAjax", + method: "POST", + params: { + "action": "userData", + USR_UID: USR_UID + }, + waitMsg: _("ID_UPLOADING_PROCESS_FILE"), + success: function (r, o) { + var data = Ext.util.JSON.decode(r.responseText); - Ext.getCmp('frmDetails').getForm().setValues({ - USR_FIRSTNAME : data.user.USR_FIRSTNAME, - USR_LASTNAME : data.user.USR_LASTNAME, - USR_USERNAME : data.user.USR_USERNAME, - USR_EMAIL : data.user.USR_EMAIL, - USR_ADDRESS : data.user.USR_ADDRESS, - USR_ZIP_CODE : data.user.USR_ZIP_CODE, - USR_PHONE : data.user.USR_PHONE, - USR_POSITION : data.user.USR_POSITION, - USR_DUE_DATE : data.user.USR_DUE_DATE, - USR_STATUS : data.user.USR_STATUS - }) + Ext.getCmp("frmDetails").getForm().setValues({ + USR_FIRSTNAME : data.user.USR_FIRSTNAME, + USR_LASTNAME : data.user.USR_LASTNAME, + USR_USERNAME : data.user.USR_USERNAME, + USR_EMAIL : data.user.USR_EMAIL, + USR_ADDRESS : data.user.USR_ADDRESS, + USR_ZIP_CODE : data.user.USR_ZIP_CODE, + USR_PHONE : data.user.USR_PHONE, + USR_POSITION : data.user.USR_POSITION, + USR_DUE_DATE : data.user.USR_DUE_DATE, + USR_STATUS : data.user.USR_STATUS + }) + if (infoMode) { + Ext.getCmp("USR_FIRSTNAME2").setText(data.user.USR_FIRSTNAME); + Ext.getCmp("USR_LASTNAME2").setText(data.user.USR_LASTNAME); + Ext.getCmp("USR_USERNAME2").setText(data.user.USR_USERNAME); + Ext.getCmp("USR_EMAIL2").setText(data.user.USR_EMAIL); + Ext.getCmp("USR_ADDRESS2").setText(data.user.USR_ADDRESS); + Ext.getCmp("USR_ZIP_CODE2").setText(data.user.USR_ZIP_CODE); - storeCountry.load({ - params : { - action : 'countryList' + Ext.getCmp("USR_COUNTRY2").setText(data.user.USR_COUNTRY_NAME); + Ext.getCmp("USR_CITY2").setText(data.user.USR_CITY_NAME); + Ext.getCmp("USR_LOCATION2").setText(data.user.USR_LOCATION_NAME); + + Ext.getCmp("USR_PHONE2").setText(data.user.USR_PHONE); + Ext.getCmp("USR_POSITION2").setText(data.user.USR_POSITION); + Ext.getCmp("USR_REPLACED_BY2").setText(data.user.REPLACED_NAME); + Ext.getCmp("USR_DUE_DATE2").setText(data.user.USR_DUE_DATE); + Ext.getCmp("USR_STATUS2").setText(data.user.USR_STATUS); + Ext.getCmp("USR_ROLE2").setText(data.user.USR_ROLE); + + Ext.getCmp("PREF_DEFAULT_MAIN_MENU_OPTION2").setText(data.user.MENUSELECTED_NAME); + Ext.getCmp("PREF_DEFAULT_CASES_MENUSELECTED2").setText(data.user.CASES_MENUSELECTED_NAME); + } else { + // + } + + storeCountry.load(); + + storeRegion.load({ + params: { + IC_UID : data.user.USR_COUNTRY + } + }); + + storeLocation.load({ + params: { + IC_UID : data.user.USR_COUNTRY, + IS_UID : data.user.USR_CITY + } + }); + + storeReplacedBy.load(); + + storeCalendar.load(); + + storeRole.load(); + + storeDefaultMainMenuOption.load(); + + storeDefaultCasesMenuOption.load(); + + comboCountry.store.on("load", function(store) { + comboCountry.setValue(data.user.USR_COUNTRY); + }); + + global.IC_UID = data.user.USR_COUNTRY; + + comboRegion.store.on("load", function (store) { + comboRegion.setValue(data.user.USR_CITY); + }); + + global.IS_UID = data.user.USR_CITY; + + comboLocation.store.on("load", function (store) { + comboLocation.setValue(data.user.USR_LOCATION); + }); + + comboReplacedBy.store.on("load", function (store) { + comboReplacedBy.setValue(data.user.USR_REPLACED_BY); + }); + + comboCalendar.store.on("load", function (store) { + comboCalendar.setValue(data.user.USR_CALENDAR); + }); + + comboRole.store.on("load", function (store) { + comboRole.setValue(data.user.USR_ROLE); + }); + + if (infoMode) { + comboDefaultMainMenuOption.store.on("load", function (store) { + comboDefaultMainMenuOption.setValue(data.user.PREF_DEFAULT_MENUSELECTED); + }); + + comboDefaultCasesMenuOption.store.on("load", function (store) { + comboDefaultCasesMenuOption.setValue(data.user.PREF_DEFAULT_CASES_MENUSELECTED); + }); + } else { + comboDefaultMainMenuOption.store.on("load", function (store) { + comboDefaultMainMenuOption.setValue(store.getAt(0).get("id")); + }); + + comboDefaultCasesMenuOption.store.on("load", function (store) { + comboDefaultCasesMenuOption.setValue(store.getAt(0).get("id")); + }); + } + + previousUsername = Ext.getCmp("USR_USERNAME").getValue(); + }, + failure: function (r, o) { + //viewport.getEl().unmask(); } - }); - - storeRegion.load({ - params : { - action : 'stateList', - IC_UID : data.user.USR_COUNTRY - } - }); - - storelocation.load({ - params : { - action : 'locationList', - IC_UID : data.user.USR_COUNTRY, - IS_UID : data.user.USR_CITY - } - }); - comboCountry.store.on('load',function(store) { - comboCountry.setValue(data.user.USR_COUNTRY); - }); - global.IC_UID = data.user.USR_COUNTRY; - - comboRegion.store.on('load',function(store) { - comboRegion.setValue(data.user.USR_CITY); - }); - - global.IS_UID = data.user.USR_CITY; - comboLocation.store.on('load',function(store) { - comboLocation.setValue(data.user.USR_LOCATION); - }); - - comboReplacedBy.store.on('load',function(store) { - comboReplacedBy.setValue(data.user.USR_REPLACED_BY); - }); - comboRole.store.on('load',function(store) { - comboRole.setValue(data.user.USR_ROLE); - }); - comboCalendar.store.on('load',function(store) { - comboCalendar.setValue(data.user.USR_CALENDAR); - }); - - previousUsername = Ext.getCmp('USR_USERNAME').getValue(); - - }, - - failure : function(r, o) { - //viewport.getEl().unmask(); - } - }); + }); } -// Load data for Edit mode -function loadUserView() + +function userExecuteEvent(element, event) { - Ext.Ajax.request({ - url : 'usersAjax', - params : { - 'action' : 'userData', - USR_UID : USR_UID - }, - waitMsg : _('ID_UPLOADING_PROCESS_FILE'), - success : function(r,o){ - var data = Ext.util.JSON.decode(r.responseText); + if (document.createEventObject) { + //IE + var evt = document.createEventObject(); - Ext.getCmp('frmDetails').getForm().setValues({ - USR_FIRSTNAME : data.user.USR_FIRSTNAME, - USR_LASTNAME : data.user.USR_LASTNAME, - USR_USERNAME : data.user.USR_USERNAME, - USR_EMAIL : data.user.USR_EMAIL, - USR_ADDRESS : data.user.USR_ADDRESS, - USR_ZIP_CODE : data.user.USR_ZIP_CODE, - USR_PHONE : data.user.USR_PHONE, - USR_POSITION : data.user.USR_POSITION, - USR_DUE_DATE : data.user.USR_DUE_DATE, - USR_STATUS : data.user.USR_STATUS - }); - Ext.getCmp('USR_FIRSTNAME2').setText(data.user.USR_FIRSTNAME); - Ext.getCmp('USR_LASTNAME2').setText(data.user.USR_LASTNAME); - Ext.getCmp('USR_USERNAME2').setText(data.user.USR_USERNAME); - Ext.getCmp('USR_EMAIL2').setText(data.user.USR_EMAIL); - Ext.getCmp('USR_ADDRESS2').setText(data.user.USR_ADDRESS); - Ext.getCmp('USR_ZIP_CODE2').setText(data.user.USR_ZIP_CODE); + return element.fireEvent("on" + event, evt) + } else { + //Firefox + Others + var evt = document.createEvent("HTMLEvents"); + evt.initEvent(event, true, true); //event type,bubbling,cancelable - Ext.getCmp('USR_COUNTRY2').setText(data.user.USR_COUNTRY_NAME); - Ext.getCmp('USR_CITY2').setText(data.user.USR_CITY_NAME); - Ext.getCmp('USR_LOCATION2').setText(data.user.USR_LOCATION_NAME); - - Ext.getCmp('USR_PHONE2').setText(data.user.USR_PHONE); - Ext.getCmp('USR_POSITION2').setText(data.user.USR_POSITION); - Ext.getCmp('USR_REPLACED_BY2').setText(data.user.REPLACED_NAME); - Ext.getCmp('USR_DUE_DATE2').setText(data.user.USR_DUE_DATE); - Ext.getCmp('USR_STATUS2').setText(data.user.USR_STATUS); - Ext.getCmp('USR_ROLE2').setText(data.user.USR_ROLE); - - - Ext.getCmp('PREF_DEFAULT_MAIN_MENU_OPTION2').setText(data.user.MENUSELECTED_NAME); - Ext.getCmp('PREF_DEFAULT_CASES_MENUSELECTED2').setText(data.user.CASES_MENUSELECTED_NAME); - - storeCountry.load({ - params : { - action : 'countryList' - } - }); - - storeRegion.load({ - params : { - action : 'stateList', - IC_UID : data.user.USR_COUNTRY - } - }); - - storelocation.load({ - params : { - action : 'locationList', - IC_UID : data.user.USR_COUNTRY, - IS_UID : data.user.USR_CITY - } - }); - comboCountry.store.on('load',function(store) { - comboCountry.setValue(data.user.USR_COUNTRY); - }); - global.IC_UID = data.user.USR_COUNTRY; - - comboRegion.store.on('load',function(store) { - comboRegion.setValue(data.user.USR_CITY); - }); - - global.IS_UID = data.user.USR_CITY; - comboLocation.store.on('load',function(store) { - comboLocation.setValue(data.user.USR_LOCATION); - }); - - comboReplacedBy.store.on('load',function(store) { - comboReplacedBy.setValue(data.user.USR_REPLACED_BY); - }); - comboRole.store.on('load',function(store) { - comboRole.setValue(data.user.USR_ROLE); - }); - comboCalendar.store.on('load',function(store) { - comboCalendar.setValue(data.user.USR_CALENDAR); - }); - - //for preferences on the configurations table - comboDefaultMainMenuOption.store.on('load',function(store) { - comboDefaultMainMenuOption.setValue(data.user.PREF_DEFAULT_MENUSELECTED); - }); - comboDefaultCasesMenuOption.store.on('load',function(store) { - //comboDefaultCasesMenuOption.setValue(''); - comboDefaultCasesMenuOption.setValue(data.user.PREF_DEFAULT_CASES_MENUSELECTED); - }); - - previousUsername = Ext.getCmp('USR_USERNAME').getValue(); - }, - failure:function(r,o) { - //viewport.getEl().unmask(); + return !element.dispatchEvent(evt); } - }); - } - -function userExecuteEvent (element,event) { - if ( document.createEventObject ) { - // IE - var evt = document.createEventObject(); - return element.fireEvent('on'+event,evt) - } else { - // firefox + others - var evt = document.createEvent("HTMLEvents"); - evt.initEvent(event, true, true ); // event type,bubbling,cancelable - return !element.dispatchEvent(evt); - } -} \ No newline at end of file