From 239c6d5e50cee827bf9f8ce9a148d5d815de0ff9 Mon Sep 17 00:00:00 2001 From: Marco Antonio Nina Mena Date: Wed, 6 May 2015 17:59:20 -0400 Subject: [PATCH] improvement form dashboard validation title --- workflow/engine/classes/model/Dashboard.php | 3 +++ .../strategicDashboard/formDashboard.js | 25 ++++++++++++++----- workflow/engine/templates/users/users.js | 9 +++++-- 3 files changed, 29 insertions(+), 8 deletions(-) diff --git a/workflow/engine/classes/model/Dashboard.php b/workflow/engine/classes/model/Dashboard.php index accfd8f48..fb38e1778 100644 --- a/workflow/engine/classes/model/Dashboard.php +++ b/workflow/engine/classes/model/Dashboard.php @@ -44,7 +44,10 @@ class Dashboard extends BaseDashboard $dashboard = DashboardPeer::retrieveByPK($data['DAS_UID']); } + G::LoadSystem('inputfilter'); + $filter = new InputFilter(); $data['DAS_UPDATE_DATE'] = date('Y-m-d H:i:s'); + $data['DAS_TITLE'] = $filter ->validateInput($data['DAS_TITLE'], "string"); $dashboard->fromArray($data, BasePeer::TYPE_FIELDNAME); if ($dashboard->validate()) { $connection->begin(); diff --git a/workflow/engine/templates/strategicDashboard/formDashboard.js b/workflow/engine/templates/strategicDashboard/formDashboard.js index b98ddf517..cb43bb6b7 100644 --- a/workflow/engine/templates/strategicDashboard/formDashboard.js +++ b/workflow/engine/templates/strategicDashboard/formDashboard.js @@ -81,8 +81,8 @@ Ext.onReady( function() { xtype : 'textfield', anchor : '85%', maxLength : 250, - maskRe : /([a-zA-Z0-9_'\s]+)$/, - regex : /([a-zA-Z0-9_'\s]+)$/, + maskRe : /^([a-zA-Z0-9_'\s]+)$/i, + regex : /^([a-zA-Z0-9_'\s]+)$/i, regexText : _('ID_INVALID_VALUE', _('ID_DASHBOARD_TITLE')), allowBlank : false }, @@ -752,8 +752,8 @@ var addTab = function (flag) { id : 'IND_TITLE_'+ indexTab, xtype : 'textfield', anchor : '85%', - maskRe : /([a-zA-Z0-9_'\s]+)$/, - regex : /([a-zA-Z0-9_'\s]+)$/, + maskRe : /^([a-zA-Z0-9_'\s]+)$/, + regex : /^([a-zA-Z0-9_'\s]+)$/, regexText : _('ID_INVALID_VALUE', _('ID_INDICATOR_TITLE')), maxLength : 250, allowBlank : false @@ -1040,10 +1040,14 @@ var validateNameDashboard = function () { var saveDashboard = function () { var title = Ext.getCmp('DAS_TITLE').getValue(); var data = {}; - if (title == '') { + if (title == '' ) { PMExt.warning(_('ID_DASHBOARD'), _('ID_DASHBOARD_TITLE') + ' '+ _('ID_IS_REQUIRED')); Ext.getCmp('DAS_TITLE').focus(true,10); return false; + } else if (!Ext.getCmp('DAS_TITLE').isValid()) { + PMExt.warning(_('ID_DASHBOARD'), _('ID_INVALID_VALUE', _('ID_DASHBOARD_TITLE'))); + Ext.getCmp('DAS_TITLE').focus(true,10); + return false; } data['DAS_TITLE'] = title; var description = Ext.getCmp('DAS_DESCRIPTION').getValue(); @@ -1111,6 +1115,10 @@ var saveAllIndicators = function (DAS_UID) { PMExt.warning(_('ID_DASHBOARD'), _('ID_INDICATOR_TITLE_REQUIRED', tabPanel.getItem(tabActivate[tab]).title)); fieldsTab[1].focus(true,10); return false; + } else if (!fieldsTab[1].isValid()) { + PMExt.warning(_('ID_DASHBOARD'), _('ID_INVALID_VALUE', _('ID_INDICATOR_TITLE'))); + fieldsTab[1].focus(true,10); + return false; } else if (fieldsTab[2].getValue().trim() == '') { PMExt.warning(_('ID_DASHBOARD'), _('ID_INDICATOR_TYPE_REQUIRED', tabPanel.getItem(tabActivate[tab]).title)); fieldsTab[2].focus(true,10); @@ -1279,6 +1287,11 @@ var loadIndicators = function (DAS_UID) { }); }; +function converter(str) { + str = str.replace(/'/g, "'"); + return str; +} + var loadInfoDashboard = function (DAS_UID) { Ext.Ajax.request({ url : urlProxy + 'dashboard/' + DAS_UID, @@ -1289,7 +1302,7 @@ var loadInfoDashboard = function (DAS_UID) { }, success: function (response) { var jsonResp = Ext.util.JSON.decode(response.responseText); - Ext.getCmp('DAS_TITLE').setValue(jsonResp['DAS_TITLE']); + Ext.getCmp('DAS_TITLE').setValue(converter(jsonResp['DAS_TITLE'])); Ext.getCmp('DAS_DESCRIPTION').setValue(jsonResp['DAS_DESCRIPTION']); }, failure: function (response) { diff --git a/workflow/engine/templates/users/users.js b/workflow/engine/templates/users/users.js index f7076f308..f2d45f7d6 100755 --- a/workflow/engine/templates/users/users.js +++ b/workflow/engine/templates/users/users.js @@ -522,11 +522,12 @@ Ext.onReady(function () { fieldLabel : _('ID_COST_BY_HOUR'), xtype : 'numberfield', allowNegative: false, + emptyText : '0.00', decimalSeparator : '.', maskRe : /^[0-9]/i, regex : /^[0-9]/i, regexText : _('ID_INVALID_VALUE', _('ID_COST_BY_HOUR')), - maxLength : 13, + maxLength : 10, width : 80 }, { @@ -610,7 +611,6 @@ Ext.onReady(function () { if (Ext.getCmp('USR_CNF_PASS').getValue() != '') { userExecuteEvent(document.getElementById('USR_CNF_PASS'), 'blur'); } - } } }, @@ -1175,6 +1175,11 @@ function saveUser() return false; } } + if (!Ext.getCmp('USR_COST_BY_HOUR').isValid()) { + PMExt.warning(_('ID_ERROR'), _('ID_INVALID_VALUE_EXPECTING_POSITIVE_INTEGER', _('ID_COST_BY_HOUR'))); + Ext.getCmp('USR_COST_BY_HOUR').focus(true,10); + return false; + } if (USR_UID == '00000000000000000000000000000001') { if (Ext.getCmp('USR_ROLE').getValue() != PROCESSMAKER_ADMIN) {