From 5fa88630ee0b56a3e3bb1b694815db67d5b26eba Mon Sep 17 00:00:00 2001 From: "marcelo.cuiza" Date: Fri, 6 Feb 2015 14:35:44 -0400 Subject: [PATCH 01/11] PM-1492 Las condiciones no funcionan correctamente, si es que no estan dentro de parentesis (). Se encapsulo en parentesis toda condicion dada. --- workflow/engine/classes/class.derivation.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/engine/classes/class.derivation.php b/workflow/engine/classes/class.derivation.php index 9c3328886..88416c60d 100755 --- a/workflow/engine/classes/class.derivation.php +++ b/workflow/engine/classes/class.derivation.php @@ -194,7 +194,7 @@ class Derivation $pmScript = new PMScript(); $pmScript->setFields($arrayApplicationData["APP_DATA"]); - $pmScript->setScript($arrayRouteData["ROU_CONDITION"]); + $pmScript->setScript("( ".$arrayRouteData["ROU_CONDITION"]." )"); $flagContinue = $pmScript->evaluate(); } From c6c8a5de6a32bf8468b9866ac7dd5de218df0b3f Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Thu, 19 Feb 2015 10:05:12 -0400 Subject: [PATCH 02/11] PM-1412 --- workflow/engine/controllers/pmTablesProxy.php | 29 +++++++++++++++++++ .../engine/templates/pmTables/editReport.js | 25 ++++++++++++++++ 2 files changed, 54 insertions(+) diff --git a/workflow/engine/controllers/pmTablesProxy.php b/workflow/engine/controllers/pmTablesProxy.php index 3d4728ef0..147d3d131 100755 --- a/workflow/engine/controllers/pmTablesProxy.php +++ b/workflow/engine/controllers/pmTablesProxy.php @@ -1611,6 +1611,35 @@ class pmTablesProxy extends HttpProxyController } $oDataset->next(); } + + // getting bpmn projects + $oCriteria = new Criteria('workflow'); + $oCriteria->addSelectColumn(BpmnProcessPeer::PRJ_UID); + $oCriteria->add(BpmnProcessPeer::PRJ_UID, $proUid); + $oDataset = BpmnProcessPeer::doSelectRS($oCriteria, Propel::getDbConnection('workflow_ro')); + $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); + $oDataset->next(); + $row = $oDataset->getRow(); + if (isset($row["PRJ_UID"])) { + $oCriteria = new Criteria('workflow'); + $oCriteria->addSelectColumn(ProcessVariablesPeer::VAR_UID); + $oCriteria->addSelectColumn(ProcessVariablesPeer::VAR_NAME); + $oCriteria->addSelectColumn(ProcessVariablesPeer::VAR_FIELD_TYPE); + $oCriteria->add(ProcessVariablesPeer::PRJ_UID, $row["PRJ_UID"]); + $oDataset = ProcessVariablesPeer::doSelectRS($oCriteria); + $oDataset->setFetchmode(ResultSet::FETCHMODE_ASSOC); + $index = 0; + while ($oDataset->next()) { + $row = $oDataset->getRow(); + array_push($fields, array( + "FIELD_UID" => $row["VAR_NAME"] . "-" . $row["VAR_FIELD_TYPE"], + "FIELD_NAME" => $row["VAR_NAME"], + "FIELD_VALIDATE" => "any", + "_index" => $index ++, + "_isset" => true + )); + } + } sort( $fields ); diff --git a/workflow/engine/templates/pmTables/editReport.js b/workflow/engine/templates/pmTables/editReport.js index fc88597d1..603960af0 100755 --- a/workflow/engine/templates/pmTables/editReport.js +++ b/workflow/engine/templates/pmTables/editReport.js @@ -1667,6 +1667,31 @@ function mapPMFieldType(id) sizeField='255'; break; + case 'string': + typeField='VARCHAR'; + sizeField='255'; + break; + case 'integer': + typeField='INTEGER'; + sizeField='11'; + break; + case 'float': + typeField='FLOAT'; + sizeField='11'; + break; + case 'boolean': + typeField='INTEGER'; + sizeField='1'; + break; + case 'date': + typeField='VARCHAR'; + sizeField='255'; + break; + case 'datetime': + typeField='VARCHAR'; + sizeField='255'; + break; + default: typeField='TEXT'; sizeField=''; From 2167945c06ccef1b686a0eaced933d42724bd9b5 Mon Sep 17 00:00:00 2001 From: "marcelo.cuiza" Date: Thu, 19 Feb 2015 10:49:41 -0400 Subject: [PATCH 03/11] PM-1585 Audit Log para todas las opciones del menu contextual del PROCESO --- workflow/engine/methods/processes/processes_Save.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/engine/methods/processes/processes_Save.php b/workflow/engine/methods/processes/processes_Save.php index 6678ce79e..ed4eed37f 100755 --- a/workflow/engine/methods/processes/processes_Save.php +++ b/workflow/engine/methods/processes/processes_Save.php @@ -134,7 +134,7 @@ if(array_key_exists('PRO_TRI_PAUSED', $newFields)) { $fields[] = "Execute a trigger when a case is paused"; } if(array_key_exists('PRO_TRI_REASSIGNED', $newFields)) { - $fields[] = "Execute a trigger when a case is reassigned"; G + $fields[] = "Execute a trigger when a case is reassigned"; } if(array_key_exists('PRO_TRI_UNPAUSED', $newFields)) { $fields[] = "Execute a trigger when a case is unpaused"; From ace346232e37b834d4277e51138045fb32e5b434 Mon Sep 17 00:00:00 2001 From: Brayan Pereyra Date: Thu, 19 Feb 2015 11:12:19 -0400 Subject: [PATCH 04/11] PM-1638: No realiza las busquedas correctamente --- .../engine/methods/cases/proxyCasesList.php | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/workflow/engine/methods/cases/proxyCasesList.php b/workflow/engine/methods/cases/proxyCasesList.php index 83b296a87..cab3ed544 100755 --- a/workflow/engine/methods/cases/proxyCasesList.php +++ b/workflow/engine/methods/cases/proxyCasesList.php @@ -9,22 +9,22 @@ if (!isset($_SESSION['USER_LOGGED'])) { } //Getting the extJs parameters -$callback = isset( $_POST["callback"] ) ? $_POST["callback"] : "stcCallback1001"; -$dir = isset( $_POST["dir"] ) ? $_POST["dir"] : "DESC"; -$sort = isset( $_POST["sort"] ) ? $_POST["sort"] : ""; -$start = isset( $_POST["start"] ) ? $_POST["start"] : "0"; -$limit = isset( $_POST["limit"] ) ? $_POST["limit"] : "25"; -$filter = isset( $_POST["filter"] ) ? $_POST["filter"] : ""; -$process = isset( $_POST["process"] ) ? $_POST["process"] : ""; -$category = isset( $_POST["category"] ) ? $_POST["category"] : ""; -$status = isset( $_POST["status"] ) ? strtoupper( $_POST["status"] ) : ""; -$user = isset( $_POST["user"] ) ? $_POST["user"] : ""; -$search = isset( $_POST["search"] ) ? $_POST["search"] : ""; -$action = isset( $_GET["action"] ) ? $_GET["action"] : (isset( $_POST["action"] ) ? $_POST["action"] : "todo"); -$type = isset( $_GET["type"] ) ? $_GET["type"] : (isset( $_POST["type"] ) ? $_POST["type"] : "extjs"); -$dateFrom = isset( $_POST["dateFrom"] ) ? substr( $_POST["dateFrom"], 0, 10 ) : ""; -$dateTo = isset( $_POST["dateTo"] ) ? substr( $_POST["dateTo"], 0, 10 ) : ""; -$first = isset( $_POST["first"] ) ? true :false; +$callback = isset( $_REQUEST["callback"] ) ? $_REQUEST["callback"] : "stcCallback1001"; +$dir = isset( $_REQUEST["dir"] ) ? $_REQUEST["dir"] : "DESC"; +$sort = isset( $_REQUEST["sort"] ) ? $_REQUEST["sort"] : ""; +$start = isset( $_REQUEST["start"] ) ? $_REQUEST["start"] : "0"; +$limit = isset( $_REQUEST["limit"] ) ? $_REQUEST["limit"] : "25"; +$filter = isset( $_REQUEST["filter"] ) ? $_REQUEST["filter"] : ""; +$process = isset( $_REQUEST["process"] ) ? $_REQUEST["process"] : ""; +$category = isset( $_REQUEST["category"] ) ? $_REQUEST["category"] : ""; +$status = isset( $_REQUEST["status"] ) ? strtoupper( $_REQUEST["status"] ) : ""; +$user = isset( $_REQUEST["user"] ) ? $_REQUEST["user"] : ""; +$search = isset( $_REQUEST["search"] ) ? $_REQUEST["search"] : ""; +$action = isset( $_GET["action"] ) ? $_GET["action"] : (isset( $_REQUEST["action"] ) ? $_REQUEST["action"] : "todo"); +$type = isset( $_GET["type"] ) ? $_GET["type"] : (isset( $_REQUEST["type"] ) ? $_REQUEST["type"] : "extjs"); +$dateFrom = isset( $_REQUEST["dateFrom"] ) ? substr( $_REQUEST["dateFrom"], 0, 10 ) : ""; +$dateTo = isset( $_REQUEST["dateTo"] ) ? substr( $_REQUEST["dateTo"], 0, 10 ) : ""; +$first = isset( $_REQUEST["first"] ) ? true :false; if ($sort == 'CASE_SUMMARY' || $sort == 'CASE_NOTES_COUNT') { $sort = 'APP_NUMBER';//DEFAULT VALUE From cf8e7ee76b030d39b7487d51495431c467318416 Mon Sep 17 00:00:00 2001 From: "marcelo.cuiza" Date: Thu, 19 Feb 2015 11:12:33 -0400 Subject: [PATCH 05/11] PM-936 Agregar columna en lista de procesos Se agrego la columna que indica la fecha de la ultima modificacion, de cualquier evento o cambio en el proceso Add a column in the list of processes with the last updated date --- .../methods/processes/processes_Ajax.php | 35 ++++++++++--------- workflow/engine/templates/processes/main.js | 2 ++ 2 files changed, 21 insertions(+), 16 deletions(-) diff --git a/workflow/engine/methods/processes/processes_Ajax.php b/workflow/engine/methods/processes/processes_Ajax.php index d5b56d99c..13f9324d2 100755 --- a/workflow/engine/methods/processes/processes_Ajax.php +++ b/workflow/engine/methods/processes/processes_Ajax.php @@ -161,7 +161,7 @@ try { break; case 'process_Export': include (PATH_METHODS . 'processes/processes_Export.php'); - G::auditLog('ExportProcess','Export Process "'.$resultProcess['PRO_TITLE'].'"'); + G::auditLog('ExportProcess','Export process "'.$resultProcess['PRO_TITLE'].'"'); break; case 'process_User': include (PATH_METHODS . 'processes/processes_User.php'); @@ -195,7 +195,7 @@ try { G::LoadClass('processMap'); $oProcessMap = new ProcessMap(); $oProcessMap->listProcessesUser($oData->PRO_UID); - G::auditLog('AssignRole','Assign new supervisor ('.$oData->USR_UID.') in Process "'.$resultProcess['PRO_TITLE'].'"'); + G::auditLog('AssignRole','Assign new supervisor ('.$oData->USR_UID.') in process "'.$resultProcess['PRO_TITLE'].'"'); break; case 'removeProcessUser': $oProcessMap->removeProcessUser($oData->PU_UID); @@ -205,8 +205,7 @@ try { break; } } - - G::auditLog('RemoveUser','Remove supervisor ('.$userSupervisor.') in Process "'.$resultProcess['PRO_TITLE'].'"'); + G::auditLog('RemoveUser','Remove supervisor ('.$userSupervisor.') in process "'.$resultProcess['PRO_TITLE'].'"'); break; case 'supervisorDynaforms': $oProcessMap->supervisorDynaforms($oData->pro_uid); @@ -244,11 +243,15 @@ try { break; case 'addTask': $sOutput = $oProcessMap->addTask($oData->uid, $oData->position->x, $oData->position->y); - G::auditLog('AddTask','Add new task in process "'.$resultProcess['PRO_TITLE'].'"'); + $sOutputAux = G::json_decode($sOutput); + $sOutputAux = (array)$sOutputAux; + G::auditLog('AddTask','Add new task ('.$sOutputAux['uid'].') in process "'.$resultProcess['PRO_TITLE'].'"'); break; case 'addSubProcess': $sOutput = $oProcessMap->addSubProcess($oData->uid, $oData->position->x, $oData->position->y); - G::auditLog('AddSubProcess','Add new sub process in Process "'.$resultProcess['PRO_TITLE'].'"'); + $sOutputAux = G::json_decode($sOutput); + $sOutputAux = (array)$sOutputAux; + G::auditLog('AddSubProcess','Add new sub process ('.$sOutputAux['uid'].') in process "'.$resultProcess['PRO_TITLE'].'"'); break; case 'taskColor': $oTask->taskColor($oData->pro_uid, $oData->tas_uid); @@ -276,7 +279,7 @@ try { break; case 'saveGuidePosition': $sOutput = $oProcessMap->saveGuidePosition($oData->uid, $oData->position, $oData->direction); - G::auditLog('SaveGuidePosition','Change '.$oData->direction.' line position in process "'.$resultProcess['PRO_TITLE'].'"'); + G::auditLog('SaveGuidePosition','Change '.$oData->direction.' line position ('.$oData->uid.') in process "'.$resultProcess['PRO_TITLE'].'"'); break; case 'deleteGuide': $sOutput = $oProcessMap->deleteGuide($oData->uid); @@ -290,19 +293,19 @@ try { $sOutput = $oProcessMap->addText($oData->uid, $oData->label, $oData->position->x, $oData->position->y); $sOutputAux = G::json_decode($sOutput); $sOutputAux = (array)$sOutputAux; - G::auditLog('AddText','Add new text ('.$sOutputAux['uid'].') in Process "'.$resultProcess['PRO_TITLE'].'"'); + G::auditLog('AddText','Add new text ('.$sOutputAux['uid'].') in process "'.$resultProcess['PRO_TITLE'].'"'); break; case 'updateText': $sOutput = $oProcessMap->updateText($oData->uid, $oData->label); - G::auditLog('UpdateText','Edit text ('.$oData->uid.' ) in Process "'.$resultProcess['PRO_TITLE'].'"'); + G::auditLog('UpdateText','Edit text ('.$oData->uid.' ) in process "'.$resultProcess['PRO_TITLE'].'"'); break; case 'saveTextPosition': $sOutput = $oProcessMap->saveTextPosition($oData->uid, $oData->position->x, $oData->position->y); - G::auditLog('SaveTextPosition','Change text position ('.$oData->uid.' ) in Process "'.$resultProcess['PRO_TITLE'].'"'); + G::auditLog('SaveTextPosition','Change text position ('.$oData->uid.' ) in process "'.$resultProcess['PRO_TITLE'].'"'); break; case 'deleteText': $sOutput = $oProcessMap->deleteText($oData->uid); - G::auditLog('DeleteText','Delete text ('.$oData->uid.' ) in Process "'.$resultProcess['PRO_TITLE'].'"'); + G::auditLog('DeleteText','Delete text ('.$oData->uid.' ) in process "'.$resultProcess['PRO_TITLE'].'"'); break; case 'dynaforms': $oProcessMap->dynaformsList($oData->pro_uid); @@ -428,7 +431,7 @@ try { case 'exploreDirectory': $_SESSION["PFMDirectory"] = $oData->main_directory; $oProcessMap->exploreDirectory($oData->pro_uid, $oData->main_directory, $oData->directory); - G::auditLog('ProcessFileManager','Upload template ('.$oData->main_directory.') in Process "'.$resultProcess['PRO_TITLE'].'"'); + G::auditLog('ProcessFileManager','Upload template ('.$oData->main_directory.') in process "'.$resultProcess['PRO_TITLE'].'"'); break; case 'deleteFile': $oProcessMap->deleteFile($oData->pro_uid, $oData->main_directory, $oData->directory, $oData->file); @@ -544,11 +547,11 @@ try { switch ($sDir) { case 'mailTemplates': $sDirectory = PATH_DATA_MAILTEMPLATES . $_REQUEST['pro_uid'] . PATH_SEP . $_REQUEST['filename']; - G::auditLog('ProcessFileManager','Edit template ('.$_REQUEST['filename'].') in Process "'.$resultProcess['PRO_TITLE'].'"'); + G::auditLog('ProcessFileManager','Edit template ('.$_REQUEST['filename'].') in process "'.$resultProcess['PRO_TITLE'].'"'); break; case 'public': $sDirectory = PATH_DATA_PUBLIC . $_REQUEST['pro_uid'] . PATH_SEP . $_REQUEST['filename']; - G::auditLog('ProcessFileManager','Edit public template ('.$_REQUEST['filename'].') in Process "'.$resultProcess['PRO_TITLE'].'"'); + G::auditLog('ProcessFileManager','Edit public template ('.$_REQUEST['filename'].') in process "'.$resultProcess['PRO_TITLE'].'"'); break; default: $sDirectory = PATH_DATA_MAILTEMPLATES . $_REQUEST['pro_uid'] . PATH_SEP . $_REQUEST['filename']; @@ -636,11 +639,11 @@ try { switch ($sDir) { case 'mailTemplates': $sDirectory = PATH_DATA_MAILTEMPLATES . $_REQUEST['pro_uid'] . PATH_SEP . $_REQUEST['filename']; - G::auditLog('ProcessFileManager','Save template ('.$_REQUEST['filename'].') in Process "'.$resultProcess['PRO_TITLE'].'"'); + G::auditLog('ProcessFileManager','Save template ('.$_REQUEST['filename'].') in process "'.$resultProcess['PRO_TITLE'].'"'); break; case 'public': $sDirectory = PATH_DATA_PUBLIC . $_REQUEST['pro_uid'] . PATH_SEP . $_REQUEST['filename']; - G::auditLog('ProcessFileManager','Save public template ('.$_REQUEST['filename'].') in Process "'.$resultProcess['PRO_TITLE'].'"'); + G::auditLog('ProcessFileManager','Save public template ('.$_REQUEST['filename'].') in process "'.$resultProcess['PRO_TITLE'].'"'); break; default: $sDirectory = PATH_DATA_MAILTEMPLATES . $_REQUEST['pro_uid'] . PATH_SEP . $_REQUEST['filename']; diff --git a/workflow/engine/templates/processes/main.js b/workflow/engine/templates/processes/main.js index a7876f6ad..68362bea2 100755 --- a/workflow/engine/templates/processes/main.js +++ b/workflow/engine/templates/processes/main.js @@ -67,6 +67,7 @@ Ext.onReady(function(){ /*----------------------------------********---------------------------------*/ ,{name : "PRO_TYPE_PROCESS", type: "string"} /*----------------------------------********---------------------------------*/ + ,{name : "PRO_UPDATE_DATE"} ] }), @@ -226,6 +227,7 @@ Ext.onReady(function(){ /*----------------------------------********---------------------------------*/ ,{header: _("ID_TYPE_PROCESS"), dataIndex: "PRO_TYPE_PROCESS", width: 75, align:"left"} /*----------------------------------********---------------------------------*/ + ,{header: _("ID_LAN_UPDATE_DATE"), dataIndex: "PRO_UPDATE_DATE", width: 75, align:"left"} ] }), store: store, From 04ce2901868a639ef3d580be69ff692edb6f95ed Mon Sep 17 00:00:00 2001 From: Brayan Pereyra Date: Thu, 19 Feb 2015 11:24:10 -0400 Subject: [PATCH 06/11] PM-1633: El contador del Inbox es incorrecto cuando se tiene casos --- workflow/engine/classes/model/ListInbox.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/workflow/engine/classes/model/ListInbox.php b/workflow/engine/classes/model/ListInbox.php index f04aefe5c..e2901d40e 100644 --- a/workflow/engine/classes/model/ListInbox.php +++ b/workflow/engine/classes/model/ListInbox.php @@ -324,7 +324,10 @@ class ListInbox extends BaseListInbox if ($filters['action'] == 'draft') { $criteria->add( ListInboxPeer::DEL_INDEX, 1, Criteria::EQUAL ); + } else { + $criteria->add( ListInboxPeer::DEL_INDEX, 1, Criteria::NOT_EQUAL ); } + if ($dir == "DESC") { $criteria->addDescendingOrderByColumn($sort); } else { From 5556370d720e8b82fcb974ccfe664c8a454fb04a Mon Sep 17 00:00:00 2001 From: "marcelo.cuiza" Date: Thu, 19 Feb 2015 11:34:26 -0400 Subject: [PATCH 07/11] PM-328 No se valida el rango correcto entre fechas. Se agrego una funcion que valida que la fecha final sea siempre mayor que la inicial. --- .../engine/xmlform/dynaforms/fields/date.xml | 27 +++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/workflow/engine/xmlform/dynaforms/fields/date.xml b/workflow/engine/xmlform/dynaforms/fields/date.xml index 1369008f8..d5758435a 100755 --- a/workflow/engine/xmlform/dynaforms/fields/date.xml +++ b/workflow/engine/xmlform/dynaforms/fields/date.xml @@ -212,5 +212,32 @@ function validDate() { return true; } +leimnud.event.add(getField('PME_ENDDATE'), 'change', function() { + validDateRange(getField('PME_STARTDATE'), getField('PME_ENDDATE')) +}); +leimnud.event.add(getField('PME_AFTERDATE'), 'change', function() { + validDateRange(getField('PME_BEFOREDATE'), getField('PME_AFTERDATE')) +}); + +function validDateRange(start, end) { + var startDate = Date.parse(start.value); + var endDate = Date.parse(end.value); + + if (isNaN(startDate)) { + msgBox('@G::LoadTranslation(ID_START_DATE_NOT_VALID)', "alert"); + return false; + } + + if (isNaN(endDate)) { + msgBox('@G::LoadTranslation(ID_END_DATE_NOT_VALID)', "alert"); + return false; + } + + if (startDate >= endDate) { + msgBox('@G::LoadTranslation(ID_END_DATE_GREATER)', "alert"); + end.value = ""; + } +} + ]]> From a6fde3c2d57de712de4148f5c2d1edf03600f787 Mon Sep 17 00:00:00 2001 From: "marcelo.cuiza" Date: Thu, 19 Feb 2015 12:40:19 -0400 Subject: [PATCH 08/11] PM-1492 Las condiciones no funcionan correctamente, si es que no estan dentro de parentesis (). Se encapsulo en parentesis toda condicion dada que contenga un operador logico. --- workflow/engine/classes/class.derivation.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/workflow/engine/classes/class.derivation.php b/workflow/engine/classes/class.derivation.php index 88416c60d..1aba0e0fc 100755 --- a/workflow/engine/classes/class.derivation.php +++ b/workflow/engine/classes/class.derivation.php @@ -194,7 +194,12 @@ class Derivation $pmScript = new PMScript(); $pmScript->setFields($arrayApplicationData["APP_DATA"]); - $pmScript->setScript("( ".$arrayRouteData["ROU_CONDITION"]." )"); + $condition = strtoupper($arrayRouteData["ROU_CONDITION"]); + if(strpos($condition,"AND") || strpos($condition,"OR") || strpos($condition,"XOR")) { + $pmScript->setScript("( ".$arrayRouteData["ROU_CONDITION"]." )"); + } else { + $pmScript->setScript($arrayRouteData["ROU_CONDITION"]); + } $flagContinue = $pmScript->evaluate(); } From 5d349a03787895aee2924a9fe56f46ae0f243d78 Mon Sep 17 00:00:00 2001 From: Brayan Pereyra Date: Thu, 19 Feb 2015 14:22:29 -0400 Subject: [PATCH 09/11] Default flow se asigna despues de las demas condiciones --- workflow/engine/classes/class.derivation.php | 1 + 1 file changed, 1 insertion(+) diff --git a/workflow/engine/classes/class.derivation.php b/workflow/engine/classes/class.derivation.php index 4950006a9..794ab8742 100755 --- a/workflow/engine/classes/class.derivation.php +++ b/workflow/engine/classes/class.derivation.php @@ -182,6 +182,7 @@ class Derivation if ((int)($arrayRouteData["ROU_DEFAULT"]) == 1) { $arrayNextTaskDefault = $arrayRouteData; + continue; } $flagContinue = true; From 647e754200423bb5c03c34dd514796ecb5b74298 Mon Sep 17 00:00:00 2001 From: "marcelo.cuiza" Date: Thu, 19 Feb 2015 14:39:17 -0400 Subject: [PATCH 10/11] PM-1492 Las condiciones no funcionan correctamente, si es que no estan dentro de parentesis (). Se encapsulo en parentesis toda condicion dada que contenga un operador logico --- workflow/engine/classes/class.derivation.php | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/workflow/engine/classes/class.derivation.php b/workflow/engine/classes/class.derivation.php index 1aba0e0fc..d8c49c54b 100755 --- a/workflow/engine/classes/class.derivation.php +++ b/workflow/engine/classes/class.derivation.php @@ -194,8 +194,7 @@ class Derivation $pmScript = new PMScript(); $pmScript->setFields($arrayApplicationData["APP_DATA"]); - $condition = strtoupper($arrayRouteData["ROU_CONDITION"]); - if(strpos($condition,"AND") || strpos($condition,"OR") || strpos($condition,"XOR")) { + if(preg_match('/\b(or|and|xor)\b/i' , $arrayRouteData["ROU_CONDITION"])) { $pmScript->setScript("( ".$arrayRouteData["ROU_CONDITION"]." )"); } else { $pmScript->setScript($arrayRouteData["ROU_CONDITION"]); From c83e87b986bcd6592c77bf5ec09d696b9cd2c385 Mon Sep 17 00:00:00 2001 From: jonathan Date: Thu, 19 Feb 2015 15:08:29 -0400 Subject: [PATCH 11/11] =?UTF-8?q?fix=20PM-1636=20from=20jira=20La=20opci?= =?UTF-8?q?=C3=B3n=20Case=20Information=20Menu=20>=20Case=20History=20>=20?= =?UTF-8?q?Change=20log=20>=20view=20despliega=20el=20Notice:=20Undefined?= =?UTF-8?q?=20index:=20APPLICATION?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- workflow/engine/classes/class.pmDynaform.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/workflow/engine/classes/class.pmDynaform.php b/workflow/engine/classes/class.pmDynaform.php index 8b1b05123..275b542e8 100644 --- a/workflow/engine/classes/class.pmDynaform.php +++ b/workflow/engine/classes/class.pmDynaform.php @@ -37,7 +37,8 @@ class pmDynaform } } } - if(!empty($app_data)){ + + if(!empty($app_data) && isset($app_data["APPLICATION"])){ //data $cases = new \ProcessMaker\BusinessModel\Cases(); $this->data = $cases->getCaseVariables($app_data["APPLICATION"]);