From 41a27f4d4c7b82bd835a02c6f3afc8220fd40f22 Mon Sep 17 00:00:00 2001 From: Julio Cesar Laura Date: Fri, 24 Jan 2014 10:56:41 -0400 Subject: [PATCH 01/54] Validating if exists 'HTTP_USER_AGENT' key in $_SERVER array --- workflow/public_html/sysGeneric.php | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/workflow/public_html/sysGeneric.php b/workflow/public_html/sysGeneric.php index 93793bd0c..ec6f6a11c 100755 --- a/workflow/public_html/sysGeneric.php +++ b/workflow/public_html/sysGeneric.php @@ -73,6 +73,11 @@ function transactionLog($transactionName){ } } +// Validating if exists 'HTTP_USER_AGENT' key in $_SERVER array +if (!isset($_SERVER['HTTP_USER_AGENT'])) { + $_SERVER['HTTP_USER_AGENT'] = ''; +} + // Defining the PATH_SEP constant, he we are defining if the the path separator symbol will be '\\' or '/' define( 'PATH_SEP', '/' ); From 01a92122d9012f568b7a5c8e73d96e50d0e4ae31 Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Fri, 24 Jan 2014 11:04:43 -0400 Subject: [PATCH 02/54] =?UTF-8?q?BUG-13727=20SOLVED=20La=20secci=C3=B3n=20?= =?UTF-8?q?AMIN=20/=20Dashboards=20/=20New=20{Instance=20Dashlets}=20/=20l?= =?UTF-8?q?a=20lista=20del=20campo=20=E2=80=98Name=E2=80=99=20no=20se=20mu?= =?UTF-8?q?estra=20de=20forma=20ordenada=20cuando=20se=20selecciona=20?= =?UTF-8?q?=E2=80=98Assign=20To=E2=80=99=20en=20=E2=80=98User=E2=80=99.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- workflow/engine/controllers/dashboard.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/workflow/engine/controllers/dashboard.php b/workflow/engine/controllers/dashboard.php index e98ad5a9b..66b4868df 100644 --- a/workflow/engine/controllers/dashboard.php +++ b/workflow/engine/controllers/dashboard.php @@ -332,7 +332,9 @@ class Dashboard extends Controller $users[] = array ('OWNER_UID' => $user['USR_UID'],'OWNER_NAME' => $user['USR_FIRSTNAME'] . ' ' . $user['USR_LASTNAME'] ); } - + usort($users, function($str1, $str2) { + return strcmp(strtolower($str1["OWNER_NAME"]), strtolower($str2["OWNER_NAME"])); + }); $result->total = $allUsers->totalCount; $result->owners = $users; break; From 27e1df8b44c48d4855199237235354fc39062731 Mon Sep 17 00:00:00 2001 From: Brayan Osmar Pereyra Suxo Date: Fri, 24 Jan 2014 17:26:27 -0400 Subject: [PATCH 03/54] Arreglo de model en languange --- .../engine/classes/model/map/LanguageMapBuilder.php | 2 ++ workflow/engine/classes/model/om/BaseLanguage.php | 12 +++++++++--- .../engine/classes/model/om/BaseLanguagePeer.php | 6 +++--- 3 files changed, 14 insertions(+), 6 deletions(-) diff --git a/workflow/engine/classes/model/map/LanguageMapBuilder.php b/workflow/engine/classes/model/map/LanguageMapBuilder.php index afa531039..a8b5f319e 100755 --- a/workflow/engine/classes/model/map/LanguageMapBuilder.php +++ b/workflow/engine/classes/model/map/LanguageMapBuilder.php @@ -67,6 +67,8 @@ class LanguageMapBuilder $tMap->addPrimaryKey('LAN_ID', 'LanId', 'string', CreoleTypes::VARCHAR, true, 4); + $tMap->addColumn('LAN_LOCATION', 'LanLocation', 'string', CreoleTypes::VARCHAR, true, 4); + $tMap->addColumn('LAN_NAME', 'LanName', 'string', CreoleTypes::VARCHAR, true, 30); $tMap->addColumn('LAN_NATIVE_NAME', 'LanNativeName', 'string', CreoleTypes::VARCHAR, true, 30); diff --git a/workflow/engine/classes/model/om/BaseLanguage.php b/workflow/engine/classes/model/om/BaseLanguage.php index 1adf216c9..4b2968baf 100755 --- a/workflow/engine/classes/model/om/BaseLanguage.php +++ b/workflow/engine/classes/model/om/BaseLanguage.php @@ -1,13 +1,19 @@ setNew(false); // FIXME - using NUM_COLUMNS may be clearer. - return $startcol + 7; // 7 = LanguagePeer::NUM_COLUMNS - LanguagePeer::NUM_LAZY_LOAD_COLUMNS). + return $startcol + 8; // 8 = LanguagePeer::NUM_COLUMNS - LanguagePeer::NUM_LAZY_LOAD_COLUMNS). } catch (Exception $e) { throw new PropelException("Error populating Language object", $e); @@ -750,6 +756,7 @@ abstract class BaseLanguage extends BaseObject implements Persistent if (array_key_exists($keys[7], $arr)) { $this->setLanCalendar($arr[$keys[7]]); } + } /** @@ -766,7 +773,7 @@ abstract class BaseLanguage extends BaseObject implements Persistent } if ($this->isColumnModified(LanguagePeer::LAN_LOCATION)) { - $criteria->add(LanguagePeer::LAN_ID, $this->lan_location); + $criteria->add(LanguagePeer::LAN_LOCATION, $this->lan_location); } if ($this->isColumnModified(LanguagePeer::LAN_NAME)) { @@ -896,7 +903,6 @@ abstract class BaseLanguage extends BaseObject implements Persistent * same instance for all member of this class. The method could therefore * be static, but this would prevent one from overriding the behavior. * - * * @return LanguagePeer */ public function getPeer() diff --git a/workflow/engine/classes/model/om/BaseLanguagePeer.php b/workflow/engine/classes/model/om/BaseLanguagePeer.php index 01d0ccaa7..f745cf95b 100755 --- a/workflow/engine/classes/model/om/BaseLanguagePeer.php +++ b/workflow/engine/classes/model/om/BaseLanguagePeer.php @@ -25,7 +25,7 @@ abstract class BaseLanguagePeer const CLASS_DEFAULT = 'classes.model.Language'; /** The total number of columns. */ - const NUM_COLUMNS = 7; + const NUM_COLUMNS = 8; /** The number of lazy-loaded columns. */ const NUM_LAZY_LOAD_COLUMNS = 0; @@ -69,7 +69,7 @@ abstract class BaseLanguagePeer BasePeer::TYPE_PHPNAME => array ('LanId', 'LanLocation', 'LanName', 'LanNativeName', 'LanDirection', 'LanWeight', 'LanEnabled', 'LanCalendar', ), BasePeer::TYPE_COLNAME => array (LanguagePeer::LAN_ID, LanguagePeer::LAN_LOCATION, LanguagePeer::LAN_NAME, LanguagePeer::LAN_NATIVE_NAME, LanguagePeer::LAN_DIRECTION, LanguagePeer::LAN_WEIGHT, LanguagePeer::LAN_ENABLED, LanguagePeer::LAN_CALENDAR, ), BasePeer::TYPE_FIELDNAME => array ('LAN_ID', 'LAN_LOCATION', 'LAN_NAME', 'LAN_NATIVE_NAME', 'LAN_DIRECTION', 'LAN_WEIGHT', 'LAN_ENABLED', 'LAN_CALENDAR', ), - BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7,) + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, ) ); /** @@ -82,7 +82,7 @@ abstract class BaseLanguagePeer BasePeer::TYPE_PHPNAME => array ('LanId' => 0, 'LanLocation' => 1, 'LanName' => 2, 'LanNativeName' => 3, 'LanDirection' => 4, 'LanWeight' => 5, 'LanEnabled' => 6, 'LanCalendar' => 7, ), BasePeer::TYPE_COLNAME => array (LanguagePeer::LAN_ID => 0, LanguagePeer::LAN_LOCATION => 1, LanguagePeer::LAN_NAME => 2, LanguagePeer::LAN_NATIVE_NAME => 3, LanguagePeer::LAN_DIRECTION => 4, LanguagePeer::LAN_WEIGHT => 5, LanguagePeer::LAN_ENABLED => 6, LanguagePeer::LAN_CALENDAR => 7, ), BasePeer::TYPE_FIELDNAME => array ('LAN_ID' => 0, 'LAN_LOCATION' => 1, 'LAN_NAME' => 2, 'LAN_NATIVE_NAME' => 3, 'LAN_DIRECTION' => 4, 'LAN_WEIGHT' => 5, 'LAN_ENABLED' => 6, 'LAN_CALENDAR' => 7, ), - BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7,) + BasePeer::TYPE_NUM => array (0, 1, 2, 3, 4, 5, 6, 7, ) ); /** From 1ce879d2fbeb186134b240272fb3abf17f3d5a2a Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Mon, 27 Jan 2014 11:06:38 -0400 Subject: [PATCH 04/54] =?UTF-8?q?BUG-13708=20SOLVED=20En=20la=20secci?= =?UTF-8?q?=C3=B3n:=20ADMIN=20/=20PM=20Tables=20/=20{seleccionar=20alg?= =?UTF-8?q?=C3=BAn=20Report=20Table},=20al=20editar=20una=20columna=20del?= =?UTF-8?q?=20Report=20Table=20el=20campo=20size=20se=20encuentra=20bloque?= =?UTF-8?q?ado.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/templates/pmTables/editReport.js | 115 +++++++++--------- 1 file changed, 55 insertions(+), 60 deletions(-) diff --git a/workflow/engine/templates/pmTables/editReport.js b/workflow/engine/templates/pmTables/editReport.js index 624879a6c..8882e8d2c 100755 --- a/workflow/engine/templates/pmTables/editReport.js +++ b/workflow/engine/templates/pmTables/editReport.js @@ -207,6 +207,9 @@ Ext.onReady(function(){ sm = new Ext.grid.RowSelectionModel({ selectSingle: false, listeners:{ + rowselect: function(sm) { + validateFieldSizeAutoincrement(assignedGrid.getSelectionModel().getSelected().get('field_type'), false); + }, selectionchange: function(sm){ switch(sm.getCount()){ case 0: @@ -247,7 +250,12 @@ Ext.onReady(function(){ nanText: 'This field should content a number', minValue: 1, maxValue: 99, - minLength: 0 + minLength: 0, + listeners:{ + render:function(){ + validateFieldSizeAutoincrement(assignedGrid.getSelectionModel().getSelected().get('field_type'), false); + } + } }); @@ -353,65 +361,12 @@ Ext.onReady(function(){ } }, 'select': function(combo, row, index) { - if( cm && cm instanceof Ext.grid.ColumnModel) { - if(selCombo != combo.getValue()) { - Ext.getCmp('sizeEdit').setValue(''); - } - selCombo = combo.getValue(); - - var swSize = 1; //Enable - var swAI = 1; - - //Date - if (selCombo == "TIME" || selCombo == "DATE" || selCombo == "DATETIME") { - swSize = 0; //Disable - swAI = 0; - } - - //Numbers - if (selCombo == "BIGINT" || selCombo == "INTEGER" || selCombo == "SMALLINT" || selCombo == "TINYINT") { - //Enable All - } - - if (selCombo == "DECIMAL" || selCombo == "FLOAT" || selCombo == "REAL" || selCombo == "DOUBLE") { - swSize = 0; - swAI = 0; - } - - if (selCombo == "CHAR" || selCombo =="VARCHAR" || selCombo == "LONGVARCHAR") { - var swAI = 0; - } - - //Boolean - if (selCombo == "BOOLEAN") { - swSize = 0; - swAI = 0; - } - - if (swAI == 1) { - Ext.getCmp("field_incre").enable(); - } else { - Ext.getCmp("field_incre").disable(); - Ext.getCmp("field_incre").setValue(false); - } - - if (swSize == 1) { - Ext.getCmp("sizeEdit").enable(); - - if (selCombo == "CHAR" || selCombo =="VARCHAR" || selCombo == "LONGVARCHAR") { - Ext.getCmp("sizeEdit").setMaxValue(((selCombo == "CHAR") ? 255 : 999)); - sizeField.getEl().dom.maxLength = 3; - } else { - Ext.getCmp("sizeEdit").setMaxValue(99); - sizeField.getEl().dom.maxLength = 2; - } - } else { - Ext.getCmp("sizeEdit").disable(); - Ext.getCmp("sizeEdit").setValue(""); - } - - flagShowMessageError = 1; - } + if (cm && cm instanceof Ext.grid.ColumnModel) { + var valueCombo = combo.getValue(); + var changeValue = !(valueCombo === assignedGrid.getSelectionModel().getSelected().get('field_type')); + validateFieldSizeAutoincrement(valueCombo, changeValue); + flagShowMessageError = 1; + } }//select } }) @@ -439,6 +394,45 @@ Ext.onReady(function(){ } } ]; + +function validateFieldSizeAutoincrement(valueType, defaultValue) { + if (Ext.getCmp("sizeEdit").getEl()) { + + if (valueType === 'INTEGER' || valueType === 'BIGINT' || valueType === 'SMALLINT' || valueType === 'TINYINT') { + Ext.getCmp("sizeEdit").enable(); + Ext.getCmp("sizeEdit").setMaxValue(99); + Ext.getCmp("sizeEdit").getEl().dom.maxLength = 2; + if (defaultValue) { + Ext.getCmp("sizeEdit").setValue(''); + } + + Ext.getCmp("field_incre").enable(); + if (defaultValue) { + Ext.getCmp("field_incre").setValue(false); + } + } + + if (valueType === 'CHAR' || valueType === 'VARCHAR' || valueType === 'LONGVARCHAR') { + Ext.getCmp("sizeEdit").enable(); + Ext.getCmp("sizeEdit").setMaxValue(((valueType === 'CHAR') ? 255 : 999)); + Ext.getCmp("sizeEdit").getEl().dom.maxLength = 3; + if (defaultValue) { + Ext.getCmp("sizeEdit").setValue(''); + } + + Ext.getCmp("field_incre").disable(); + Ext.getCmp("field_incre").setValue(false); + } + + if (valueType === 'BOOLEAN' || valueType === 'DATE' || valueType === 'DATETIME' || valueType === 'TIME' || valueType === 'DECIMAL' || valueType === 'DOUBLE' || valueType === 'FLOAT' || valueType === 'REAL') { + Ext.getCmp("sizeEdit").disable(); + Ext.getCmp("sizeEdit").setValue(''); + + Ext.getCmp("field_incre").disable(); + Ext.getCmp("field_incre").setValue(false); + } + } +} //if permissions plugin is enabled if (TABLE !== false && TABLE.ADD_TAB_TAG == 'plugin@simplereport') { @@ -533,6 +527,7 @@ Ext.onReady(function(){ beforeedit: function(roweditor, rowIndex) { row = assignedGrid.getSelectionModel().getSelected(); if (row.get('field_name') == 'APP_UID' || row.get('field_name') == 'APP_NUMBER' || row.get('field_name') == 'ROW') { + editor.stopEditing(); return false; } } From 69afc1b9dd9b535b7a550a765e441427740edf63 Mon Sep 17 00:00:00 2001 From: Julio Cesar Laura Date: Mon, 27 Jan 2014 16:48:39 -0400 Subject: [PATCH 05/54] Add validation when existas tasks without routing rules in the processmap preview for the operator users --- workflow/engine/classes/class.processMap.php | 1 + 1 file changed, 1 insertion(+) diff --git a/workflow/engine/classes/class.processMap.php b/workflow/engine/classes/class.processMap.php index 9b0fe1de4..d77a4d01e 100755 --- a/workflow/engine/classes/class.processMap.php +++ b/workflow/engine/classes/class.processMap.php @@ -155,6 +155,7 @@ class processMap $oTask->position->x = (int) $aRow1['TAS_POSX']; $oTask->position->y = (int) $aRow1['TAS_POSY']; $oTask->derivation = null; + $oTask->derivation->type = ''; $oTask->derivation->to = array(); $oCriteria = new Criteria('workflow'); $oCriteria->add(RoutePeer::PRO_UID, $sProcessUID); From 6da77ddb89b4ddfe929d7ae5d3d527f97e4022d3 Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Tue, 28 Jan 2014 13:01:23 -0400 Subject: [PATCH 06/54] =?UTF-8?q?BUG-13748=20SOLVED=20En=20la=20secci?= =?UTF-8?q?=C3=B3n:=20ADMIN=20/=20PM=20Tables=20/=20{seleccionar=20alg?= =?UTF-8?q?=C3=BAn=20Report=20Table}=20/=20Data,=20los=20Report=20Table=20?= =?UTF-8?q?con=20columnas=20de=20tipo=20numero=20y=20cadena,=20al=20ingres?= =?UTF-8?q?ar=20cadenas=20no=20num=C3=A9ricas=20al=20buscador=20este=20des?= =?UTF-8?q?pliega=20adicionalmente=20los=20registros=20cuyo=20tipo=20de=20?= =?UTF-8?q?dato=20sean=20num=C3=A9ricos=20y=20cuyo=20valor=20sea=20cero.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../engine/classes/model/AdditionalTables.php | 60 ++++++++++--------- 1 file changed, 31 insertions(+), 29 deletions(-) diff --git a/workflow/engine/classes/model/AdditionalTables.php b/workflow/engine/classes/model/AdditionalTables.php index ce5cd41d8..a3e79598d 100755 --- a/workflow/engine/classes/model/AdditionalTables.php +++ b/workflow/engine/classes/model/AdditionalTables.php @@ -371,9 +371,21 @@ class AdditionalTables extends BaseAdditionalTables $oCriteria = new Criteria($aData['DBS_UID']); //eval('$oCriteria->addSelectColumn("\'1\' AS DUMMY");'); + + /* + * data type: + * 'INTEGER' 'BIGINT' 'SMALLINT' 'TINYINT' 'DECIMAL' 'DOUBLE' 'FLOAT' 'REAL' + * 'CHAR' 'VARCHAR' 'LONGVARCHAR' 'BOOLEAN' 'DATE' 'DATETIME' 'TIME' + */ + $types = array('DECIMAL', 'DOUBLE', 'FLOAT', 'REAL'); + if ($keyOrderUppercase == true) { foreach ($aData['FIELDS'] as $aField) { - eval('$oCriteria->addSelectColumn(' . $sClassPeerName . '::' . $aField['FLD_NAME'] . ');'); + $field = '$oCriteria->addSelectColumn(' . $sClassPeerName . '::' . $aField['FLD_NAME'] . ');'; + if (in_array($aField['FLD_TYPE'], $types)) { + $field = '$oCriteria->addAsColumn("' . $aField['FLD_NAME'] . '", "round(" . ' . $sClassPeerName . '::' . $aField['FLD_NAME'] . ' . ", 2)" );'; + } + eval($field); /*if ($aField['FLD_KEY'] == '1') { eval('$oCriteria->addAscendingOrderByColumn('. $sClassPeerName . '::' . $aField['FLD_NAME'] . ');'); }*/ @@ -384,37 +396,27 @@ class AdditionalTables extends BaseAdditionalTables eval('$count = ' . $sClassPeerName . '::doCount($oCriteria);'); if ($filter != '' && is_string($filter)) { - eval('$fieldsTable = ' . $sClassPeerName . '::getFieldNames(BasePeer::TYPE_FIELDNAME);'); - $countField = count($fieldsTable); $stringOr = '$oCriteria->add('; - $cont = 0; - $fieldAppUid = ''; - foreach ($fieldsTable as $value) { - if ($value != 'APP_UID') { - if (($cont+1) == $countField) { - if ($aData['FIELDS'][$cont]['FLD_TYPE'] == 'VARCHAR') { - $stringOr .= '$oCriteria->getNewCriterion(' . $sClassPeerName . '::' . strtoupper($value) . ', "%' . $filter . '%", Criteria::LIKE)'; - } else { - $stringOr .= '$oCriteria->getNewCriterion(' . $sClassPeerName . '::' . strtoupper($value) . ', "' . $filter . '", Criteria::LIKE)'; - } - } else { - if ($aData['FIELDS'][$cont]['FLD_TYPE'] == 'VARCHAR') { - $stringOr .= '$oCriteria->getNewCriterion(' . $sClassPeerName . '::' . strtoupper($value) . ', "%' . $filter . '%", Criteria::LIKE)->addOr('; - } else { - $stringOr .= '$oCriteria->getNewCriterion(' . $sClassPeerName . '::' . strtoupper($value) . ', "' . $filter . '", Criteria::LIKE)->addOr('; - } - } - } else { - $fieldAppUid = $cont; - } - $cont++; - } - for ($c = 0; $c < $countField-1; $c++) { - if ($fieldAppUid !== $c) { - $stringOr .= ')'; + $closure = ''; + $compare = ''; + $types = array('INTEGER', 'BIGINT', 'SMALLINT', 'TINYINT', 'DECIMAL', 'DOUBLE', 'FLOAT', 'REAL'); + foreach ($aData['FIELDS'] as $aField) { + if ($aField['FLD_NAME'] != 'APP_UID') { + $compare = '"%' . $filter . '%", Criteria::LIKE'; + + if (in_array($aField['FLD_TYPE'], $types)) { + if (is_numeric($filter)) { + $compare = '"' . $filter . '", Criteria::EQUAL'; + } else { + $compare = 'null, Criteria::ISNULL'; + } + } + + $stringOr = $stringOr . '$oCriteria->getNewCriterion(' . $sClassPeerName . '::' . $aField['FLD_NAME'] . ', ' . $compare . ')->addOr('; + $closure = $closure . ")"; } } - $stringOr .= ');'; + $stringOr = rtrim($stringOr, '->addOr(') . $closure . ';'; eval($stringOr); $oCriteriaCount = clone $oCriteria; From 1c708c28f65af4e0f7cb45812ea4d67df843cba8 Mon Sep 17 00:00:00 2001 From: Brayan Osmar Pereyra Suxo Date: Wed, 29 Jan 2014 10:57:57 -0400 Subject: [PATCH 07/54] Correcciones de labels para DocSystem --- workflow/engine/classes/class.configuration.php | 4 ++-- workflow/engine/methods/cases/ajaxListener.php | 5 +++-- workflow/engine/methods/cases/cases_Derivate.php | 4 ++-- workflow/engine/methods/setup/appCacheViewAjax.php | 6 +++--- workflow/engine/methods/users/usersAjax.php | 2 +- workflow/engine/templates/cases/main.js | 4 ++-- workflow/engine/templates/groups/groupsList.js | 4 ++-- 7 files changed, 15 insertions(+), 14 deletions(-) diff --git a/workflow/engine/classes/class.configuration.php b/workflow/engine/classes/class.configuration.php index 9045f07d0..54105f2d6 100755 --- a/workflow/engine/classes/class.configuration.php +++ b/workflow/engine/classes/class.configuration.php @@ -597,8 +597,8 @@ class Configurations // extends Configuration } } - setlocale(LC_TIME, $langLocate . ".utf8"); - $dateTime = strftime($newCreation, mktime($h, $i, $s, $m, $d, $y)); + setlocale(LC_TIME, $langLocate); + $dateTime = utf8_encode(strftime($newCreation, mktime($h, $i, $s, $m, $d, $y))); if (strpos($dateTime, ' ') !== false) { $dateTime = ucwords($dateTime); diff --git a/workflow/engine/methods/cases/ajaxListener.php b/workflow/engine/methods/cases/ajaxListener.php index bc66b38e3..07d057483 100755 --- a/workflow/engine/methods/cases/ajaxListener.php +++ b/workflow/engine/methods/cases/ajaxListener.php @@ -334,8 +334,9 @@ class Ajax $processData['PRO_AUTHOR'] = '(USER DELETED)'; } - $processData['PRO_CREATE_DATE'] = date('F j, Y', strtotime($processData['PRO_CREATE_DATE'])); - + $conf = new Configurations(); + $conf->getFormats(); + $processData['PRO_CREATE_DATE'] = $conf->getSystemDate($processData['PRO_CREATE_DATE']); print (G::json_encode($processData)); } diff --git a/workflow/engine/methods/cases/cases_Derivate.php b/workflow/engine/methods/cases/cases_Derivate.php index be0e388d3..5855894c5 100755 --- a/workflow/engine/methods/cases/cases_Derivate.php +++ b/workflow/engine/methods/cases/cases_Derivate.php @@ -75,7 +75,7 @@ try { //save trigger variables for debugger $_SESSION['TRIGGER_DEBUG']['info'][0]['NUM_TRIGGERS'] = sizeof( $triggers ); - $_SESSION['TRIGGER_DEBUG']['info'][0]['TIME'] = 'BEFORE'; + $_SESSION['TRIGGER_DEBUG']['info'][0]['TIME'] = G::toUpper(G::loadTranslation('ID_BEFORE')); $_SESSION['TRIGGER_DEBUG']['info'][0]['TRIGGERS_NAMES'] = $oCase->getTriggerNames( $triggers ); $_SESSION['TRIGGER_DEBUG']['info'][0]['TRIGGERS_VALUES'] = $triggers; } @@ -104,7 +104,7 @@ try { $_SESSION['TRIGGER_DEBUG']['info'][1]['NUM_TRIGGERS'] = sizeof( $triggers ); - $_SESSION['TRIGGER_DEBUG']['info'][1]['TIME'] = 'AFTER'; + $_SESSION['TRIGGER_DEBUG']['info'][1]['TIME'] = G::toUpper(G::loadTranslation('ID_AFTER')); $_SESSION['TRIGGER_DEBUG']['info'][1]['TRIGGERS_NAMES'] = $oCase->getTriggerNames( $triggers ); $_SESSION['TRIGGER_DEBUG']['info'][1]['TRIGGERS_VALUES'] = $triggers; } diff --git a/workflow/engine/methods/setup/appCacheViewAjax.php b/workflow/engine/methods/setup/appCacheViewAjax.php index e9ed60072..7c82744c1 100755 --- a/workflow/engine/methods/setup/appCacheViewAjax.php +++ b/workflow/engine/methods/setup/appCacheViewAjax.php @@ -138,15 +138,15 @@ switch ($request) { if (! $currentUserIsSuper && ! $result->error) { $res = $appCache->checkGrantsForUser( true ); if (! isset( $res['error'] )) { - $result->info[] = array ('name' => 'Root User','value' => $res['user']); - $result->info[] = array ('name' => 'Root User has SUPER privilege','value' => $res['super']); + $result->info[] = array ('name' => G::LoadTranslation ( 'ID_ROOT_USER' ), 'value' => $res['user']); + $result->info[] = array ('name' => G::LoadTranslation ( 'ID_ROOT_USER_SUPER' ), 'value' => $res['super']); } else { $result->info[] = array ('name' => 'Error','value' => $res['msg']); } $res = $appCache->setSuperForUser( $currentUser ); if (! isset( $res['error'] )) { - $result->info[] = array ('name' => 'Setting SUPER privilege','value' => 'Successfully'); + $result->info[] = array ('name' => G::LoadTranslation ( 'ID_SETTING_SUPER' ), 'value' => G::LoadTranslation ( 'ID_SUCCESSFULLY' )); } else { $result->error = true; $result->errorMsg = $res['msg']; diff --git a/workflow/engine/methods/users/usersAjax.php b/workflow/engine/methods/users/usersAjax.php index 954343b0f..a05ccf4f9 100755 --- a/workflow/engine/methods/users/usersAjax.php +++ b/workflow/engine/methods/users/usersAjax.php @@ -88,7 +88,7 @@ switch ($_POST['action']) { G::LoadClass('calendar'); $calendar = new Calendar(); $calendarObj = $calendar->getCalendarList(true, true); - $oData[] = array('CALENDAR_UID' => '', 'CALENDAR_NAME' => '- None -'); + $oData[] = array('CALENDAR_UID' => '', 'CALENDAR_NAME' => '- ' . G::LoadTranslation('ID_NONE') . ' -'); foreach ($calendarObj['array'] as $rowid => $row) { if ($rowid > 0) { $oData[] = array('CALENDAR_UID' => $row['CALENDAR_UID'], 'CALENDAR_NAME' => $row['CALENDAR_NAME']); diff --git a/workflow/engine/templates/cases/main.js b/workflow/engine/templates/cases/main.js index ae66d9928..e9dd0ac25 100755 --- a/workflow/engine/templates/cases/main.js +++ b/workflow/engine/templates/cases/main.js @@ -359,8 +359,8 @@ Ext.onReady(function(){ store: triggerStore, columns: [ - {id:'name',header: "Name", width: 60, sortable: true, dataIndex: 'name'}, - {header: "Execution", width: 30, sortable: true, dataIndex: 'execution_time'}, + {id:'name',header: _('ID_NAME'), width: 60, sortable: true, dataIndex: 'name'}, + {header: _('ID_EXECUTION'), width: 30, sortable: true, dataIndex: 'execution_time'}, {header: "Code", width: 30, sortable: false, dataIndex: 'code', hidden: true} ], diff --git a/workflow/engine/templates/groups/groupsList.js b/workflow/engine/templates/groups/groupsList.js index 4b4ec287d..820edfa47 100755 --- a/workflow/engine/templates/groups/groupsList.js +++ b/workflow/engine/templates/groups/groupsList.js @@ -145,7 +145,7 @@ Ext.onReady(function(){ comboStatusStore = new Ext.data.SimpleStore({ fields: ['id','value'], - data: [['1','ACTIVE'],['0','INACTIVE']] + data: [['1',_('ID_ACTIVE').toUpperCase()],['0', _('ID_INACTIVE').toUpperCase()]] }); newForm = new Ext.FormPanel({ @@ -164,7 +164,7 @@ Ext.onReady(function(){ store: comboStatusStore, listeners : { beforerender: function(status){ - status.setValue('ACTIVE'); + status.setValue(_('ID_ACTIVE').toUpperCase()); } }, displayField: 'value', From b1d9f8903b1c42da7763df608702632e4b3dca3b Mon Sep 17 00:00:00 2001 From: Brayan Osmar Pereyra Suxo Date: Wed, 29 Jan 2014 12:27:58 -0400 Subject: [PATCH 08/54] Arreglo para ABM de grupos con idiomas --- workflow/engine/methods/groups/groups_Ajax.php | 4 ++-- workflow/engine/templates/groups/groupsList.js | 15 ++++++++++----- 2 files changed, 12 insertions(+), 7 deletions(-) diff --git a/workflow/engine/methods/groups/groups_Ajax.php b/workflow/engine/methods/groups/groups_Ajax.php index 939ffb39e..233e56619 100644 --- a/workflow/engine/methods/groups/groups_Ajax.php +++ b/workflow/engine/methods/groups/groups_Ajax.php @@ -144,7 +144,7 @@ switch ($_POST['action']) { case 'saveNewGroup': G::LoadClass( 'groups' ); $newGroup['GRP_UID'] = ''; - $newGroup['GRP_STATUS'] = G::toUpper( $_POST['status'] ); + $newGroup['GRP_STATUS'] = ($_POST['status'] == '1') ? 'ACTIVE' : 'INACTIVE'; $newGroup['GRP_TITLE'] = trim( $_POST['name'] ); unset( $newGroup['GRP_UID'] ); $group = new Groupwf(); @@ -154,7 +154,7 @@ switch ($_POST['action']) { case 'saveEditGroup': G::LoadClass( 'groups' ); $editGroup['GRP_UID'] = $_POST['grp_uid']; - $editGroup['GRP_STATUS'] = G::toUpper( $_POST['status'] ); + $editGroup['GRP_STATUS'] = ($_POST['status'] == '1') ? 'ACTIVE' : 'INACTIVE'; $editGroup['GRP_TITLE'] = trim( $_POST['name'] ); $group = new Groupwf(); $group->update( $editGroup ); diff --git a/workflow/engine/templates/groups/groupsList.js b/workflow/engine/templates/groups/groupsList.js index 820edfa47..b9d0e1908 100755 --- a/workflow/engine/templates/groups/groupsList.js +++ b/workflow/engine/templates/groups/groupsList.js @@ -144,7 +144,7 @@ Ext.onReady(function(){ }); comboStatusStore = new Ext.data.SimpleStore({ - fields: ['id','value'], + fields: ['changeInt','value'], data: [['1',_('ID_ACTIVE').toUpperCase()],['0', _('ID_INACTIVE').toUpperCase()]] }); @@ -164,11 +164,11 @@ Ext.onReady(function(){ store: comboStatusStore, listeners : { beforerender: function(status){ - status.setValue(_('ID_ACTIVE').toUpperCase()); + status.setValue('1'); } }, displayField: 'value', - valueField:'value', + valueField:'changeInt', allowBlank: false, triggerAction: 'all', emptyText: _('ID_SELECT_STATUS'), @@ -189,13 +189,15 @@ Ext.onReady(function(){ {xtype: 'textfield', fieldLabel: _('ID_GROUP_NAME'), name: 'name', width: 200, allowBlank: false}, { xtype: 'combo', + id: 'statusEdit', + name: 'statusEdit', fieldLabel: _('ID_STATUS'), hiddenName: 'status', typeAhead: true, mode: 'local', store: comboStatusStore, displayField: 'value', - valueField:'value', + valueField:'changeInt', allowBlank: false, editable:false, triggerAction: 'all', @@ -409,6 +411,7 @@ DuplicateGroupName = function(){ //Save New Group SaveNewGroup = function(){ + document.getElementById('status').value = Ext.getCmp('status').getValue(); newForm.getForm().submit({ waitTitle : " ", success: function(f,a){ @@ -438,7 +441,8 @@ EditGroupWindow = function(){ editForm.getForm().findField('grp_uid').setValue(rowSelected.data.GRP_UID); editForm.getForm().findField('name').setValue(strName); - editForm.getForm().findField('status').setValue(rowSelected.data.GRP_STATUS); + var valueEditChangeInt = (rowSelected.data.GRP_STATUS == 'ACTIVE') ? '1' : '0'; + editForm.getForm().findField('status').setValue(valueEditChangeInt); w = new Ext.Window({ autoHeight: true, width: 440, @@ -467,6 +471,7 @@ SaveEditGroupAction = function(){ //Save Edit Group SaveEditGroup = function(){ + document.getElementById('statusEdit').value = Ext.getCmp('statusEdit').getValue(); editForm.getForm().submit({ waitTitle : " ", success: function(f,a){ From c1d4a5663bddb399da092fe00115bae387628007 Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Thu, 30 Jan 2014 11:03:21 -0400 Subject: [PATCH 09/54] =?UTF-8?q?BUG-13775=20SOLVED=20El=20comando=20de=20?= =?UTF-8?q?restauraci=C3=B3n:=20./processmaker=20workspace-restore=20/home?= =?UTF-8?q?/sample-backup=20sample=20no=20puede=20completarse=20cuando=20l?= =?UTF-8?q?a=20contrase=C3=B1a=20de=20base=20de=20datos=20contiene=20carac?= =?UTF-8?q?teres=20especiales=20por=20ejemplo:=20aaa$aaa.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- workflow/engine/classes/class.wsTools.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/engine/classes/class.wsTools.php b/workflow/engine/classes/class.wsTools.php index 478172cd9..d7ee43a30 100755 --- a/workflow/engine/classes/class.wsTools.php +++ b/workflow/engine/classes/class.wsTools.php @@ -1096,7 +1096,7 @@ class workspaceTools $command = 'mysql' . ' --host=' . $parameters['dbHost'] . ' --user=' . $parameters['dbUser'] - . ' --password=' . $parameters['dbPass'] + . ' --password=' . str_replace('"', '\"', str_replace("'", "\'", quotemeta($parameters['dbPass'])))//no change! supports the type passwords: .\+*?[^]($)'"\"' . ' --database=' . mysql_real_escape_string($database) . ' --default_character_set utf8' . ' --execute="SOURCE '.$filename.'"'; From 7929369624d96887a14c4afe56258ba0f764b48b Mon Sep 17 00:00:00 2001 From: norahmollo Date: Thu, 30 Jan 2014 11:18:37 -0400 Subject: [PATCH 10/54] BUG-TREE_STEPS Error en la funcionalidad Error en la funcionalidad cuando cambias de formulario en TreeSteps --- gulliver/js/maborak/core/maborak.js | 5 +- workflow/engine/templates/cases/open.js | 86 ++++++++++++++----------- 2 files changed, 52 insertions(+), 39 deletions(-) diff --git a/gulliver/js/maborak/core/maborak.js b/gulliver/js/maborak/core/maborak.js index c4096a993..e6834f173 100644 --- a/gulliver/js/maborak/core/maborak.js +++ b/gulliver/js/maborak/core/maborak.js @@ -1281,8 +1281,9 @@ selectdd.innerHTML="";for(i=0;i<=arrayOption.options.length-1;i++){if(swOptGroup optionAux=document.createElement("option");optGroupAux.appendChild(optionAux);optionAux.value=arrayOption.options[i].key;optionAux.text=arrayOption.options[i].value;}else{optionAux=document.createElement("option");selectdd.appendChild(optionAux);optionAux.value=arrayOption.options[i].key;optionAux.text=arrayOption.options[i].value;}}} if(selectdd.options.length==0){selectdd.options[0]=new Option("","");}} function dynaFormChanged(frm) -{for(var i1=0;i1<=frm.elements.length-1;i1++){if(frm.elements[i1].type=="text"&&frm.elements[i1].value!=frm.elements[i1].defaultValue){return true;} -if(frm.elements[i1].type=="textarea"&&frm.elements[i1].value!=frm.elements[i1].defaultValue){return true;} +{ for(var i1=0;i1<=frm.elements.length-1;i1++){ +if(((frm.elements[i1].type=="radio")||(frm.elements[i1].type=="checkbox")) && (frm.elements[i1].checked!=frm.elements[i1].defaultChecked)){return true;} +if( ((frm.elements[i1].type=="textarea")||(frm.elements[i1].type=="text")||(frm.elements[i1].type=="file")) && (frm.elements[i1].value!=frm.elements[i1].defaultValue)){return true;} if(frm.elements[i1].tagName.toLowerCase()=="select"){var selectDefaultValue=frm.elements[i1].value;for(var i2=0;i2<=frm.elements[i1].options.length-1;i2++){if(frm.elements[i1].options[i2].defaultSelected){selectDefaultValue=frm.elements[i1].options[i2].value;break;}} if(frm.elements[i1].value!=selectDefaultValue){return true;}}} return false;} diff --git a/workflow/engine/templates/cases/open.js b/workflow/engine/templates/cases/open.js index 216c68e95..e46932053 100755 --- a/workflow/engine/templates/cases/open.js +++ b/workflow/engine/templates/cases/open.js @@ -241,53 +241,65 @@ Ext.onReady(function(){ if (swForm == 1) { var requiredField = ""; var swRequiredField = 1; + var dynaformChange =""; + var swDynaformChange = 0; + + if (window.frames["openCaseFrame"].document.getElementsByTagName("form")) { + dynaformChange = window.frames["openCaseFrame"].document.getElementsByTagName("form").item(0); + swDynaformChange = (window.frames["openCaseFrame"].dynaFormChanged(dynaformChange))? 1 : 0; + } if (window.frames["openCaseFrame"].document.getElementById("DynaformRequiredFields")) { requiredField = window.frames["openCaseFrame"].document.getElementById("DynaformRequiredFields").value; - if (requiredField != "") { swRequiredField = (window.frames["openCaseFrame"].validateForm(requiredField))? 1 : 0; } } - if (swRequiredField == 1) { - Ext.MessageBox.show({ - title: _("ID_CONFIRM"), - msg: _("ID_DYNAFORM_SAVE_CHANGES"), - icon: Ext.MessageBox.QUESTION, - buttons: {ok: _("ID_ACCEPT"), cancel: _("ID_CANCEL")}, - fn: function (btn) - { - loadMaskStep.show(); + if (swDynaformChange) { + if ((swRequiredField == 1)){ + Ext.MessageBox.show({ + title: _("ID_CONFIRM"), + msg: _("ID_DYNAFORM_SAVE_CHANGES"), + icon: Ext.MessageBox.QUESTION, + buttons: {ok: _("ID_ACCEPT"), cancel: _("ID_CANCEL")}, + fn: function (btn) + { + loadMaskStep.show(); - if (btn == "ok") { - var frm = window.frames["openCaseFrame"].document.getElementsByTagName("form"); + if (btn == "ok") { + var frm = window.frames["openCaseFrame"].document.getElementsByTagName("form"); - if (frm.length > 0) { - var result = window.frames["openCaseFrame"].ajax_post( - frm[0].action.replace("cases_SaveData", "saveForm"), - frm[0], - "POST", - function (responseText) - { - //Set URL and redirect - document.getElementById("openCaseFrame").src = node.attributes.url; - }, - true - ); - } else { - //Set URL and redirect - document.getElementById("openCaseFrame").src = node.attributes.url; - } - } else { - //Set URL and redirect - document.getElementById("openCaseFrame").src = node.attributes.url; - } - } - }); - } else { - swNodeCurrentSelect = 1; - } + if (frm.length > 0) { + var result = window.frames["openCaseFrame"].ajax_post( + frm[0].action.replace("cases_SaveData", "saveForm"), + frm[0], + "POST", + function (responseText) + { + //Set URL and redirect + document.getElementById("openCaseFrame").src = node.attributes.url; + }, + true + ); + } else { + //Set URL and redirect + document.getElementById("openCaseFrame").src = node.attributes.url; + } + } else { + //Set URL and redirect + document.getElementById("openCaseFrame").src = node.attributes.url; + } + } + }); + } else { + swNodeCurrentSelect = 1; + } + } else { + loadMaskStep.show(); + //Set URL and redirect + document.getElementById("openCaseFrame").src = node.attributes.url; + } } else { loadMaskStep.show(); From faa9b3da5ada0ead38ca246cbc26db0dc0403726 Mon Sep 17 00:00:00 2001 From: Brayan Osmar Pereyra Suxo Date: Thu, 30 Jan 2014 11:27:15 -0400 Subject: [PATCH 11/54] Correcion de actualizacion en roles --- rbac/engine/classes/model/Roles.php | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/rbac/engine/classes/model/Roles.php b/rbac/engine/classes/model/Roles.php index 000b5f8e9..81d8b251d 100755 --- a/rbac/engine/classes/model/Roles.php +++ b/rbac/engine/classes/model/Roles.php @@ -607,7 +607,9 @@ class Roles extends BaseRoles { $o = new RolesPermissions(); $o->setPerUid($sData['PER_UID']); $o->setRolUid($sData['ROL_UID']); - $o->setPermissionName($sData['PER_NAME']); + if (isset($sData['PER_NAME'])) { + $o->setPermissionName($sData['PER_NAME']); + } $o->save(); } From 35bf988043fdc4d7a476b60113ac53e39f943c0c Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Thu, 30 Jan 2014 13:39:48 -0400 Subject: [PATCH 12/54] =?UTF-8?q?BUG-14035=20SOLVED=20La=20secci=C3=B3n=20?= =?UTF-8?q?DESIGNER=20/=20{dbl-click=20en=20alg=C3=BAn=20proceso}=20/=20ri?= =?UTF-8?q?ght-click=20Process=20Map=20/=20Events=20/=20Intermediate=20Con?= =?UTF-8?q?ditional=20/=20New,=20=20el=20campo=20Execute=20trigger=20muest?= =?UTF-8?q?ra=20los=20nombres=20de=20los=20triggers=20con=20valor=200,=20e?= =?UTF-8?q?l=20mismo=20comportamiento=20ocurre=20cuando=20se=20realiza=20l?= =?UTF-8?q?a=20edici=C3=B3n.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- workflow/engine/methods/events/eventsEdit.php | 1 + workflow/engine/methods/events/eventsNew.php | 1 + 2 files changed, 2 insertions(+) diff --git a/workflow/engine/methods/events/eventsEdit.php b/workflow/engine/methods/events/eventsEdit.php index 564b40429..4675dde2f 100755 --- a/workflow/engine/methods/events/eventsEdit.php +++ b/workflow/engine/methods/events/eventsEdit.php @@ -64,6 +64,7 @@ $aTriggersFileds[] = array ('TRI_UID' => 'char','TRI_TITLE' => 'char'); foreach ($aTriggersList as $i => $v) { unset( $aTriggersList[$i]['PRO_UID'] ); unset( $aTriggersList[$i]['TRI_DESCRIPTION'] ); + unset( $aTriggersList[$i]['TRI_LOCATE_WEBBOT_PARAM'] ); $aTriggersList[$i]['TRI_TITLE'] = (strlen( $aTriggersList[$i]['TRI_TITLE'] ) > 32) ? substr( $aTriggersList[$i]['TRI_TITLE'], 0, 32 ) . '...' : $aTriggersList[$i]['TRI_TITLE']; } diff --git a/workflow/engine/methods/events/eventsNew.php b/workflow/engine/methods/events/eventsNew.php index b7b1021c6..8acee21eb 100755 --- a/workflow/engine/methods/events/eventsNew.php +++ b/workflow/engine/methods/events/eventsNew.php @@ -54,6 +54,7 @@ $aTriggersFileds[] = array ("TRI_UID" => "char", "TRI_TITLE" => "char"); foreach ($aTriggersList as $i => $v) { unset( $aTriggersList[$i]['PRO_UID'] ); unset( $aTriggersList[$i]['TRI_DESCRIPTION'] ); + unset( $aTriggersList[$i]['TRI_LOCATE_WEBBOT_PARAM'] ); $aTriggersList[$i]['TRI_TITLE'] = (strlen( $aTriggersList[$i]['TRI_TITLE'] ) > 32) ? substr( $aTriggersList[$i]['TRI_TITLE'], 0, 32 ) . '...' : $aTriggersList[$i]['TRI_TITLE']; } From a5da83b2eaad5fa6dc8e701d7fc5d4eb3f11aa80 Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Fri, 31 Jan 2014 10:58:11 -0400 Subject: [PATCH 13/54] =?UTF-8?q?BUG-13979=20SOLVED=20Los=20botones=20de?= =?UTF-8?q?=20Print=20y=20Next=20Step,=20no=20realizan=20ninguna=20acci?= =?UTF-8?q?=C3=B3n=20en=20las=20secciones:=20'HOME=20/=20Participated=20/?= =?UTF-8?q?=20{seleccionar=20alg=C3=BAn=20caso}=20/=20Open=20/=20Informati?= =?UTF-8?q?on=20/=20Dynaforms=20/=20{seleccionar=20alg=C3=BAn=20registro}?= =?UTF-8?q?=20/=20Preview=20/'=20'HOME=20/=20Search=20/=20Advanced=20Searc?= =?UTF-8?q?h=20/=20{hacer=20click=20en=20buscar=20y=20hacer=20click=20en?= =?UTF-8?q?=20el=20bot=C3=B3n=20Summary}=20/=20More=20Information=20/=20'.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- workflow/engine/methods/cases/casesHistoryDynaformPage_Ajax.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/engine/methods/cases/casesHistoryDynaformPage_Ajax.php b/workflow/engine/methods/cases/casesHistoryDynaformPage_Ajax.php index a338ff5a8..e8cc30fdb 100644 --- a/workflow/engine/methods/cases/casesHistoryDynaformPage_Ajax.php +++ b/workflow/engine/methods/cases/casesHistoryDynaformPage_Ajax.php @@ -478,6 +478,6 @@ if ($actionAjax == 'historyDynaformGridPreview') { Date: Mon, 3 Feb 2014 09:45:31 -0400 Subject: [PATCH 14/54] =?UTF-8?q?BUG-13950=20SOLVED=20Cuando=20se=20usa=20?= =?UTF-8?q?caracteres=20Chinos=20como=20t=C3=ADtulo=20de=20varios=20proces?= =?UTF-8?q?os=20la=20secci=C3=B3n:=20HOME=20/=20New=20Case=20/=20{dbl-clic?= =?UTF-8?q?k}=20Al=20seleccionar=20un=20nodo=20este=20siempre=20salta=20al?= =?UTF-8?q?=20=C3=BAltimo=20nodo=20del=20TreeView.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- workflow/engine/methods/cases/casesStartPage_Ajax.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/workflow/engine/methods/cases/casesStartPage_Ajax.php b/workflow/engine/methods/cases/casesStartPage_Ajax.php index bdc2cdfed..f5cdda0bc 100755 --- a/workflow/engine/methods/cases/casesStartPage_Ajax.php +++ b/workflow/engine/methods/cases/casesStartPage_Ajax.php @@ -70,7 +70,7 @@ function getProcessList () if (1) { foreach ($processList as $key => $processInfo) { $tempTree['text'] = $key; - $tempTree['id'] = preg_replace('([^A-Za-z0-9])', '', $key); + $tempTree['id'] = md5($key); $tempTree['cls'] = 'folder'; $tempTree['draggable'] = true; $tempTree['optionType'] = "category"; @@ -87,7 +87,7 @@ function getProcessList () //print_r($processInfo); $tempTreeChild['text'] = htmlentities($keyChild, ENT_QUOTES, 'UTF-8'); //ellipsis ( $keyChild, 50 ); //$tempTree['text']=$key; - $tempTreeChild['id'] = preg_replace('([^A-Za-z0-9 ()])', '', $keyChild); + $tempTreeChild['id'] = md5($keyChild); $tempTreeChild['draggable'] = true; $tempTreeChild['leaf'] = true; $tempTreeChild['icon'] = '/images/icon.trigger.png'; From 8c38fb33feeb14aae2e321b30acdeb4456d6ddd0 Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Tue, 4 Feb 2014 09:31:05 -0400 Subject: [PATCH 15/54] =?UTF-8?q?BUG-13979=20IMPROVEMENT=20La=20variable?= =?UTF-8?q?=20DYNUIDPRINT=20no=20se=20encuentra=20definido=20para=20la=20o?= =?UTF-8?q?pci=C3=B3n=20Summary=20en=20los=20listados=20Inbox,=20Participa?= =?UTF-8?q?ted,=20Advanced=20Search,=20el=20cual=20muestra=20el=20mensaje?= =?UTF-8?q?=20de=20error=20'The=20row=20''=20in=20table=20Dynaform=20doesn?= =?UTF-8?q?'t=20exist',=20en=20la=20venta=20de=20vista=20de=20impresi?= =?UTF-8?q?=C3=B3n.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- workflow/engine/methods/cases/summary.php | 1 + 1 file changed, 1 insertion(+) diff --git a/workflow/engine/methods/cases/summary.php b/workflow/engine/methods/cases/summary.php index c0f42affd..bb9430059 100755 --- a/workflow/engine/methods/cases/summary.php +++ b/workflow/engine/methods/cases/summary.php @@ -52,6 +52,7 @@ try { $applicationFields['APP_DATA']['__DYNAFORM_OPTIONS']['PREVIOUS_STEP'] = '#'; $applicationFields['APP_DATA']['__DYNAFORM_OPTIONS']['NEXT_STEP_LABEL'] = ''; $applicationFields['APP_DATA']['__DYNAFORM_OPTIONS']['NEXT_ACTION'] = '#'; + $applicationFields['APP_DATA']['__DYNAFORM_OPTIONS']['DYNUIDPRINT'] = $_REQUEST['DYN_UID']; G::LoadClass( 'dbConnections' ); $_SESSION['PROCESS'] = $applicationFields['PRO_UID']; From 0c44ef388766709b1ea1328f9edcf3704ac2a0b9 Mon Sep 17 00:00:00 2001 From: norahmollo Date: Wed, 5 Feb 2014 16:48:30 -0400 Subject: [PATCH 16/54] BUG-TREE_STEPS Error en la funcionalidad de guardado Se debe validar solo cuando han ocurrido cambios --- gulliver/js/form/core/form.js | 12 +++++++----- gulliver/js/maborak/core/maborak.js | 5 ++--- workflow/engine/templates/cases/open.js | 17 ++++++++--------- 3 files changed, 17 insertions(+), 17 deletions(-) diff --git a/gulliver/js/form/core/form.js b/gulliver/js/form/core/form.js index 291487ced..aad196d0f 100755 --- a/gulliver/js/form/core/form.js +++ b/gulliver/js/form/core/form.js @@ -3908,13 +3908,15 @@ function dropDownSetOption(elem, arrayOption) function dynaFormChanged(frm) { for (var i1 = 0; i1 <= frm.elements.length - 1; i1++) { - if (frm.elements[i1].type == "text" && frm.elements[i1].value != frm.elements[i1].defaultValue) { - return true; + + if((frm.elements[i1].type=="radio" || frm.elements[i1].type=="checkbox") && (frm.elements[i1].checked!=frm.elements[i1].defaultChecked)) { + return true; } - - if (frm.elements[i1].type == "textarea" && frm.elements[i1].value != frm.elements[i1].defaultValue) { - return true; + + if((frm.elements[i1].type=="textarea" || frm.elements[i1].type=="text" || frm.elements[i1].type=="file") && (frm.elements[i1].value!=frm.elements[i1].defaultValue)) { + return true; } + if (frm.elements[i1].tagName.toLowerCase() == "select") { var selectDefaultValue = frm.elements[i1].value; diff --git a/gulliver/js/maborak/core/maborak.js b/gulliver/js/maborak/core/maborak.js index e6834f173..23a3046bd 100644 --- a/gulliver/js/maborak/core/maborak.js +++ b/gulliver/js/maborak/core/maborak.js @@ -1281,9 +1281,8 @@ selectdd.innerHTML="";for(i=0;i<=arrayOption.options.length-1;i++){if(swOptGroup optionAux=document.createElement("option");optGroupAux.appendChild(optionAux);optionAux.value=arrayOption.options[i].key;optionAux.text=arrayOption.options[i].value;}else{optionAux=document.createElement("option");selectdd.appendChild(optionAux);optionAux.value=arrayOption.options[i].key;optionAux.text=arrayOption.options[i].value;}}} if(selectdd.options.length==0){selectdd.options[0]=new Option("","");}} function dynaFormChanged(frm) -{ for(var i1=0;i1<=frm.elements.length-1;i1++){ -if(((frm.elements[i1].type=="radio")||(frm.elements[i1].type=="checkbox")) && (frm.elements[i1].checked!=frm.elements[i1].defaultChecked)){return true;} -if( ((frm.elements[i1].type=="textarea")||(frm.elements[i1].type=="text")||(frm.elements[i1].type=="file")) && (frm.elements[i1].value!=frm.elements[i1].defaultValue)){return true;} +{for(var i1=0;i1<=frm.elements.length-1;i1++){if((frm.elements[i1].type=="radio"||frm.elements[i1].type=="checkbox")&&(frm.elements[i1].checked!=frm.elements[i1].defaultChecked)){return true;} +if((frm.elements[i1].type=="textarea"||frm.elements[i1].type=="text"||frm.elements[i1].type=="file")&&(frm.elements[i1].value!=frm.elements[i1].defaultValue)){return true;} if(frm.elements[i1].tagName.toLowerCase()=="select"){var selectDefaultValue=frm.elements[i1].value;for(var i2=0;i2<=frm.elements[i1].options.length-1;i2++){if(frm.elements[i1].options[i2].defaultSelected){selectDefaultValue=frm.elements[i1].options[i2].value;break;}} if(frm.elements[i1].value!=selectDefaultValue){return true;}}} return false;} diff --git a/workflow/engine/templates/cases/open.js b/workflow/engine/templates/cases/open.js index e46932053..45bd27203 100755 --- a/workflow/engine/templates/cases/open.js +++ b/workflow/engine/templates/cases/open.js @@ -256,8 +256,8 @@ Ext.onReady(function(){ } } - if (swDynaformChange) { - if ((swRequiredField == 1)){ + if (swRequiredField == 1){ + if (swDynaformChange) { Ext.MessageBox.show({ title: _("ID_CONFIRM"), msg: _("ID_DYNAFORM_SAVE_CHANGES"), @@ -292,14 +292,13 @@ Ext.onReady(function(){ } } }); - } else { + } else { + loadMaskStep.show(); + document.getElementById("openCaseFrame").src = node.attributes.url; + } + } else { swNodeCurrentSelect = 1; - } - } else { - loadMaskStep.show(); - //Set URL and redirect - document.getElementById("openCaseFrame").src = node.attributes.url; - } + } } else { loadMaskStep.show(); From cce17201911a845b8514c22fc16de0ea31b32961 Mon Sep 17 00:00:00 2001 From: norahmollo Date: Fri, 7 Feb 2014 15:10:26 -0400 Subject: [PATCH 17/54] BUG-14060 Ordering "Dynaform" dropdown Dynaform dropdown is not in alphabetical order --- workflow/engine/classes/class.processMap.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/engine/classes/class.processMap.php b/workflow/engine/classes/class.processMap.php index d77a4d01e..027b20343 100755 --- a/workflow/engine/classes/class.processMap.php +++ b/workflow/engine/classes/class.processMap.php @@ -1907,7 +1907,7 @@ class processMap $aConditions[] = array('C2.CON_LANG', $sDelimiter . SYS_LANG . $sDelimiter ); $oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN); $oCriteria->add(DynaformPeer::PRO_UID, $sProcessUID); - + $oCriteria->addAscendingOrderByColumn(DYN_TITLE); $oDataset = DynaformPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); From bbf425aeeca2bdddad3c58c60b4616df88d3a972 Mon Sep 17 00:00:00 2001 From: norahmollo Date: Fri, 7 Feb 2014 16:35:18 -0400 Subject: [PATCH 18/54] BUG-14060 Ordering Dynaform dropdown menu Dynaform dropdown is not in alphabetical order. --- workflow/engine/classes/class.processMap.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/engine/classes/class.processMap.php b/workflow/engine/classes/class.processMap.php index 027b20343..9fdd36591 100755 --- a/workflow/engine/classes/class.processMap.php +++ b/workflow/engine/classes/class.processMap.php @@ -1907,7 +1907,7 @@ class processMap $aConditions[] = array('C2.CON_LANG', $sDelimiter . SYS_LANG . $sDelimiter ); $oCriteria->addJoinMC($aConditions, Criteria::LEFT_JOIN); $oCriteria->add(DynaformPeer::PRO_UID, $sProcessUID); - $oCriteria->addAscendingOrderByColumn(DYN_TITLE); + $oCriteria->addAscendingOrderByColumn('DYN_TITLE'); $oDataset = DynaformPeer::doSelectRS($oCriteria); $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); From c3770233cd0d0f990a1169bfa93fa97da5a33a0d Mon Sep 17 00:00:00 2001 From: norahmollo Date: Mon, 10 Feb 2014 10:55:44 -0400 Subject: [PATCH 19/54] BUG-14050 Gridd Issue Delete and Add rows propertie is not saved. --- workflow/engine/methods/dynaforms/fields_Save.php | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/workflow/engine/methods/dynaforms/fields_Save.php b/workflow/engine/methods/dynaforms/fields_Save.php index c9a0c537c..a15c5dc81 100755 --- a/workflow/engine/methods/dynaforms/fields_Save.php +++ b/workflow/engine/methods/dynaforms/fields_Save.php @@ -118,10 +118,10 @@ if (file_exists(PATH_XMLFORM . 'dynaforms/fields/' . $type . '.xml')) { } if ($type === 'grid') { if (!isset($_POST['form']['PME_ADDROW']) || $_POST['form']['PME_ADDROW'] == '') { - $_POST['form']['PME_ADDROW'] = '0'; + $_POST['form']['PME_ADDROW'] = 0; } if (!isset($_POST['form']['PME_DELETEROW']) || $_POST['form']['PME_DELETEROW'] == '') { - $_POST['form']['PME_DELETEROW'] = '0'; + $_POST['form']['PME_DELETEROW'] = 0; } } if ($type === 'dropdown' || $type === 'listbox') { @@ -147,7 +147,7 @@ foreach ($_POST['form'] as $key => $value) { $_POST['form'] = $res; -$dbc = new DBConnection(PATH_DYNAFORM . $file . '.xml', '', '', '', 'myxml'); +$dbc = new DBConnection(PATH_DYNAFORM . $file . '.xml', '', '', '', 'myxml'); $ses = new DBSession($dbc); $fields = new DynaFormField($dbc); @@ -179,7 +179,7 @@ unset($attributes['PRO_UID']); $options = null; foreach ($attributes as $key => $value) { - if ($key === 'OPTIONS') { + if ($key === 'OPTIONS') { if (is_array($value)) { if (is_array(reset($value))) { $langs = array(); @@ -210,7 +210,7 @@ foreach ($attributes as $key => $value) { } */ } } - } else { + } else { if (is_array($value)) { //Is a list: if (is_string(reset($value))) { @@ -223,14 +223,15 @@ foreach ($attributes as $key => $value) { } unset($attributes['VALIDATE_NAME']); $fields->setFileName(PATH_DYNAFORM . $file . '.xml'); - $FieldAttributes = $attributes; $FieldAttrib = array(); + unset($FieldAttributes['XMLNODE_NAME']); unset($FieldAttributes['XMLNODE_NAME_OLD']); unset($FieldAttributes['XMLNODE_VALUE']); unset($FieldAttributes['BTN_CANCEL']); unset($FieldAttributes['SAVELABEL']); + foreach ($FieldAttributes as $key => $value) { switch (gettype($value)) { case 'string': From e2b2d8f6e8da17614c8d391d71c7dd0473143d79 Mon Sep 17 00:00:00 2001 From: norahmollo Date: Tue, 11 Feb 2014 15:07:07 -0400 Subject: [PATCH 20/54] BUG-14005 Emergency subProcess in mobile mode Sub-processes has showed in Start Case option --- workflow/engine/controllers/home.php | 34 +++++++++++++++++++--------- 1 file changed, 23 insertions(+), 11 deletions(-) diff --git a/workflow/engine/controllers/home.php b/workflow/engine/controllers/home.php index 06b8dadd8..f6b3749ec 100755 --- a/workflow/engine/controllers/home.php +++ b/workflow/engine/controllers/home.php @@ -43,13 +43,13 @@ class Home extends Controller } public function login ($httpData) - { + { //start new session @session_destroy(); session_start(); session_regenerate_id(); - $data = isset( $httpData->d ) ? unserialize( base64_decode( $httpData->d ) ) : ''; + $data = isset( $httpData->d ) ? unserialize( base64_decode( $httpData->d ) ) : ''; $template = $this->clientBrowser['name'] == 'msie' ? 'login_ie' : 'login_standard'; $skin = $this->clientBrowser['name'] == 'msie' ? $this->lastSkin : 'simplified'; @@ -94,8 +94,20 @@ class Home extends Controller $start = 0; $limit = ''; - $proData = $process->getAllProcesses( $start, $limit ); - $processList = $case->getStartCasesPerType( $_SESSION['USER_LOGGED'], 'category' ); + $proData = $process->getAllProcesses( $start, $limit, null, null, false, true ); + $processList = $case->getStartCasesPerType( $_SESSION['USER_LOGGED'], 'category' ); + + unset( $processList[0] ); + $processesList = array (); + + foreach ($processList as $key => $valueProcess) { + foreach ($proData as $keyPro => $valuePro) { + if ($valueProcess['pro_uid'] == $valuePro['PRO_UID']) { + $processesList[] = $valueProcess; + } + } + } + $switchLink = $userProperty->getUserLocation( $_SESSION['USER_LOGGED'] ); if (!isset($_COOKIE['workspaceSkin'])) { @@ -105,8 +117,6 @@ class Home extends Controller } } - unset( $processList[0] ); - //Get simplified options global $G_TMP_MENU; @@ -132,7 +142,7 @@ class Home extends Controller $this->setVar( 'usrUid', $this->userID ); $this->setVar( 'userName', $this->userName ); - $this->setVar( 'processList', $processList ); + $this->setVar( 'processList', $processesList ); $this->setVar( 'canStartCase', $case->canStartCase( $_SESSION['USER_LOGGED'] ) ); $this->setVar( 'userUxType', $this->userUxType ); $this->setVar( 'clientBrowser', $this->clientBrowser['name'] ); @@ -183,7 +193,7 @@ class Home extends Controller } public function appList ($httpData) - { + { // setting default list applications types [default: todo] $httpData->t = isset( $httpData->t ) ? $httpData->t : 'todo'; @@ -199,6 +209,7 @@ class Home extends Controller $title = G::LoadTranslation("ID_UNASSIGNED_INBOX"); break; default: + G::pr('sueñooooo');die(); $title = ucwords( $httpData->t ); break; } @@ -270,7 +281,7 @@ class Home extends Controller } public function getApps ($httpData) - { + { $cases = $this->getAppsData( $httpData->t, $httpData->start, $httpData->limit ); $this->setView( $this->userUxBaseTemplate . PATH_SEP . 'applications' ); @@ -293,7 +304,7 @@ class Home extends Controller $dir = null, $sort = "APP_CACHE_VIEW.APP_NUMBER", $category = null) - { + { require_once ("classes/model/AppNotes.php"); G::LoadClass( 'applications' ); @@ -545,7 +556,7 @@ class Home extends Controller return $status; } function getProcessArray($action, $userUid) - { + { global $oAppCache; $processes = array(); @@ -576,6 +587,7 @@ class Home extends Controller $cProcess->addJoinMC($conds, Criteria::LEFT_JOIN); $cProcess->add(ProcessPeer::PRO_STATUS, "ACTIVE"); $oDataset = ProcessPeer::doSelectRS($cProcess); + $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); $oDataset->next(); From 40710b67e756d48c7d14ad9915d7ba743357918c Mon Sep 17 00:00:00 2001 From: norahmollo Date: Wed, 12 Feb 2014 09:55:03 -0400 Subject: [PATCH 21/54] BUG-14043 Simplified User Experience In the language arabic it is not possible to change the user experience or logout. --- workflow/engine/skinEngine/simplified/css/topbar.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/engine/skinEngine/simplified/css/topbar.css b/workflow/engine/skinEngine/simplified/css/topbar.css index dadd76521..9d4473365 100644 --- a/workflow/engine/skinEngine/simplified/css/topbar.css +++ b/workflow/engine/skinEngine/simplified/css/topbar.css @@ -523,7 +523,7 @@ div.topbar ul.primary-nav li ul { left: 0; } div.topbar ul.secondary-nav li ul { - right: 0; + left: 0 !important; } div.topbar ul li ul li { float: none; From 6c49835d75d90303e8c828b7368be989752086cc Mon Sep 17 00:00:00 2001 From: Brayan Osmar Pereyra Suxo Date: Wed, 12 Feb 2014 12:17:42 -0400 Subject: [PATCH 22/54] Adicion de traducciones a la clase SMTP --- gulliver/thirdparty/phpmailer/class.smtp.php | 59 ++++++++++---------- 1 file changed, 29 insertions(+), 30 deletions(-) diff --git a/gulliver/thirdparty/phpmailer/class.smtp.php b/gulliver/thirdparty/phpmailer/class.smtp.php index fdec2fdb9..3d4b9ce00 100755 --- a/gulliver/thirdparty/phpmailer/class.smtp.php +++ b/gulliver/thirdparty/phpmailer/class.smtp.php @@ -162,7 +162,7 @@ class SMTP { // make sure we are __not__ connected if($this->connected()) { // already connected, generate error - $this->error = array("error" => "Already connected to a server"); + $this->error = array("error" => G::LoadTranslation( 'ID_SMTP_ALREADY_CONNECTED' )); return false; } @@ -178,7 +178,7 @@ class SMTP { $tval); // give up after ? secs // verify we connected properly if(empty($this->smtp_conn)) { - $this->error = array("error" => "Failed to connect to server", + $this->error = array("error" => G::LoadTranslation( 'ID_SMTP_FAILED_CONNECT_SERVER' ), "errno" => $errno, "errstr" => $errstr); if($this->do_debug >= 1) { @@ -220,7 +220,7 @@ class SMTP { $this->error = null; # to avoid confusion if(!$this->connected()) { - $this->error = array("error" => "Called StartTLS() without being connected"); + $this->error = array("error" => G::LoadTranslation( 'ID_SMTP_ERROR_START_TLS' )); return false; } @@ -235,7 +235,7 @@ class SMTP { if($code != 220) { $this->error = - array("error" => "STARTTLS not accepted from server", + array("error" => G::LoadTranslation( 'ID_SMTP_ERROR_START_TLS_NOT_ACCEPTED' ), "smtp_code" => $code, "smtp_msg" => substr($rply,4)); if($this->do_debug >= 1) { @@ -278,7 +278,7 @@ class SMTP { if($code != 334) { $this->error = - array("error" => "AUTH not accepted from server", + array("error" => G::LoadTranslation( 'ID_SMTP_ERROR_AUTH_NOT_ACCEPTED' ), "smtp_code" => $code, "smtp_msg" => substr($rply,4)); if($this->do_debug >= 1) { @@ -294,7 +294,7 @@ class SMTP { if($code != 235) { $this->error = - array("error" => "Authentication not accepted from server", + array("error" => G::LoadTranslation( 'ID_SMTP_ERROR_AUTH_NOT_ACCEPTED' ), "smtp_code" => $code, "smtp_msg" => substr($rply,4)); if($this->do_debug >= 1) { @@ -312,7 +312,7 @@ class SMTP { if($code != 334) { $this->error = - array("error" => "AUTH not accepted from server", + array("error" => G::LoadTranslation( 'ID_SMTP_ERROR_AUTH_NOT_ACCEPTED' ), "smtp_code" => $code, "smtp_msg" => substr($rply,4)); if($this->do_debug >= 1) { @@ -329,7 +329,7 @@ class SMTP { if($code != 334) { $this->error = - array("error" => "Username not accepted from server", + array("error" => G::LoadTranslation( 'ID_SMTP_ERROR_USERNAME_NOT_ACCEPTED' ), "smtp_code" => $code, "smtp_msg" => substr($rply,4)); if($this->do_debug >= 1) { @@ -346,7 +346,7 @@ class SMTP { if($code != 235) { $this->error = - array("error" => "Password not accepted from server", + array("error" => G::LoadTranslation( 'ID_SMTP_ERROR_PASSWORD_NOT_ACCEPTED' ), "smtp_code" => $code, "smtp_msg" => substr($rply,4)); if($this->do_debug >= 1) { @@ -369,7 +369,7 @@ class SMTP { if(! $ntlm_client->Initialize($temp)){//let's test if every function its available $this->error = array("error" => $temp->error); if($this->do_debug >= 1) { - $this->edebug("You need to enable some modules in your php.ini file: " . $this->error["error"] . $this->CRLF); + $this->edebug(G::LoadTranslation( 'ID_SMTP_ERROR_ENABLE_PHPINI' ) . ": " . $this->error["error"] . $this->CRLF); } return false; } @@ -383,7 +383,7 @@ class SMTP { if($code != 334) { $this->error = - array("error" => "AUTH not accepted from server", + array("error" => G::LoadTranslation( 'ID_SMTP_ERROR_AUTH_NOT_ACCEPTED' ), "smtp_code" => $code, "smtp_msg" => substr($rply,4)); if($this->do_debug >= 1) { @@ -404,7 +404,7 @@ class SMTP { if($code != 235) { $this->error = - array("error" => "Could not authenticate", + array("error" => G::LoadTranslation( 'ID_SMTP_ERROR_COULD_NOT_AUTH' ), "smtp_code" => $code, "smtp_msg" => substr($rply,4)); if($this->do_debug >= 1) { @@ -428,7 +428,7 @@ class SMTP { if($sock_status["eof"]) { // the socket is valid but we are not connected if($this->do_debug >= 1) { - $this->edebug("SMTP -> NOTICE:" . $this->CRLF . "EOF caught while checking if connected"); + $this->edebug("SMTP -> NOTICE:" . $this->CRLF . G::LoadTranslation( 'ID_SMTP_ERROR_EOF_CAUGHT' )); } $this->Close(); return false; @@ -484,7 +484,7 @@ class SMTP { if(!$this->connected()) { $this->error = array( - "error" => "Called Data() without being connected"); + "error" => G::LoadTranslation( 'ID_SMTP_ERROR_CALLED_DATA_WITHOUT' )); return false; } @@ -499,7 +499,7 @@ class SMTP { if($code != 354) { $this->error = - array("error" => "DATA command not accepted from server", + array("error" => G::LoadTranslation( 'ID_SMTP_ERROR_DATA_COM_NOT_ACCEPTED' ), "smtp_code" => $code, "smtp_msg" => substr($rply,4)); if($this->do_debug >= 1) { @@ -593,7 +593,7 @@ class SMTP { if($code != 250) { $this->error = - array("error" => "DATA not accepted from server", + array("error" => G::LoadTranslation( 'ID_SMTP_ERROR_DATA_NOT_ACCEPTED' ), "smtp_code" => $code, "smtp_msg" => substr($rply,4)); if($this->do_debug >= 1) { @@ -622,7 +622,7 @@ class SMTP { if(!$this->connected()) { $this->error = array( - "error" => "Called Hello() without being connected"); + "error" => G::LoadTranslation( 'ID_SMTP_ERROR_CALLED_HELLO_WITHOUT' )); return false; } @@ -661,7 +661,7 @@ class SMTP { if($code != 250) { $this->error = - array("error" => $hello . " not accepted from server", + array("error" => $hello . ' ' . G::LoadTranslation( 'ID_SMTP_ERROR_NOT_ACCEPTED' ), "smtp_code" => $code, "smtp_msg" => substr($rply,4)); if($this->do_debug >= 1) { @@ -695,7 +695,7 @@ class SMTP { if(!$this->connected()) { $this->error = array( - "error" => "Called Mail() without being connected"); + "error" => G::LoadTranslation( 'ID_SMTP_ERROR_CALLED_MAIL_WITHOUT' )); return false; } @@ -711,7 +711,7 @@ class SMTP { if($code != 250) { $this->error = - array("error" => "MAIL not accepted from server", + array("error" => G::LoadTranslation( 'ID_SMTP_ERROR_MAIL_NOT_ACCEPTED' ), "smtp_code" => $code, "smtp_msg" => substr($rply,4)); if($this->do_debug >= 1) { @@ -739,7 +739,7 @@ class SMTP { if(!$this->connected()) { $this->error = array( - "error" => "Called Quit() without being connected"); + "error" => G::LoadTranslation( 'ID_SMTP_ERROR_CALLED_QUIT_WITHOUT' )); return false; } @@ -759,7 +759,7 @@ class SMTP { $code = substr($byemsg,0,3); if($code != 221) { // use e as a tmp var cause Close will overwrite $this->error - $e = array("error" => "SMTP server rejected quit command", + $e = array("error" => G::LoadTranslation( 'ID_SMTP_ERROR_SERVER_REJECTED' ), "smtp_code" => $code, "smtp_rply" => substr($byemsg,4)); $rval = false; @@ -793,7 +793,7 @@ class SMTP { if(!$this->connected()) { $this->error = array( - "error" => "Called Recipient() without being connected"); + "error" => G::LoadTranslation( 'ID_SMTP_ERROR_CALLED_RECIPIENT_WITHOUT' )); return false; } @@ -808,7 +808,7 @@ class SMTP { if($code != 250 && $code != 251) { $this->error = - array("error" => "RCPT not accepted from server", + array("error" => G::LoadTranslation( 'ID_SMTP_ERROR_RCPT_NOT_ACCEPTED' ), "smtp_code" => $code, "smtp_msg" => substr($rply,4)); if($this->do_debug >= 1) { @@ -836,7 +836,7 @@ class SMTP { if(!$this->connected()) { $this->error = array( - "error" => "Called Reset() without being connected"); + "error" => G::LoadTranslation( 'ID_SMTP_ERROR_CALLED_RESET_WITHOUT' )); return false; } @@ -851,7 +851,7 @@ class SMTP { if($code != 250) { $this->error = - array("error" => "RSET failed", + array("error" => G::LoadTranslation( 'ID_SMTP_ERROR_RSET_FAILED' ), "smtp_code" => $code, "smtp_msg" => substr($rply,4)); if($this->do_debug >= 1) { @@ -885,7 +885,7 @@ class SMTP { if(!$this->connected()) { $this->error = array( - "error" => "Called SendAndMail() without being connected"); + "error" => G::LoadTranslation( 'ID_SMTP_ERROR_CALLED_SENDANDMAIL_WITHOUT' )); return false; } @@ -900,7 +900,7 @@ class SMTP { if($code != 250) { $this->error = - array("error" => "SAML not accepted from server", + array("error" => G::LoadTranslation( 'ID_SMTP_ERROR_SAML_NOT_ACCEPTED' ), "smtp_code" => $code, "smtp_msg" => substr($rply,4)); if($this->do_debug >= 1) { @@ -925,8 +925,7 @@ class SMTP { * @return bool */ public function Turn() { - $this->error = array("error" => "This method, TURN, of the SMTP ". - "is not implemented"); + $this->error = array("error" => G::LoadTranslation( 'ID_SMTP_ERROR_MET_TURN_SMTP_NOT_IMPLEMENTED' )); if($this->do_debug >= 1) { $this->edebug("SMTP -> NOTICE: " . $this->error["error"] . $this->CRLF . '
'); } From 710459860a26bd7c65be09f056844e957bbe0a25 Mon Sep 17 00:00:00 2001 From: Brayan Osmar Pereyra Suxo Date: Wed, 12 Feb 2014 15:10:04 -0400 Subject: [PATCH 23/54] Adicion de label en xmlform de events --- .../methods/events/eventsEditAction.php | 13 ++++++ .../xmlform/events/eventsEditAction.html | 44 +++++++++++-------- .../xmlform/events/eventsEditAction.xml | 39 ++++++++++++++++ 3 files changed, 78 insertions(+), 18 deletions(-) diff --git a/workflow/engine/methods/events/eventsEditAction.php b/workflow/engine/methods/events/eventsEditAction.php index eff7749f3..7ee480b9e 100755 --- a/workflow/engine/methods/events/eventsEditAction.php +++ b/workflow/engine/methods/events/eventsEditAction.php @@ -229,6 +229,7 @@ $_DBArray['triggers'] = $aTriggers; $_SESSION['_DBArray'] = $_DBArray; +$aFields = array_merge($aFields, setLabels()); $G_PUBLISH = new Publisher(); $G_PUBLISH->AddContent( 'xmlform', 'xmlform', 'events/eventsEditAction', '', $aFields, '../events/eventsSave' ); //$G_PUBLISH->AddContent('xmlform', 'xmlform', 'events/eventsEditAction', '', $aFields, '../events/eventsSave'); @@ -239,3 +240,15 @@ function replaceQuotes ($aData) return str_replace( '"', '"e;', $aData ); } +function setLabels () { + $labels = array( + 'LABEL_ADD' => G::LoadTranslation( 'ID_ADD' ), + 'LABEL_ADD_CURRENT' => G::LoadTranslation( 'ID_EVENT_ADD_CURRENT' ), + 'LABEL_ADD_USERS' => G::LoadTranslation( 'ID_EVENT_ADD_USERS' ), + 'LABEL_REMOVED_SELECTED' => G::LoadTranslation( 'ID_EVENT_REMOVE_SELECTED' ), + 'LABEL_ADD_DYNAVAR' => G::LoadTranslation( 'ID_EVENT_ADD_DYNAVAR' ), + 'LABEL_ADD_GROUPS' => G::LoadTranslation( 'ID_EVENT_ADD_GROUPS' ) + ); + return $labels; +} + diff --git a/workflow/engine/xmlform/events/eventsEditAction.html b/workflow/engine/xmlform/events/eventsEditAction.html index 70bd5bfa1..f486889f5 100755 --- a/workflow/engine/xmlform/events/eventsEditAction.html +++ b/workflow/engine/xmlform/events/eventsEditAction.html @@ -60,14 +60,14 @@ - - - + + + - - - + + + @@ -86,14 +86,14 @@
{$form.EVN_MESSAGE_TO_TO_SIMPLEADD}
{$form.EVN_MESSAGE_TO_TO}
 
- - - + + + - - - + + + @@ -111,14 +111,14 @@
{$form.EVN_MESSAGE_TO_CC_SIMPLEADD}
{$form.EVN_MESSAGE_TO_CC}
 
- - - + + + - - - + + + @@ -141,6 +141,14 @@
{$form.EVN_MESSAGE_TO_BCC_SIMPLEADD}
{$form.EVN_MESSAGE_TO_BCC}
 
+
+ {$form.LABEL_ADD} + {$form.LABEL_ADD_CURRENT} + {$form.LABEL_ADD_USERS} + {$form.LABEL_REMOVED_SELECTED} + {$form.LABEL_ADD_DYNAVAR} + {$form.LABEL_ADD_GROUPS} +
* {php}echo (G::LoadTranslation('ID_REQUIRED_FIELD'));{/php}
diff --git a/workflow/engine/xmlform/events/eventsEditAction.xml b/workflow/engine/xmlform/events/eventsEditAction.xml index 527b249b8..370fdab0e 100755 --- a/workflow/engine/xmlform/events/eventsEditAction.xml +++ b/workflow/engine/xmlform/events/eventsEditAction.xml @@ -83,6 +83,14 @@ SELECT TRI_UID, TRI_TITLE FROM triggers Save + + + + + + + + \ No newline at end of file From 7fef38ea5a31317049d29474da4b37c8b31368b1 Mon Sep 17 00:00:00 2001 From: norahmollo Date: Wed, 12 Feb 2014 15:11:29 -0400 Subject: [PATCH 24/54] BUG-14043 Simplified User Experience In the arabic language is not possible to change the user experience or logout --- workflow/engine/controllers/home.php | 10 +++++++++- workflow/engine/skinEngine/simplified/css/topbar.css | 5 ++++- workflow/engine/templates/home/index.html | 8 +++++--- 3 files changed, 18 insertions(+), 5 deletions(-) diff --git a/workflow/engine/controllers/home.php b/workflow/engine/controllers/home.php index f6b3749ec..6ea704e96 100755 --- a/workflow/engine/controllers/home.php +++ b/workflow/engine/controllers/home.php @@ -117,6 +117,14 @@ class Home extends Controller } } + $oServerConf = & serverConf::getSingleton(); + + if ($oServerConf->isRtl( SYS_LANG )) { + $swRtl = 1; + } else { + $swRtl = 0; + } + //Get simplified options global $G_TMP_MENU; @@ -149,6 +157,7 @@ class Home extends Controller $this->setVar( 'switchLink', $switchLink ); $this->setVar( 'arrayMnuOption', $arrayMnuOption ); $this->setVar( 'mnuNewCase', $mnuNewCase ); + $this->setVar( 'rtl', $swRtl ); $this->render(); } @@ -209,7 +218,6 @@ class Home extends Controller $title = G::LoadTranslation("ID_UNASSIGNED_INBOX"); break; default: - G::pr('sueñooooo');die(); $title = ucwords( $httpData->t ); break; } diff --git a/workflow/engine/skinEngine/simplified/css/topbar.css b/workflow/engine/skinEngine/simplified/css/topbar.css index 9d4473365..c05a0d018 100644 --- a/workflow/engine/skinEngine/simplified/css/topbar.css +++ b/workflow/engine/skinEngine/simplified/css/topbar.css @@ -523,7 +523,10 @@ div.topbar ul.primary-nav li ul { left: 0; } div.topbar ul.secondary-nav li ul { - left: 0 !important; + right: 0; +} +div.topbar ul.rtl-secondary-nav li ul { + left: 0; } div.topbar ul li ul li { float: none; diff --git a/workflow/engine/templates/home/index.html b/workflow/engine/templates/home/index.html index 6ff61e37b..000059de2 100644 --- a/workflow/engine/templates/home/index.html +++ b/workflow/engine/templates/home/index.html @@ -136,14 +136,16 @@ {/if} - -