From bd07f591dcd8ca33fa5459b5ec5af5c498398559 Mon Sep 17 00:00:00 2001 From: Enrique Ponce de Leon Date: Fri, 18 Feb 2011 16:00:32 +0000 Subject: [PATCH] Environment Settings Update --- .../engine/classes/class.configuration.php | 4 +- .../methods/setup/environmentSettings.php | 45 +- .../templates/setup/environmentSettings.js | 498 +++++++++--------- 3 files changed, 266 insertions(+), 281 deletions(-) diff --git a/workflow/engine/classes/class.configuration.php b/workflow/engine/classes/class.configuration.php index 678c3ce20..8452d6cd3 100644 --- a/workflow/engine/classes/class.configuration.php +++ b/workflow/engine/classes/class.configuration.php @@ -291,10 +291,10 @@ class Configurations // extends Configuration function getFormats(){ if (!isset($this->UserConfig)) $this->UserConfig = $this->getConfiguration('ENVIRONMENT_SETTINGS', ''); $formats = Array(); - $formats['FullNameFormat'] = isset($this->UserConfig['format']) ? $this->UserConfig['format'] : '@lastName @firstName (@userName)'; + $formats['FullNameFormat'] = isset($this->UserConfig['format']) ? $this->UserConfig['format'] : '@lastName, @firstName (@userName)'; $formats['DateFormat'] = isset($this->UserConfig['dateFormat']) ? $this->UserConfig['dateFormat'] : 'm/d/Y'; $formats['CasesListDateFormat'] = isset($this->UserConfig['casesListDateFormat']) ? $this->UserConfig['casesListDateFormat'] : 'm/d/Y'; - $formats['CasesListRowNumber'] = isset($this->UserConfig['casesListRowNumber']) ? $this->UserConfig['casesListRowNumber'] : 10; + $formats['CasesListRowNumber'] = isset($this->UserConfig['casesListRowNumber']) ? $this->UserConfig['casesListRowNumber'] : '10'; $formats['TimeZone'] = date('T'); return $formats; } diff --git a/workflow/engine/methods/setup/environmentSettings.php b/workflow/engine/methods/setup/environmentSettings.php index 6c0335795..0a8c09df3 100755 --- a/workflow/engine/methods/setup/environmentSettings.php +++ b/workflow/engine/methods/setup/environmentSettings.php @@ -1,30 +1,31 @@ loadConfig($obj, 'ENVIRONMENT_SETTINGS',''); + $c = new Configurations; + //$oConf->loadConfig($obj, 'ENVIRONMENT_SETTINGS',''); //translations array - $translations = G::getTranslations(Array( - 'ID_PM_ENV_SETTINGS_TITLE', 'ID_PM_ENV_SETTINGS_USERFIELDSET_TITLE', 'IS_USER_NAME_DISPLAY_FORMAT', 'ID_SAVE_SETTINGS', - 'ID_LAN_UPDATE_DATE', 'ID_SAVING_ENVIRONMENT_SETTINGS', 'ID_ENVIRONMENT_SETTINGS_MSG_1', - 'ID_PM_ENV_SETTINGS_REGIONFIELDSET_TITLE', 'ID_GLOBAL_DATE_FORMAT', 'ID_PM_ENV_SETTINGS_CASESLIST_TITLE', 'ID_CASES_ROW_NUMBER', 'ID_CASES_DATE_MASK' - )); - $defaultOption = isset($oConf->aConfig['format'])? $oConf->aConfig['format']: ''; - $defaultDateOption = isset($oConf->aConfig['dateFormat'])? $oConf->aConfig['dateFormat']: ''; - $defaultCasesListDateOption = isset($oConf->aConfig['casesListDateFormat'])? $oConf->aConfig['casesListDateFormat']: ''; - $defaultCasesListRowOption = isset($oConf->aConfig['casesListRowNumber']) ? $oConf->aConfig['casesListRowNumber'] : ''; - +// $translations = G::getTranslations(Array( +// 'ID_PM_ENV_SETTINGS_TITLE', 'ID_PM_ENV_SETTINGS_USERFIELDSET_TITLE', 'IS_USER_NAME_DISPLAY_FORMAT', 'ID_SAVE_SETTINGS', +// 'ID_LAN_UPDATE_DATE', 'ID_SAVING_ENVIRONMENT_SETTINGS', 'ID_ENVIRONMENT_SETTINGS_MSG_1', +// 'ID_PM_ENV_SETTINGS_REGIONFIELDSET_TITLE', 'ID_GLOBAL_DATE_FORMAT', 'ID_PM_ENV_SETTINGS_CASESLIST_TITLE', 'ID_CASES_ROW_NUMBER', 'ID_CASES_DATE_MASK' +// )); +// $defaultOption = isset($oConf->aConfig['format'])? $oConf->aConfig['format']: ''; +// $defaultDateOption = isset($oConf->aConfig['dateFormat'])? $oConf->aConfig['dateFormat']: ''; +// $defaultCasesListDateOption = isset($oConf->aConfig['casesListDateFormat'])? $oConf->aConfig['casesListDateFormat']: ''; +// $defaultCasesListRowOption = isset($oConf->aConfig['casesListRowNumber']) ? $oConf->aConfig['casesListRowNumber'] : ''; +// $oHeadPublisher =& headPublisher::getSingleton(); $oHeadPublisher->addExtJsScript('setup/environmentSettings', false ); - $oHeadPublisher->assign('default_format', $defaultOption); - $oHeadPublisher->assign('default_date_format', $defaultDateOption); - $oHeadPublisher->assign('default_caseslist_date_format', $defaultCasesListDateOption); - $oHeadPublisher->assign('default_caseslist_row_number', $defaultCasesListRowOption); - - - - $oHeadPublisher->assign('dateFormatsList', Configurations::getDateFormats()); - - $oHeadPublisher->assign('TRANSLATIONS', $translations); +// $oHeadPublisher->assign('default_format', $defaultOption); +// $oHeadPublisher->assign('default_date_format', $defaultDateOption); +// $oHeadPublisher->assign('default_caseslist_date_format', $defaultCasesListDateOption); +// $oHeadPublisher->assign('default_caseslist_row_number', $defaultCasesListRowOption); +// +// +// +// $oHeadPublisher->assign('dateFormatsList', Configurations::getDateFormats()); +// +// $oHeadPublisher->assign('TRANSLATIONS', $translations); + $oHeadPublisher->assign('FORMATS',$c->getFormats()); G::RenderPage('publish', 'extJs'); \ No newline at end of file diff --git a/workflow/engine/templates/setup/environmentSettings.js b/workflow/engine/templates/setup/environmentSettings.js index b571fd9eb..334efd932 100755 --- a/workflow/engine/templates/setup/environmentSettings.js +++ b/workflow/engine/templates/setup/environmentSettings.js @@ -1,310 +1,294 @@ +var formSettings; +var fsSamples; +var fsNames; +var fsDates; +var fsCases; +var _firstName, _lastName, _userName, _dateSample; + Ext.onReady(function() { - Ext.QuickTips.init(); - Ext.form.Field.prototype.msgTarget = 'side'; - var fsf = new Ext.FormPanel( { - labelWidth : 170, // label settings here cascade unless overridden - labelAlign: 'right', - url : '', - frame : true, - title : TRANSLATIONS.ID_PM_ENV_SETTINGS_TITLE, - bodyStyle : 'padding:5px 5px 0', - width : 500, - - items : [], - buttons : [ - { - text : TRANSLATIONS.ID_SAVE_SETTINGS, - disabled : false, - handler : function() { - fsf.getForm().submit( { - url : 'environmentSettingsAjax?request=save&r=' + Math.random(), - waitMsg : TRANSLATIONS.ID_SAVING_ENVIRONMENT_SETTINGS+'...', - timeout : 36000, - success : function(res, req) { - Ext.MessageBox.show({ title: '', msg: req.result.msg, buttons: - Ext.MessageBox.OK, animEl: 'mb9', fn: function(){}, icon: - Ext.MessageBox.INFO }); setTimeout(function(){ - Ext.MessageBox.hide(); }, 2000); - } - }); - } - } - ] + _firstName = 'John'; + _lastName = 'Deere'; + _userName = 'johndeere'; + _dateSample = '2011-02-17 19:15:38'; + + fsSample = new Ext.form.FieldSet({ + title: _('ID_SAMPLES'), + labelWidth: 250, + autoHeight: true, + items: [ + {xtype: 'label', fieldLabel: _('IS_USER_NAME_DISPLAY_FORMAT'), id: 'lblFullName', width: 400}, + {xtype: 'label', fieldLabel: _('ID_GLOBAL_DATE_FORMAT'), id: 'lblDateFormat', width: 400}, + {xtype: 'label', fieldLabel: _('ID_CASE_LIST') +': '+_('ID_CASES_DATE_MASK'), id: 'lblCasesDateFormat', width: 400}, + {xtype: 'label', fieldLabel: _('ID_CASE_LIST') +': '+_('ID_CASES_ROW_NUMBER'), id: 'lblCasesRowsList', width: 400} + ] }); - var fieldset; - var fieldsetCasesList; - - var cmbUsernameFormats = new Ext.form.ComboBox({ - fieldLabel : TRANSLATIONS.IS_USER_NAME_DISPLAY_FORMAT, - hiddenName : 'userFormat', - store : new Ext.data.Store( { - proxy : new Ext.data.HttpProxy( { - url : 'environmentSettingsAjax', - method : 'POST' - }), - baseParams : { - request : 'getUserMaskList' - }, - reader : new Ext.data.JsonReader( { - root : 'rows', - fields : [ { - name : 'id' - }, { - name : 'name' - } ] - }), - listeners:{ - load: function(){ - i = cmbUsernameFormats.store.findExact('id', default_format, 0); - cmbUsernameFormats.setValue(cmbUsernameFormats.store.getAt(i).data.id); - cmbUsernameFormats.setRawValue(cmbUsernameFormats.store.getAt(i).data.name); - } - } - }), - - valueField : 'id', - displayField : 'name', - triggerAction : 'all', - emptyText : 'Select', - selectOnFocus : true, - editable : false, - allowBlank : false, - allowBlankText : TRANSLATIONS.ID_ENVIRONMENT_SETTINGS_MSG_1, - mode:'local', + + storeUsernameFormat = new Ext.data.GroupingStore({ + proxy : new Ext.data.HttpProxy({ + url: 'environmentSettingsAjax?request=getUserMaskList' + }), + reader : new Ext.data.JsonReader({ + root: 'rows', + fields : [ + {name : 'id'}, + {name : 'name'} + ] + }), listeners:{ - afterrender:function(){ - cmbUsernameFormats.store.load(); + load: function(){ + default_format = FORMATS.FullNameFormat; + i = cmbUsernameFormats.store.findExact('id', default_format, 0); + cmbUsernameFormats.setValue(cmbUsernameFormats.store.getAt(i).data.id); + cmbUsernameFormats.setRawValue(cmbUsernameFormats.store.getAt(i).data.name); } } }); - - var cmbDateFormats = new Ext.form.ComboBox({ - fieldLabel : TRANSLATIONS.ID_GLOBAL_DATE_FORMAT, - hiddenName : 'dateFormat', - store : new Ext.data.Store( { - proxy : new Ext.data.HttpProxy( { - url : 'environmentSettingsAjax', - method : 'POST' - }), - baseParams : { - request : 'getDateFormats' + + cmbUsernameFormats = new Ext.form.ComboBox({ + fieldLabel : _('IS_USER_NAME_DISPLAY_FORMAT'), + hiddenName : 'userFormat', + store : storeUsernameFormat, + valueField : 'id', + displayField : 'name', + triggerAction : 'all', + emptyText : _('ID_SELECT'), + //selectOnFocus : true, + editable : false, + allowBlank : false, + allowBlankText : _('ID_ENVIRONMENT_SETTINGS_MSG_1'), + mode:'local', + width: 400, + listeners:{ + afterrender:function(){ + cmbUsernameFormats.store.load(); }, - reader : new Ext.data.JsonReader( { - root : 'rows', - fields : [ { - name : 'id' - }, { - name : 'name' - } ] - }), - listeners:{ - load: function(){ - i = cmbDateFormats.store.findExact('id', default_date_format, 0); - cmbDateFormats.setValue(cmbDateFormats.store.getAt(i).data.id); - cmbDateFormats.setRawValue(cmbDateFormats.store.getAt(i).data.name); - } - } + select: function(){ChangeSettings('1');} + } + }); + + storeDateFormat = new Ext.data.Store( { + proxy : new Ext.data.HttpProxy( { + url : 'environmentSettingsAjax?request=getDateFormats', + method : 'POST' }), + reader: new Ext.data.JsonReader( { + root: 'rows', + fields: [ + {name : 'id'}, + {name : 'name'} + ] + }), + listeners:{ + load: function(){ + default_date_format = FORMATS.DateFormat, + i = cmbDateFormats.store.findExact('id', default_date_format, 0); + cmbDateFormats.setValue(cmbDateFormats.store.getAt(i).data.id); + cmbDateFormats.setRawValue(cmbDateFormats.store.getAt(i).data.name); + } + } + }); + + cmbDateFormats = new Ext.form.ComboBox({ + fieldLabel : _('ID_GLOBAL_DATE_FORMAT'), + hiddenName : 'dateFormat', + store : storeDateFormat, mode: 'remote', valueField : 'id', displayField : 'name', triggerAction : 'all', - emptyText : 'Select', + emptyText : _('ID_SELECT'), selectOnFocus : true, editable : false, allowBlank : false, - allowBlankText : TRANSLATIONS.ID_ENVIRONMENT_SETTINGS_MSG_1, + width: 300, + allowBlankText : _('ID_ENVIRONMENT_SETTINGS_MSG_1'), mode:'local', listeners:{ afterrender:function(){ cmbDateFormats.store.load(); - } + }, + select: function(){ChangeSettings('2');} } }); - - var cmbCasesDateFormats = new Ext.form.ComboBox({ - fieldLabel : TRANSLATIONS.ID_CASES_DATE_MASK, - hiddenName : 'casesListDateFormat', - - store : new Ext.data.Store( { - proxy : new Ext.data.HttpProxy( { - url : 'environmentSettingsAjax', - method : 'POST' - }), - baseParams : { - request : 'getCasesListDateFormat' - }, - reader : new Ext.data.JsonReader( { - root : 'rows', - fields : [ { - name : 'id' - }, { - name : 'name' - } ] - }), - listeners:{ - load: function(){ - i = cmbCasesDateFormats.store.findExact('id', default_caseslist_date_format, 0); - cmbCasesDateFormats.setValue(cmbCasesDateFormats.store.getAt(i).data.id); - cmbCasesDateFormats.setRawValue(cmbCasesDateFormats.store.getAt(i).data.name); - } - } + + storeCaseUserNameFormat = new Ext.data.Store( { + proxy : new Ext.data.HttpProxy({ + url : 'environmentSettingsAjax?request=getCasesListDateFormat', + method : 'POST' }), - + reader: new Ext.data.JsonReader({ + root: 'rows', + fields: [ + {name: 'id'}, + {name : 'name'} + ] + }), + listeners:{ + load: function(){ + default_caseslist_date_format = FORMATS.CasesListDateFormat; + i = cmbCasesDateFormats.store.findExact('id', default_caseslist_date_format, 0); + cmbCasesDateFormats.setValue(cmbCasesDateFormats.store.getAt(i).data.id); + cmbCasesDateFormats.setRawValue(cmbCasesDateFormats.store.getAt(i).data.name); + } + } + }); + + cmbCasesDateFormats = new Ext.form.ComboBox({ + fieldLabel : _('ID_CASES_DATE_MASK'), + hiddenName : 'casesListDateFormat', + store : storeCaseUserNameFormat, valueField : 'id', displayField : 'name', triggerAction : 'all', - emptyText : 'Select', - selectOnFocus : true, + emptyText : _('ID_SELECT'), + //selectOnFocus : true, editable : false, allowBlank : false, - - allowBlankText : TRANSLATIONS.ID_ENVIRONMENT_SETTINGS_MSG_1, + width: 300, + allowBlankText : _('ID_ENVIRONMENT_SETTINGS_MSG_1'), mode:'local', listeners:{ afterrender:function(){ cmbCasesDateFormats.store.load(); - } + }, + select: function(){ChangeSettings('3');} } }); + + storeCaseListNumber = new Ext.data.Store({ + proxy : new Ext.data.HttpProxy( { + url : 'environmentSettingsAjax?request=getCasesListRowNumber', + method : 'POST' + }), + reader: new Ext.data.JsonReader( { + root: 'rows', + fields :[ + {name : 'id'}, + {name : 'name'} + ] + }), + listeners:{ + load: function(){ + default_caseslist_row_number = FORMATS.CasesListRowNumber; + i = cmbCasesRowsPerPage.store.findExact('id', default_caseslist_row_number, 0); + if( i != -1 ){ + cmbCasesRowsPerPage.setValue(cmbCasesRowsPerPage.store.getAt(i).data.id); + cmbCasesRowsPerPage.setRawValue(cmbCasesRowsPerPage.store.getAt(i).data.name); + } + } + } + }); - var cmbCasesRowsPerPage = new Ext.form.ComboBox({ - fieldLabel : TRANSLATIONS.ID_CASES_ROW_NUMBER, + cmbCasesRowsPerPage = new Ext.form.ComboBox({ + fieldLabel : _('ID_CASES_ROW_NUMBER'), hiddenName : 'casesListRowNumber', - store : new Ext.data.Store( { - proxy : new Ext.data.HttpProxy( { - url : 'environmentSettingsAjax', - method : 'POST' - }), - baseParams : { - request : 'getCasesListRowNumber' - }, - reader : new Ext.data.JsonReader( { - root : 'rows', - fields : [ { - name : 'id' - }, { - name : 'name' - } ] - }), - listeners:{ - load: function(){ - i = cmbCasesRowsPerPage.store.findExact('id', default_caseslist_row_number, 0); - if( i != -1 ){ - cmbCasesRowsPerPage.setValue(cmbCasesRowsPerPage.store.getAt(i).data.id); - cmbCasesRowsPerPage.setRawValue(cmbCasesRowsPerPage.store.getAt(i).data.name); - } - } - } - }), - + store : storeCaseListNumber, valueField : 'id', displayField : 'name', triggerAction : 'all', - emptyText : 'Select', - selectOnFocus : true, - editable : true, + emptyText : _('ID_SELECT'), + //selectOnFocus : true, + editable : false, allowBlank : false, - allowBlankText : TRANSLATIONS.ID_ENVIRONMENT_SETTINGS_MSG_1, + width: 100, + allowBlankText : _('ID_ENVIRONMENT_SETTINGS_MSG_1'), mode:'local', - vtype: 'numeric', listeners:{ afterrender:function(){ cmbCasesRowsPerPage.store.load(); - } + }, + select: function(){ChangeSettings('4');} + } + }); + + fsNames = new Ext.form.FieldSet({ + title: _('ID_PM_ENV_SETTINGS_USERFIELDSET_TITLE'), + labelAlign: 'right', + items: [cmbUsernameFormats] + }); + + fsDates = new Ext.form.FieldSet({ + title: _('ID_PM_ENV_SETTINGS_REGIONFIELDSET_TITLE'), + labelAlign: 'right', + items: [cmbDateFormats] + }); + + fsCases = new Ext.form.FieldSet({ + title: _('ID_PM_ENV_SETTINGS_CASESLIST_TITLE'), + labelAlign: 'right', + items: [cmbCasesDateFormats,cmbCasesRowsPerPage] + }); + + saveButton = new Ext.Action({ + text : _('ID_SAVE_SETTINGS'), + disabled : true, + handler : function() { + formSettings.getForm().submit({ + url : 'environmentSettingsAjax?request=save&r=' + Math.random(), + waitMsg : _('ID_SAVING_ENVIRONMENT_SETTINGS')+'...', + timeout : 36000, + success : function(res, req) { + PMExt.notify(_('ID_PM_ENV_SETTINGS_TITLE'), req.result.msg); + saveButton.disable(); + } + }); } }); - - fieldset = { - xtype : 'fieldset', - title : TRANSLATIONS.ID_PM_ENV_SETTINGS_USERFIELDSET_TITLE, - collapsible : false, - autoHeight : true, - defaults : { - width : 250 - }, - defaultType : 'textfield', - items : [cmbUsernameFormats] - } - fieldset2 = { - xtype : 'fieldset', - title : TRANSLATIONS.ID_PM_ENV_SETTINGS_REGIONFIELDSET_TITLE, - collapsible : false, - autoHeight : true, - defaults : { - width : 250 - }, - defaultType : 'textfield', - items : [cmbDateFormats] - } + formSettings = new Ext.FormPanel( { + region: 'center', + labelWidth : 170, // label settings here cascade unless overridden + //labelAlign: 'right', + frame : true, + title : _('ID_PM_ENV_SETTINGS_TITLE'), + //bodyStyle : 'padding:5px 5px 0', + autoWidth : true, + autoScroll: true, - fieldsetCasesList = { - xtype : 'fieldset', - title : TRANSLATIONS.ID_PM_ENV_SETTINGS_CASESLIST_TITLE, - collapsible : false, - autoHeight : true, - defaults : { - width : 250 - }, - defaultType : 'textfield', - items : [cmbCasesDateFormats,cmbCasesRowsPerPage] - } + items : [fsSample,fsNames,fsDates, fsCases], + buttons : [saveButton] + }); + + LoadSamples(); - fsf.add(fieldset); - fsf.add(fieldset2); - fsf.add(fieldsetCasesList); - cmbUsernameFormats.setValue(default_format); - cmbDateFormats.selectByValue(default_date_format); - cmbCasesDateFormats.setValue(default_caseslist_date_format); - cmbCasesRowsPerPage.setValue(default_caseslist_row_number); - - fsf.render(document.body); + viewport = new Ext.Viewport({ + layout: 'fit', + autoScroll: false, + items: [ + formSettings + ] + }); }); +//Load Samples Label +LoadSamples = function(){ + Ext.getCmp('lblFullName').setText(_FNF(_userName,_firstName,_lastName)); + Ext.getCmp('lblDateFormat').setText(_DF(_dateSample)); + Ext.getCmp('lblCasesDateFormat').setText(_DF(_dateSample,FORMATS.CasesListDateFormat)); + Ext.getCmp('lblCasesRowsList').setText(FORMATS.CasesListRowNumber); +}; - -Ext.apply(Ext.form.VTypes, { - // Password Check - passwordText: 'The passwords entered do not match.', - password: function(value, field) { - var valid = false; - if (field.matches) { - var otherField = Ext.getCmp(field.matches); - if (value == otherField.getValue()) { - otherField.clearInvalid(); - valid = true; - } - } - return valid; - }, - // Phone Number check - phoneText: "Not a valid phone number. Must be in the following format: 123-4567 or 123-456-7890.", - phoneMask: /[d-]/, - phoneRe: /^(d{3}[-]?){1,2}(d{4})$/, - phone: function(v) { - return this.phoneRe.test(v); - }, - // Email address check - emailText: "Not a valid email address. Must be in the following format: yourname@company.domain", - emailRe: /^(\s*[a-zA-Z0-9\._%-]+@[a-zA-Z0-9\.-]+\.[a-zA-Z]{2,4})\s*$/, - email: function(v) { - return this.emailRe.test(v); - }, - // Numeric check - numericText: "Only numbers are allowed.", - numericMask: /[0-9]/, - numericRe: /[0-9]/, - numeric: function(v) { - return this.numericRe.test(v); - }, - // Decimal Number check - decNumText: "Only decimal numbers are allowed.", - decNumMask: /(d|.)/, - decNumRe: /d+.d+|d+/, - decNum: function(v) { - return this.decNumRe.test(v); - } - }); +//Change Some Setting +ChangeSettings = function(iType){ + saveButton.enable(); + switch (iType){ + case '1': + _format = cmbUsernameFormats.getValue(); + Ext.getCmp('lblFullName').setText(_FNF(_userName,_firstName,_lastName, _format)); + break; + case '2': + _format = cmbDateFormats.getValue(); + Ext.getCmp('lblDateFormat').setText(_DF(_dateSample,_format)); + break; + case '3': + _format = cmbCasesDateFormats.getValue(); + Ext.getCmp('lblCasesDateFormat').setText(_DF(_dateSample,_format)); + break; + case '4': + _format = cmbCasesRowsPerPage.getValue(); + Ext.getCmp('lblCasesRowsList').setText(_format); + break; + } +};