From 38ad797a515ea3cfe9e0cb2ff75ccaec37595d01 Mon Sep 17 00:00:00 2001 From: Daniel Rojas Date: Tue, 1 Jul 2014 11:30:44 -0400 Subject: [PATCH 01/13] Se adiciona validaciones para OutputDocument y ProcessVariable --- .../BusinessModel/OutputDocument.php | 83 +++++++++++++++++++ .../ProcessMaker/BusinessModel/Variable.php | 13 ++- 2 files changed, 95 insertions(+), 1 deletion(-) diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/OutputDocument.php b/workflow/engine/src/ProcessMaker/BusinessModel/OutputDocument.php index af330057a..a51d13d5f 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/OutputDocument.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/OutputDocument.php @@ -363,6 +363,7 @@ class OutputDocument require_once(PATH_TRUNK . "workflow" . PATH_SEP . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "OutputDocument.php"); require_once (PATH_TRUNK . "workflow" . PATH_SEP . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "ObjectPermission.php"); require_once(PATH_TRUNK . "workflow" . PATH_SEP . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "Step.php"); + $this->throwExceptionIfItsAssignedInOtherObjects($sOutputDocumentUID, "inputDocumentUid"); \G::LoadClass( 'processMap' ); $oOutputDocument = new \OutputDocument(); $fields = $oOutputDocument->load( $sOutputDocumentUID ); @@ -443,5 +444,87 @@ class OutputDocument throw $e; } } + + /** + * Verify if the OutputDocument it's assigned in other objects + * + * @param string $outputDocumentUid Unique id of OutputDocument + * + * return array Return array (true if it's assigned or false otherwise and data) + */ + public function itsAssignedInOtherObjects($outputDocumentUid) + { + try { + $flagAssigned = false; + $arrayData = array(); + //Step + $criteria = new \Criteria("workflow"); + + $criteria->addSelectColumn(\StepPeer::STEP_UID); + $criteria->add(\StepPeer::STEP_TYPE_OBJ, "OUTPUT_DOCUMENT", \Criteria::EQUAL); + $criteria->add(\StepPeer::STEP_UID_OBJ, $outputDocumentUid, \Criteria::EQUAL); + + $rsCriteria = \StepPeer::doSelectRS($criteria); + + if ($rsCriteria->next()) { + $flagAssigned = true; + $arrayData[] = \G::LoadTranslation("ID_STEPS"); + } + + //StepSupervisor + $criteria = new \Criteria("workflow"); + + $criteria->addSelectColumn(\StepSupervisorPeer::STEP_UID); + $criteria->add(\StepSupervisorPeer::STEP_TYPE_OBJ, "OUTPUT_DOCUMENT", \Criteria::EQUAL); + $criteria->add(\StepSupervisorPeer::STEP_UID_OBJ, $outputDocumentUid, \Criteria::EQUAL); + + $rsCriteria = \StepSupervisorPeer::doSelectRS($criteria); + + if ($rsCriteria->next()) { + $flagAssigned = true; + $arrayData[] = \G::LoadTranslation("ID_CASES_MENU_ADMIN"); + } + + //ObjectPermission + $criteria = new \Criteria("workflow"); + + $criteria->addSelectColumn(\ObjectPermissionPeer::OP_UID); + $criteria->add(\ObjectPermissionPeer::OP_OBJ_TYPE, "OUTPUT", \Criteria::EQUAL); + $criteria->add(\ObjectPermissionPeer::OP_OBJ_UID, $outputDocumentUid, \Criteria::EQUAL); + + $rsCriteria = \ObjectPermissionPeer::doSelectRS($criteria); + + if ($rsCriteria->next()) { + $flagAssigned = true; + $arrayData[] = \G::LoadTranslation("ID_PROCESS_PERMISSIONS"); + } + + //Return + return array($flagAssigned, $arrayData); + } catch (\Exception $e) { + throw $e; + } + } + + /** + * Verify if the OutputDocument it's assigned in other objects + * + * @param string $outputDocumentUid Unique id of OutputDocument + * @param string $fieldNameForException Field name for the exception + * + * return void Throw exception if the OutputDocument it's assigned in other objects + */ + public function throwExceptionIfItsAssignedInOtherObjects($outputDocumentUid, $fieldNameForException) + { + try { + list($flagAssigned, $arrayData) = $this->itsAssignedInOtherObjects($outputDocumentUid); + + if ($flagAssigned) { + throw new \Exception(\G::LoadTranslation("ID_OUTPUT_DOCUMENT_ITS_ASSIGNED", array($fieldNameForException, $outputDocumentUid, implode(", ", $arrayData)))); + } + } catch (\Exception $e) { + throw $e; + } + } } diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Variable.php b/workflow/engine/src/ProcessMaker/BusinessModel/Variable.php index 90a3237e8..c5cdb8da3 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/Variable.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/Variable.php @@ -299,15 +299,23 @@ class Variable try { if (isset($aData["VAR_NAME"])) { Validator::isString($aData['VAR_NAME'], '$var_name'); + } else { + throw new \Exception(\G::LoadTranslation("ID_CAN_NOT_BE_NULL", array('$var_name' ))); } if (isset($aData["VAR_FIELD_TYPE"])) { Validator::isString($aData['VAR_FIELD_TYPE'], '$var_field_type'); + } else { + throw new \Exception(\G::LoadTranslation("ID_CAN_NOT_BE_NULL", array('$var_field_type' ))); } if (isset($aData["VAR_FIELD_SIZE"])) { Validator::isInteger($aData["VAR_FIELD_SIZE"], '$var_field_size'); + } else { + throw new \Exception(\G::LoadTranslation("ID_CAN_NOT_BE_NULL", array('$var_field_size' ))); } if (isset($aData["VAR_LABEL"])) { Validator::isString($aData['VAR_LABEL'], '$var_label'); + } else { + throw new \Exception(\G::LoadTranslation("ID_CAN_NOT_BE_NULL", array('$var_label' ))); } if (isset($aData["VAR_DBCONNECTION"])) { Validator::isString($aData['VAR_DBCONNECTION'], '$var_dbconnection'); @@ -316,7 +324,10 @@ class Variable Validator::isString($aData['VAR_SQL'], '$var_sql'); } if (isset($aData["VAR_NULL"])) { - Validator::isInteger($aData['VAR_NULL'], '$var_null'); + Validator::isInteger($aData['VAR_NULL'], '$var_null'); + if ($aData["VAR_NULL"] != 0 || $aData["VAR_NULL"] !=1 ) { + throw new \Exception(\G::LoadTranslation("ID_INVALID_VALUE_ONLY_ACCEPTS_VALUES", array('$var_null','0, 1' ))); + } } if (isset($aData["VAR_DEFAULT"])) { Validator::isString($aData['VAR_DEFAULT'], '$var_default'); From d44d1587524268776e71e3f944c270cde8a6b44f Mon Sep 17 00:00:00 2001 From: Daniel Rojas Date: Tue, 1 Jul 2014 11:33:37 -0400 Subject: [PATCH 02/13] Se adiciona validaciones para OutputDocument y ProcessVariable --- .../engine/src/ProcessMaker/BusinessModel/OutputDocument.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/OutputDocument.php b/workflow/engine/src/ProcessMaker/BusinessModel/OutputDocument.php index a51d13d5f..f6a38c298 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/OutputDocument.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/OutputDocument.php @@ -363,7 +363,7 @@ class OutputDocument require_once(PATH_TRUNK . "workflow" . PATH_SEP . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "OutputDocument.php"); require_once (PATH_TRUNK . "workflow" . PATH_SEP . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "ObjectPermission.php"); require_once(PATH_TRUNK . "workflow" . PATH_SEP . "engine" . PATH_SEP . "classes" . PATH_SEP . "model" . PATH_SEP . "Step.php"); - $this->throwExceptionIfItsAssignedInOtherObjects($sOutputDocumentUID, "inputDocumentUid"); + $this->throwExceptionIfItsAssignedInOtherObjects($sOutputDocumentUID, "outputDocumentUid"); \G::LoadClass( 'processMap' ); $oOutputDocument = new \OutputDocument(); $fields = $oOutputDocument->load( $sOutputDocumentUID ); From 286cc51b55591992addc7ac734a03abbe3d6d423 Mon Sep 17 00:00:00 2001 From: Daniel Rojas Date: Tue, 1 Jul 2014 12:26:55 -0400 Subject: [PATCH 03/13] Se adiciona validaciones para Dynaform --- workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php b/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php index 9499036ef..a601401a7 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php @@ -10,7 +10,7 @@ class DynaForm "DYN_DESCRIPTION" => array("type" => "string", "required" => false, "empty" => true, "defaultValues" => array(), "fieldNameAux" => "dynaFormDescription"), "DYN_TYPE" => array("type" => "string", "required" => true, "empty" => false, "defaultValues" => array("xmlform", "grid"), "fieldNameAux" => "dynaFormType"), "DYN_CONTENT" => array("type" => "string", "required" => false, "empty" => true, "defaultValues" => array(), "fieldNameAux" => "dynaFormContent"), - "DYN_VERSION" => array("type" => "int", "required" => false, "empty" => false, "defaultValues" => array(), "fieldNameAux" => "dynaFormVersion") + "DYN_VERSION" => array("type" => "int", "required" => true, "empty" => false, "defaultValues" => array(1 ,2), "fieldNameAux" => "dynaFormVersion") ); private $formatFieldNameInUppercase = true; From a5cbc1380c2b18036add69b08f93fb78b148786f Mon Sep 17 00:00:00 2001 From: Daniel Rojas Date: Tue, 1 Jul 2014 14:51:20 -0400 Subject: [PATCH 04/13] Se adiciona validaciones para Dynaform --- workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php b/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php index a601401a7..4304a51c8 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php @@ -365,7 +365,7 @@ class DynaForm //Create $dynaForm = new \Dynaform(); - if (isset($arrayData["DYN_VERSION"])) { + if (!isset($arrayData["DYN_VERSION"])) { $arrayData["DYN_VERSION"] = 1; } From 9834a231225bbe3cd0d27f90eeea46c9d20ddfb0 Mon Sep 17 00:00:00 2001 From: Daniel Rojas Date: Tue, 1 Jul 2014 14:54:29 -0400 Subject: [PATCH 05/13] Se adiciona validaciones para Dynaform --- .../engine/src/ProcessMaker/BusinessModel/DynaForm.php | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php b/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php index 4304a51c8..887a8de10 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php @@ -358,6 +358,10 @@ class DynaForm $process->throwExceptionIfNotExistsProcess($processUid, $this->arrayFieldNameForException["processUid"]); + if (!isset($arrayData["DYN_VERSION"])) { + $arrayData["DYN_VERSION"] = 1; + } + $process->throwExceptionIfDataNotMetFieldDefinition($arrayData, $this->arrayFieldDefinition, $this->arrayFieldNameForException, true); $this->throwExceptionIfExistsTitle($processUid, $arrayData["DYN_TITLE"], $this->arrayFieldNameForException["dynaFormTitle"]); @@ -365,10 +369,6 @@ class DynaForm //Create $dynaForm = new \Dynaform(); - if (!isset($arrayData["DYN_VERSION"])) { - $arrayData["DYN_VERSION"] = 1; - } - $arrayData["PRO_UID"] = $processUid; $dynaFormUid = $dynaForm->create($arrayData); From e61a656e0a3d2c578527a6e9425e457e36212bdc Mon Sep 17 00:00:00 2001 From: Daniel Rojas Date: Tue, 1 Jul 2014 15:05:45 -0400 Subject: [PATCH 06/13] Se adiciona validaciones para Dynaform --- workflow/engine/data/mysql/schema.sql | 1 + 1 file changed, 1 insertion(+) diff --git a/workflow/engine/data/mysql/schema.sql b/workflow/engine/data/mysql/schema.sql index e74a4faba..3276e8474 100755 --- a/workflow/engine/data/mysql/schema.sql +++ b/workflow/engine/data/mysql/schema.sql @@ -205,6 +205,7 @@ CREATE TABLE `DYNAFORM` `DYN_TYPE` VARCHAR(20) default 'xmlform' NOT NULL, `DYN_FILENAME` VARCHAR(100) default '' NOT NULL, `DYN_CONTENT` MEDIUMTEXT, + `DYN_VERSION` INTEGER, PRIMARY KEY (`DYN_UID`) )ENGINE=InnoDB DEFAULT CHARSET='utf8' COMMENT='Forms required'; #----------------------------------------------------------------------------- From f0d48216bae1eb07d549febba072d81445d031a9 Mon Sep 17 00:00:00 2001 From: Daniel Rojas Date: Tue, 1 Jul 2014 15:07:23 -0400 Subject: [PATCH 07/13] Se adiciona dyn_version en data/mysql/schema.sql --- .../src/ProcessMaker/BusinessModel/CaseScheduler.php | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/CaseScheduler.php b/workflow/engine/src/ProcessMaker/BusinessModel/CaseScheduler.php index 20c3fd1b3..60addfc4e 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/CaseScheduler.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/CaseScheduler.php @@ -283,8 +283,10 @@ class CaseScheduler if (!preg_match($patternDate, $caseSchedulerData['SCH_START_DATE'])) { throw new \Exception(\G::LoadTranslation("ID_INVALID_SCH_START_DATE")); } - if (!preg_match($patternDate, $caseSchedulerData['SCH_END_DATE'])) { - throw new \Exception(\G::LoadTranslation("ID_INVALID_SCH_END_DATE")); + if (!isset($caseSchedulerData['SCH_END_DATE'])) { + if (!preg_match($patternDate, $caseSchedulerData['SCH_END_DATE'])) { + throw new \Exception(\G::LoadTranslation("ID_INVALID_SCH_END_DATE")); + } } if ($caseSchedulerData['SCH_START_DATE'] == "") { throw new \Exception(\G::LoadTranslation("ID_CAN_NOT_BE_NULL", array('sch_start_date'))); @@ -568,8 +570,10 @@ class CaseScheduler if (!preg_match($patternDate, $caseSchedulerData['SCH_START_DATE'])) { throw new \Exception(\G::LoadTranslation("ID_INVALID_SCH_START_DATE")); } - if (!preg_match($patternDate, $caseSchedulerData['SCH_END_DATE'])) { - throw new \Exception(\G::LoadTranslation("ID_INVALID_SCH_END_DATE")); + if (isset($caseSchedulerData['SCH_END_DATE'])) { + if (!preg_match($patternDate, $caseSchedulerData['SCH_END_DATE'])) { + throw new \Exception(\G::LoadTranslation("ID_INVALID_SCH_END_DATE")); + } } if ($caseSchedulerData['SCH_START_DATE'] == "") { throw new \Exception(\G::LoadTranslation("ID_CAN_NOT_BE_NULL", array('sch_start_date'))); From 119caeefaba7c4b65e1fed8488304c46ae8f0d99 Mon Sep 17 00:00:00 2001 From: Brayan Osmar Pereyra Suxo Date: Tue, 1 Jul 2014 15:10:37 -0400 Subject: [PATCH 08/13] Adicion de campo DYN_VERSION --- workflow/engine/data/mysql/schema.sql | 1 + 1 file changed, 1 insertion(+) diff --git a/workflow/engine/data/mysql/schema.sql b/workflow/engine/data/mysql/schema.sql index e74a4faba..3276e8474 100755 --- a/workflow/engine/data/mysql/schema.sql +++ b/workflow/engine/data/mysql/schema.sql @@ -205,6 +205,7 @@ CREATE TABLE `DYNAFORM` `DYN_TYPE` VARCHAR(20) default 'xmlform' NOT NULL, `DYN_FILENAME` VARCHAR(100) default '' NOT NULL, `DYN_CONTENT` MEDIUMTEXT, + `DYN_VERSION` INTEGER, PRIMARY KEY (`DYN_UID`) )ENGINE=InnoDB DEFAULT CHARSET='utf8' COMMENT='Forms required'; #----------------------------------------------------------------------------- From 373abf647078ba59ce62d86d79d3accb1b7691fc Mon Sep 17 00:00:00 2001 From: Brayan Osmar Pereyra Suxo Date: Tue, 1 Jul 2014 15:33:12 -0400 Subject: [PATCH 09/13] Arreglo para cron.php --- gulliver/system/class.bootstrap.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gulliver/system/class.bootstrap.php b/gulliver/system/class.bootstrap.php index 3e11bd2b8..16dbce30d 100644 --- a/gulliver/system/class.bootstrap.php +++ b/gulliver/system/class.bootstrap.php @@ -2840,8 +2840,8 @@ class Bootstrap public static function displayMaveriksNotLoadedError() { if (! class_exists('\Maveriks\Util\ClassLoader')) { - require PATH_TRUNK . "framework/src/Maveriks/pattern/Mvc/View.php"; - require PATH_TRUNK . "framework/src/Maveriks/pattern/Mvc/PhtmlView.php"; + require PATH_TRUNK . "framework/src/Maveriks/Pattern/Mvc/View.php"; + require PATH_TRUNK . "framework/src/Maveriks/Pattern/Mvc/PhtmlView.php"; $message = "Please review your apache virtual host configuration file, and be sure you have the following rules: From 1d17893c903f2cb5a9a2c5d9a8fd344147b8efe2 Mon Sep 17 00:00:00 2001 From: Brayan Osmar Pereyra Suxo Date: Tue, 1 Jul 2014 16:13:46 -0400 Subject: [PATCH 10/13] Arreglo de cron --- gulliver/system/class.bootstrap.php | 4 ++-- workflow/engine/bin/cron.php | 1 + workflow/engine/bin/cron_single.php | 1 + workflow/engine/classes/class.pluginRegistry.php | 10 ++++++++++ 4 files changed, 14 insertions(+), 2 deletions(-) diff --git a/gulliver/system/class.bootstrap.php b/gulliver/system/class.bootstrap.php index 16dbce30d..3e11bd2b8 100644 --- a/gulliver/system/class.bootstrap.php +++ b/gulliver/system/class.bootstrap.php @@ -2840,8 +2840,8 @@ class Bootstrap public static function displayMaveriksNotLoadedError() { if (! class_exists('\Maveriks\Util\ClassLoader')) { - require PATH_TRUNK . "framework/src/Maveriks/Pattern/Mvc/View.php"; - require PATH_TRUNK . "framework/src/Maveriks/Pattern/Mvc/PhtmlView.php"; + require PATH_TRUNK . "framework/src/Maveriks/pattern/Mvc/View.php"; + require PATH_TRUNK . "framework/src/Maveriks/pattern/Mvc/PhtmlView.php"; $message = "Please review your apache virtual host configuration file, and be sure you have the following rules: diff --git a/workflow/engine/bin/cron.php b/workflow/engine/bin/cron.php index e9eb0eca7..c94808056 100755 --- a/workflow/engine/bin/cron.php +++ b/workflow/engine/bin/cron.php @@ -23,6 +23,7 @@ define('PATH_HOME', $pathhome); define('PATH_TRUNK', $pathTrunk); define('PATH_OUTTRUNK', $pathOutTrunk); +require_once PATH_TRUNK . "framework/src/Maveriks/Util/ClassLoader.php"; require_once (PATH_HOME . 'engine' . PATH_SEP . 'config' . PATH_SEP . 'paths.php'); require_once PATH_CORE . 'classes' . PATH_SEP . 'class.system.php'; diff --git a/workflow/engine/bin/cron_single.php b/workflow/engine/bin/cron_single.php index 6bf7f19b1..c82961d03 100755 --- a/workflow/engine/bin/cron_single.php +++ b/workflow/engine/bin/cron_single.php @@ -39,6 +39,7 @@ if (!defined('PATH_HOME')) { define('PATH_OUTTRUNK', $pathOutTrunk); require_once (PATH_HOME . 'engine' . PATH_SEP . 'config' . PATH_SEP . 'paths.php'); + require_once PATH_TRUNK . "framework/src/Maveriks/Util/ClassLoader.php"; G::LoadThirdParty('pear/json','class.json'); G::LoadThirdParty('smarty/libs','Smarty.class'); diff --git a/workflow/engine/classes/class.pluginRegistry.php b/workflow/engine/classes/class.pluginRegistry.php index d51baadc7..013134054 100755 --- a/workflow/engine/classes/class.pluginRegistry.php +++ b/workflow/engine/classes/class.pluginRegistry.php @@ -1495,5 +1495,15 @@ class PMPluginRegistry { $this->_restServiceEnabled[$sNamespace] = $enable; } + + /** + * Return all cron files registered + * + * @return array + */ + public function getCronFiles() + { + return $this->_aCronFiles; + } } From d8637806cdec4f7892d5427dea5cf61642ae1f00 Mon Sep 17 00:00:00 2001 From: Roly Rudy Gutierrez Pinto Date: Tue, 1 Jul 2014 16:20:43 -0400 Subject: [PATCH 11/13] change the order of menu items creating projects --- workflow/engine/templates/processes/main.js | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/workflow/engine/templates/processes/main.js b/workflow/engine/templates/processes/main.js index 372c297fb..988a06a1c 100755 --- a/workflow/engine/templates/processes/main.js +++ b/workflow/engine/templates/processes/main.js @@ -227,14 +227,6 @@ Ext.onReady(function(){ text: _('ID_NEW'), iconCls: 'button_menu_ext ss_sprite ss_add', menu: [ - { - text: "New Project", - iconCls: 'silk-add', - icon: '', - handler: function () { - newProcess({type:"classicProject"}); - } - }, { text: "New BPMN Project", iconCls: 'silk-add', @@ -242,6 +234,14 @@ Ext.onReady(function(){ handler: function () { newProcess({type:"bpmnProject"}); } + }, + { + text: "New Project", + iconCls: 'silk-add', + icon: '', + handler: function () { + newProcess({type:"classicProject"}); + } } ], listeners: { From 2188a23d3b61c5985b62dbf329700b7c3f22c064 Mon Sep 17 00:00:00 2001 From: Daniel Rojas Date: Tue, 1 Jul 2014 16:23:29 -0400 Subject: [PATCH 12/13] Se quita validacion para que dyn_version no sea requerido --- workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php b/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php index 887a8de10..83244e39d 100644 --- a/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php +++ b/workflow/engine/src/ProcessMaker/BusinessModel/DynaForm.php @@ -10,7 +10,7 @@ class DynaForm "DYN_DESCRIPTION" => array("type" => "string", "required" => false, "empty" => true, "defaultValues" => array(), "fieldNameAux" => "dynaFormDescription"), "DYN_TYPE" => array("type" => "string", "required" => true, "empty" => false, "defaultValues" => array("xmlform", "grid"), "fieldNameAux" => "dynaFormType"), "DYN_CONTENT" => array("type" => "string", "required" => false, "empty" => true, "defaultValues" => array(), "fieldNameAux" => "dynaFormContent"), - "DYN_VERSION" => array("type" => "int", "required" => true, "empty" => false, "defaultValues" => array(1 ,2), "fieldNameAux" => "dynaFormVersion") + "DYN_VERSION" => array("type" => "int", "required" => false, "empty" => true, "defaultValues" => array(1 ,2), "fieldNameAux" => "dynaFormVersion") ); private $formatFieldNameInUppercase = true; @@ -358,10 +358,6 @@ class DynaForm $process->throwExceptionIfNotExistsProcess($processUid, $this->arrayFieldNameForException["processUid"]); - if (!isset($arrayData["DYN_VERSION"])) { - $arrayData["DYN_VERSION"] = 1; - } - $process->throwExceptionIfDataNotMetFieldDefinition($arrayData, $this->arrayFieldDefinition, $this->arrayFieldNameForException, true); $this->throwExceptionIfExistsTitle($processUid, $arrayData["DYN_TITLE"], $this->arrayFieldNameForException["dynaFormTitle"]); From 34e4998cb66764837126635e3e12f377f2bc22bb Mon Sep 17 00:00:00 2001 From: Erik Amaru Ortiz Date: Tue, 1 Jul 2014 16:53:02 -0400 Subject: [PATCH 13/13] adding pmdynaform version into System Information screen --- Rakefile | 12 ++++++++++-- workflow/engine/controllers/main.php | 4 +++- 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/Rakefile b/Rakefile index b93036c8b..c77f45a42 100644 --- a/Rakefile +++ b/Rakefile @@ -44,6 +44,7 @@ task :build => [:required] do pmUIDir = targetDir + "/pmUI" mafeDir = targetDir + "/mafe" pmdynaformDir = targetDir + "/pmdynaform" + prepareDirs([pmUIDir, mafeDir, pmdynaformDir, jsTargetDir, cssTargetDir, cssImagesTargetDir, imgTargetDir, pmUIFontsDir]) @@ -53,6 +54,7 @@ task :build => [:required] do pmuiHash = getHash(Dir.pwd + "/vendor/colosa/pmUI") mafeHash = getHash(Dir.pwd + "/vendor/colosa/MichelangeloFE") + pmdynaformHash = getHash(Dir.pwd + "/vendor/colosa/pmDynaform") hashVendors = pmuiHash+"-"+mafeHash ## Building minified JS Files @@ -94,7 +96,9 @@ task :build => [:required] do :pmui_ver => getVersion(Dir.pwd + "/vendor/colosa/pmUI"), :pmui_hash => pmuiHash, :mafe_ver => getVersion(Dir.pwd + "/vendor/colosa/MichelangeloFE"), - :mafe_hash => mafeHash + :mafe_hash => mafeHash, + :pmdynaform_ver => getVersion(Dir.pwd + "/vendor/colosa/pmDynaform"), + :pmdynaform_hash => pmdynaformHash } File.open(targetDir+"/versions", 'w+') do |writeFile| writeFile.write versions.to_json @@ -207,7 +211,11 @@ def getVersion(path) version = `rake version` end - return /([0-9\.]{5}+)/.match(version) + if version.lines.count > 1 + version = /([0-9\.]{5}+)/.match(version) + end + + return version.strip end diff --git a/workflow/engine/controllers/main.php b/workflow/engine/controllers/main.php index 6fe75eeed..cc17f84eb 100644 --- a/workflow/engine/controllers/main.php +++ b/workflow/engine/controllers/main.php @@ -735,8 +735,9 @@ class Main extends Controller $versions = json_decode(file_get_contents(PATH_HTML . "lib/versions"), true); $pmuiVer = $versions["pmui_ver"]; $mafeVer = $versions["mafe_ver"]; + $pmdynaformVer = $versions["pmdynaform_ver"]; } else { - $pmuiVer = $mafeVer = "(unknown)"; + $pmuiVer = $mafeVer = $pmdynaformVer = "(unknown)"; } $sysSection = G::loadTranslation('ID_SYSTEM_INFO' ); @@ -751,6 +752,7 @@ class Main extends Controller $properties[] = array ($systemName. ' Ver.', System::getVersion() . $ee, $pmSection); $properties[] = array("PMUI JS Lib. Ver.", $pmuiVer, $pmSection); $properties[] = array("MAFE JS Lib. Ver.", $mafeVer, $pmSection); + $properties[] = array("PM Dynaform JS Lib. Ver.", $pmdynaformVer, $pmSection); if (file_exists(PATH_DATA. 'log/upgrades.log')) { $properties[] = array (G::LoadTranslation('ID_UPGRADES_PATCHES'), '' . G::LoadTranslation( 'ID_UPGRADE_VIEW_LOG') . '' ,$pmSection);