From 5962da0ddbab12eb03271c398be026195982c123 Mon Sep 17 00:00:00 2001 From: Paula Quispe Date: Thu, 25 May 2017 13:39:26 -0400 Subject: [PATCH 01/75] HOR-3156 --- workflow/engine/classes/model/Groupwf.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/engine/classes/model/Groupwf.php b/workflow/engine/classes/model/Groupwf.php index dd2d826e1..1d510356f 100644 --- a/workflow/engine/classes/model/Groupwf.php +++ b/workflow/engine/classes/model/Groupwf.php @@ -267,9 +267,9 @@ class Groupwf extends BaseGroupwf $criteria = new Criteria( 'workflow' ); $criteria->addSelectColumn( GroupwfPeer::GRP_UID ); $criteria->addSelectColumn( GroupwfPeer::GRP_TITLE ); + $criteria->addAsColumn('CON_VALUE', GroupwfPeer::GRP_TITLE); $criteria->addSelectColumn( GroupwfPeer::GRP_STATUS ); $criteria->addSelectColumn( GroupwfPeer::GRP_LDAP_DN ); - $criteria->addSelectColumn( ContentPeer::CON_VALUE ); $criteria->add( GroupwfPeer::GRP_STATUS, 'ACTIVE' ); $criteria->addAscendingOrderByColumn( GroupwfPeer::GRP_TITLE ); From 34ed60d7921e1f29c965af1e11d5327b457a369a Mon Sep 17 00:00:00 2001 From: Paula Quispe Date: Thu, 1 Jun 2017 13:53:49 -0400 Subject: [PATCH 02/75] HOR-3327 --- gulliver/system/class.rbac.php | 18 +++++++ workflow/engine/controllers/processProxy.php | 53 +++----------------- 2 files changed, 24 insertions(+), 47 deletions(-) diff --git a/gulliver/system/class.rbac.php b/gulliver/system/class.rbac.php index fc91bd04c..d4dcf2913 100644 --- a/gulliver/system/class.rbac.php +++ b/gulliver/system/class.rbac.php @@ -109,6 +109,24 @@ class RBAC ), 'processes_DownloadFile.php' => array( 'downloadFileHash' => array('PM_FACTORY') + ), + 'processProxy.php' => array( + 'categoriesList' => array(), + 'getCategoriesList' => array(), + 'saveProcess' => array('PM_FACTORY'), + 'changeStatus' => array(), + 'changeDebugMode' => array(), + 'getUsers' => array(), + 'getGroups' => array(), + 'assignActorsTask' => array(), + 'removeActorsTask' => array(), + 'getActorsTask' => array(), + 'getProcessDetail' => array(), + 'getProperties' => array(), + 'saveProperties' => array(), + 'getCaledarList' => array(), + 'getPMVariables' => array(), + 'generateBpmn' => array() ) ); diff --git a/workflow/engine/controllers/processProxy.php b/workflow/engine/controllers/processProxy.php index 3e3607644..90cf66bd9 100644 --- a/workflow/engine/controllers/processProxy.php +++ b/workflow/engine/controllers/processProxy.php @@ -3,6 +3,12 @@ class ProcessProxy extends HttpProxyController { + public function call ($name) + { + global $RBAC; + $RBAC->allows(basename(__FILE__), $name); + parent::call($name); + } /** * get Process Categories List with defailt value (empty option) and -All- aoption */ @@ -50,53 +56,6 @@ class ProcessProxy extends HttpProxyController } $sProUid = $project->getUid(); - - -// require_once 'classes/model/Task.php'; -// G::LoadClass( 'processMap' ); -// $oProcessMap = new ProcessMap(); -// -// $httpData->PRO_TITLE = trim( $httpData->PRO_TITLE ); -// -// try { -// if (! isset( $httpData->PRO_UID )) { -// if (Process::existsByProTitle( $httpData->PRO_TITLE )) { -// $result = array ('success' => false,'msg' => G::LoadTranslation( 'ID_SAVE_PROCESS_ERROR' ),'errors' => array ('PRO_TITLE' => G::LoadTranslation( 'ID_PROCESSTITLE_ALREADY_EXISTS', SYS_LANG, Array ('PRO_TITLE' => $httpData->PRO_TITLE -// ) ) -// ) -// ); -// print G::json_encode( $result ); -// exit( 0 ); -// } -// -// $processData['USR_UID'] = $_SESSION['USER_LOGGED']; -// $processData['PRO_TITLE'] = $httpData->PRO_TITLE; -// $processData['PRO_DESCRIPTION'] = $httpData->PRO_DESCRIPTION; -// $processData['PRO_CATEGORY'] = $httpData->PRO_CATEGORY; -// -// $sProUid = $oProcessMap->createProcess( $processData ); -// -// //call pluginsx -// $oData['PRO_UID'] = $sProUid; -// $oData['PRO_TEMPLATE'] = isset( $httpData->PRO_TEMPLATE ) && $httpData->PRO_TEMPLATE != '' ? $httpData->PRO_TEMPLATE : ''; -// $oData['PROCESSMAP'] = $oProcessMap; -// -// $oPluginRegistry = & PMPluginRegistry::getSingleton(); -// $oPluginRegistry->executeTriggers( PM_NEW_PROCESS_SAVE, $oData ); -// -// } else { -// //$oProcessMap->updateProcess($_POST['form']); -// $sProUid = $httpData->PRO_UID; -// } -// -// //Save Calendar ID for this process -// if (isset( $httpData->PRO_CALENDAR )) { -// G::LoadClass( "calendar" ); -// $calendarObj = new Calendar(); -// $calendarObj->assignCalendarTo( $sProUid, $httpData->PRO_CALENDAR, 'PROCESS' ); -// } -// - $this->success = true; $this->PRO_UID = $sProUid; $this->msg = G::LoadTranslation( 'ID_CREATE_PROCESS_SUCCESS' ); From c8068f098c48fbc38eebf19e8a350921c106e3a3 Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Fri, 5 May 2017 12:25:12 -0400 Subject: [PATCH 03/75] HOR-3178 --- workflow/public_html/sysGeneric.php | 1 + 1 file changed, 1 insertion(+) diff --git a/workflow/public_html/sysGeneric.php b/workflow/public_html/sysGeneric.php index 28609084f..b8e8b661d 100644 --- a/workflow/public_html/sysGeneric.php +++ b/workflow/public_html/sysGeneric.php @@ -962,6 +962,7 @@ if (! defined( 'EXECUTE_BY_CRON' )) { $noLoginFiles[] = 'licenseUpdate'; $noLoginFiles[] = 'casesStreamingFile'; $noLoginFiles[] = 'opencase'; + $noLoginFiles[] = 'defaultAjaxDynaform'; $noLoginFolders[] = 'services'; $noLoginFolders[] = 'tracker'; From c8eee50b2508ed31cb983dd66889ff6c770fa438 Mon Sep 17 00:00:00 2001 From: Paula Quispe Date: Tue, 18 Apr 2017 16:24:57 -0400 Subject: [PATCH 04/75] HOR-3065 --- workflow/engine/classes/model/ListCanceled.php | 3 +++ 1 file changed, 3 insertions(+) diff --git a/workflow/engine/classes/model/ListCanceled.php b/workflow/engine/classes/model/ListCanceled.php index e9e521340..c01224f16 100644 --- a/workflow/engine/classes/model/ListCanceled.php +++ b/workflow/engine/classes/model/ListCanceled.php @@ -99,6 +99,9 @@ class ListCanceled extends BaseListCanceled $oListInbox = new ListInbox(); $oListInbox->removeAll($data['APP_UID']); + //We need to remove the cancelled case from unassigned list if the record exists + $unassigned = new ListUnassigned(); + $unassigned->remove($data['APP_UID'], $data['DEL_INDEX']); //Update - WHERE $criteriaWhere = new Criteria("workflow"); From 6bc543176311c1f4c473776a749348450a576211 Mon Sep 17 00:00:00 2001 From: Roly Date: Mon, 29 May 2017 11:43:04 +0000 Subject: [PATCH 05/75] Merged in bugfix/HOR-3260 (pull request #5687) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit HOR-3260 Approved-by: Julio Cesar Laura Avendaño --- workflow/engine/classes/model/map/WebEntryEventMapBuilder.php | 4 ++-- workflow/engine/config/schema.xml | 4 ++-- workflow/engine/data/mysql/schema.sql | 4 ++-- workflow/engine/src/ProcessMaker/BusinessModel/WebEntry.php | 2 +- .../engine/src/ProcessMaker/BusinessModel/WebEntryEvent.php | 2 +- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/workflow/engine/classes/model/map/WebEntryEventMapBuilder.php b/workflow/engine/classes/model/map/WebEntryEventMapBuilder.php index 826b445a0..883025921 100644 --- a/workflow/engine/classes/model/map/WebEntryEventMapBuilder.php +++ b/workflow/engine/classes/model/map/WebEntryEventMapBuilder.php @@ -67,9 +67,9 @@ class WebEntryEventMapBuilder $tMap->addPrimaryKey('WEE_UID', 'WeeUid', 'string', CreoleTypes::VARCHAR, true, 32); - $tMap->addColumn('WEE_TITLE', 'WeeTitle', 'string', CreoleTypes::LONGVARCHAR, true, null); + $tMap->addColumn('WEE_TITLE', 'WeeTitle', 'string', CreoleTypes::LONGVARCHAR, false, null); - $tMap->addColumn('WEE_DESCRIPTION', 'WeeDescription', 'string', CreoleTypes::LONGVARCHAR, true, null); + $tMap->addColumn('WEE_DESCRIPTION', 'WeeDescription', 'string', CreoleTypes::LONGVARCHAR, false, null); $tMap->addColumn('PRJ_UID', 'PrjUid', 'string', CreoleTypes::VARCHAR, true, 32); diff --git a/workflow/engine/config/schema.xml b/workflow/engine/config/schema.xml index 3e16c46f2..d61f68bd2 100644 --- a/workflow/engine/config/schema.xml +++ b/workflow/engine/config/schema.xml @@ -4774,8 +4774,8 @@ - - + + diff --git a/workflow/engine/data/mysql/schema.sql b/workflow/engine/data/mysql/schema.sql index 7a4bfe380..6ba7bae20 100644 --- a/workflow/engine/data/mysql/schema.sql +++ b/workflow/engine/data/mysql/schema.sql @@ -2718,8 +2718,8 @@ DROP TABLE IF EXISTS `WEB_ENTRY_EVENT`; CREATE TABLE `WEB_ENTRY_EVENT` ( `WEE_UID` VARCHAR(32) NOT NULL, - `WEE_TITLE` MEDIUMTEXT NOT NULL, - `WEE_DESCRIPTION` MEDIUMTEXT NOT NULL, + `WEE_TITLE` MEDIUMTEXT, + `WEE_DESCRIPTION` MEDIUMTEXT, `PRJ_UID` VARCHAR(32) NOT NULL, `EVN_UID` VARCHAR(32) NOT NULL, `ACT_UID` VARCHAR(32) NOT NULL, diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/WebEntry.php b/workflow/engine/src/ProcessMaker/BusinessModel/WebEntry.php index d6e6add93..28bd9cd75 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/WebEntry.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/WebEntry.php @@ -9,7 +9,7 @@ class WebEntry "TAS_UID" => array("type" => "string", "required" => true, "empty" => false, "defaultValues" => array(), "fieldNameAux" => "taskUid"), "DYN_UID" => array("type" => "string", "required" => true, "empty" => false, "defaultValues" => array(), "fieldNameAux" => "dynaFormUid"), "USR_UID" => array("type" => "string", "required" => false, "empty" => false, "defaultValues" => array(), "fieldNameAux" => "userUid"), - "WE_TITLE" => array("type" => "string", "required" => true, "empty" => false, "defaultValues" => array(), "fieldNameAux" => "webEntryTitle"), + "WE_TITLE" => array("type" => "string", "required" => false, "empty" => true, "defaultValues" => array(), "fieldNameAux" => "webEntryTitle"), "WE_DESCRIPTION" => array("type" => "string", "required" => false, "empty" => true, "defaultValues" => array(), "fieldNameAux" => "webEntryDescription"), "WE_METHOD" => array("type" => "string", "required" => true, "empty" => false, "defaultValues" => array("WS", "HTML"), "fieldNameAux" => "webEntryMethod"), "WE_INPUT_DOCUMENT_ACCESS" => array("type" => "int", "required" => true, "empty" => false, "defaultValues" => array(0, 1), "fieldNameAux" => "webEntryInputDocumentAccess") diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/WebEntryEvent.php b/workflow/engine/src/ProcessMaker/BusinessModel/WebEntryEvent.php index 6dffa896b..57d6daf8f 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/WebEntryEvent.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/WebEntryEvent.php @@ -11,7 +11,7 @@ class WebEntryEvent "DYN_UID" => array("type" => "string", "required" => true, "empty" => false, "defaultValues" => array(), "fieldNameAux" => "dynaFormUid"), "USR_UID" => array("type" => "string", "required" => true, "empty" => false, "defaultValues" => array(), "fieldNameAux" => "userUid"), - "WEE_TITLE" => array("type" => "string", "required" => true, "empty" => false, "defaultValues" => array(), "fieldNameAux" => "webEntryEventTitle"), + "WEE_TITLE" => array("type" => "string", "required" => false, "empty" => true, "defaultValues" => array(), "fieldNameAux" => "webEntryEventTitle"), "WEE_DESCRIPTION" => array("type" => "string", "required" => false, "empty" => true, "defaultValues" => array(), "fieldNameAux" => "webEntryEventDescription"), "WEE_STATUS" => array("type" => "string", "required" => false, "empty" => false, "defaultValues" => array("ENABLED", "DISABLED"), "fieldNameAux" => "webEntryEventStatus") ); From 87b94ea620a3b0b7abbe48951364c79f9dee74b6 Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Wed, 31 May 2017 15:56:32 -0400 Subject: [PATCH 06/75] HOR-3321 --- workflow/engine/config/paths.php | 2 ++ 1 file changed, 2 insertions(+) diff --git a/workflow/engine/config/paths.php b/workflow/engine/config/paths.php index e85788a72..7c45f7ee8 100644 --- a/workflow/engine/config/paths.php +++ b/workflow/engine/config/paths.php @@ -68,6 +68,8 @@ // include Gulliver Class require_once( PATH_GULLIVER . PATH_SEP . 'class.g.php'); + // include Bootstrap Class + require_once (PATH_GULLIVER . PATH_SEP . 'class.bootstrap.php'); if(file_exists(FILE_PATHS_INSTALLED)) { // backward compatibility; parsing old definitions in the compiled path constant From e777d5ba674faed539c64e9284f610445ab23f21 Mon Sep 17 00:00:00 2001 From: Paula Quispe Date: Mon, 29 May 2017 11:05:39 -0400 Subject: [PATCH 07/75] HOR-3304 --- workflow/engine/classes/class.wsBase.php | 30 +++++++++++++++--------- 1 file changed, 19 insertions(+), 11 deletions(-) diff --git a/workflow/engine/classes/class.wsBase.php b/workflow/engine/classes/class.wsBase.php index 7399e15bc..67951e0e1 100644 --- a/workflow/engine/classes/class.wsBase.php +++ b/workflow/engine/classes/class.wsBase.php @@ -2160,15 +2160,23 @@ class wsBase * Execute the trigger defined in the steps * This function is used when the case is derived from abe, Soap, PMFDerivateCase * - * @param array $appData contain all the information about the case - * @param string $tasUid - * @param string $stepType - * @param string $stepUidObj - * @param string $triggerType - * @param string $labelAssigment - * @return string $varTriggers + * @param string $caseId, Uid related to the case + * @param array $appData, contain all the information about the case + * @param string $tasUid, Uid related to the task + * @param string $stepType, before or after step + * @param string $stepUidObj, can be -1, -2 + * @param string $triggerType, can be BEFORE, AFTER + * @param string $labelAssigment, label related to the triggerType */ - function executeTriggerFromDerivate($appData, $tasUid, $stepType, $stepUidObj, $triggerType, $labelAssigment = '') + function executeTriggerFromDerivate( + $caseId, + $appData, + $tasUid, + $stepType, + $stepUidObj, + $triggerType, + $labelAssigment = '' + ) { $varTriggers = ""; $oCase = new Cases(); @@ -2321,11 +2329,11 @@ class wsBase $varTriggers = "\n"; //Execute triggers before assignment if ($bExecuteTriggersBeforeAssignment) { - $varTriggers .= $this->executeTriggerFromDerivate($appFields["APP_DATA"], $appdel['TAS_UID'], 'ASSIGN_TASK', -1, 'BEFORE', "-= Before Assignment =-"); + $varTriggers .= $this->executeTriggerFromDerivate($caseId, $appFields["APP_DATA"], $appdel['TAS_UID'], 'ASSIGN_TASK', -1, 'BEFORE', "-= Before Assignment =-"); } //Execute triggers before routing - $varTriggers .= $this->executeTriggerFromDerivate($appFields["APP_DATA"], $appdel['TAS_UID'], 'ASSIGN_TASK', -2, 'BEFORE', "-= Before Derivation =-"); + $varTriggers .= $this->executeTriggerFromDerivate($caseId, $appFields["APP_DATA"], $appdel['TAS_UID'], 'ASSIGN_TASK', -2, 'BEFORE', "-= Before Derivation =-"); $oDerivation = new Derivation(); if (!empty($tasks)) { @@ -2415,7 +2423,7 @@ class wsBase $appFields = $oCase->loadCase( $caseId ); //Execute triggers after routing - $varTriggers .= $this->executeTriggerFromDerivate($appFields["APP_DATA"], $appdel['TAS_UID'], 'ASSIGN_TASK', -2, 'AFTER', "-= After Derivation =-"); + $varTriggers .= $this->executeTriggerFromDerivate($caseId, $appFields["APP_DATA"], $appdel['TAS_UID'], 'ASSIGN_TASK', -2, 'AFTER', "-= After Derivation =-"); $sFromName = ""; From c5b74c6d27c2d84329f86f2f8db25eb2b3c9b7e1 Mon Sep 17 00:00:00 2001 From: Rodrigo Quelca Date: Thu, 1 Jun 2017 13:03:22 -0400 Subject: [PATCH 08/75] FBI-1845: [Zendesk 4786] Click event of button field with submit form method is affecting submit buttons --- workflow/engine/js/cases/core/pmDynaform.js | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/workflow/engine/js/cases/core/pmDynaform.js b/workflow/engine/js/cases/core/pmDynaform.js index 6b7687e41..8997a633b 100644 --- a/workflow/engine/js/cases/core/pmDynaform.js +++ b/workflow/engine/js/cases/core/pmDynaform.js @@ -13,20 +13,8 @@ function dynaFormChanged(frm) { * @param formStep */ function submitNextStep(formStep) { - var btnSubmit, - index = 0; - btnSubmit = formStep.querySelectorAll('[type="submit"]'); - if (btnSubmit && btnSubmit.length){ - btnSubmit[index].click(); - }else{ - btnSubmit = $('