Merge branch 'master' of bitbucket.org:jonathanquispe/processmaker

This commit is contained in:
jonathan
2015-02-18 15:36:51 -04:00
32 changed files with 8344 additions and 58 deletions

View File

@@ -0,0 +1,5 @@
<?php
class MessageApplication extends BaseMessageApplication
{
}

View File

@@ -0,0 +1,5 @@
<?php
class MessageApplicationPeer extends BaseMessageApplicationPeer
{
}

View File

@@ -0,0 +1,5 @@
<?php
class MessageEventDefinition extends BaseMessageEventDefinition
{
}

View File

@@ -0,0 +1,5 @@
<?php
class MessageEventDefinitionPeer extends BaseMessageEventDefinitionPeer
{
}

View File

@@ -0,0 +1,5 @@
<?php
class MessageEventRelation extends BaseMessageEventRelation
{
}

View File

@@ -0,0 +1,5 @@
<?php
class MessageEventRelationPeer extends BaseMessageEventRelationPeer
{
}

View File

@@ -0,0 +1,5 @@
<?php
class MessageEventTaskRelation extends BaseMessageEventTaskRelation
{
}

View File

@@ -0,0 +1,5 @@
<?php
class MessageEventTaskRelationPeer extends BaseMessageEventTaskRelationPeer
{
}

View File

@@ -0,0 +1,92 @@
<?php
require_once 'propel/map/MapBuilder.php';
include_once 'creole/CreoleTypes.php';
/**
* This class adds structure of 'MESSAGE_APPLICATION' table to 'workflow' DatabaseMap object.
*
*
*
* These statically-built map classes are used by Propel to do runtime db structure discovery.
* For example, the createSelectSql() method checks the type of a given column used in an
* ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive
* (i.e. if it's a text column type).
*
* @package workflow.classes.model.map
*/
class MessageApplicationMapBuilder
{
/**
* The (dot-path) name of this class
*/
const CLASS_NAME = 'classes.model.map.MessageApplicationMapBuilder';
/**
* The database map.
*/
private $dbMap;
/**
* Tells us if this DatabaseMapBuilder is built so that we
* don't have to re-build it every time.
*
* @return boolean true if this DatabaseMapBuilder is built, false otherwise.
*/
public function isBuilt()
{
return ($this->dbMap !== null);
}
/**
* Gets the databasemap this map builder built.
*
* @return the databasemap
*/
public function getDatabaseMap()
{
return $this->dbMap;
}
/**
* The doBuild() method builds the DatabaseMap
*
* @return void
* @throws PropelException
*/
public function doBuild()
{
$this->dbMap = Propel::getDatabaseMap('workflow');
$tMap = $this->dbMap->addTable('MESSAGE_APPLICATION');
$tMap->setPhpName('MessageApplication');
$tMap->setUseIdGenerator(false);
$tMap->addPrimaryKey('MSGAPP_UID', 'MsgappUid', 'string', CreoleTypes::VARCHAR, true, 32);
$tMap->addColumn('APP_UID', 'AppUid', 'string', CreoleTypes::VARCHAR, true, 32);
$tMap->addColumn('PRJ_UID', 'PrjUid', 'string', CreoleTypes::VARCHAR, true, 32);
$tMap->addColumn('EVN_UID_THROW', 'EvnUidThrow', 'string', CreoleTypes::VARCHAR, true, 32);
$tMap->addColumn('EVN_UID_CATCH', 'EvnUidCatch', 'string', CreoleTypes::VARCHAR, true, 32);
$tMap->addColumn('MSGAPP_VARIABLES', 'MsgappVariables', 'string', CreoleTypes::LONGVARCHAR, true, null);
$tMap->addColumn('MSGAPP_CORRELATION', 'MsgappCorrelation', 'string', CreoleTypes::VARCHAR, true, 512);
$tMap->addColumn('MSGAPP_THROW_DATE', 'MsgappThrowDate', 'int', CreoleTypes::TIMESTAMP, true, null);
$tMap->addColumn('MSGAPP_CATCH_DATE', 'MsgappCatchDate', 'int', CreoleTypes::TIMESTAMP, false, null);
$tMap->addColumn('MSGAPP_STATUS', 'MsgappStatus', 'string', CreoleTypes::VARCHAR, true, 25);
$tMap->addValidator('MSGAPP_STATUS', 'validValues', 'propel.validator.ValidValuesValidator', 'READ|UNREAD', 'Please enter a valid value for MSGAPP_STATUS');
} // doBuild()
} // MessageApplicationMapBuilder

View File

@@ -0,0 +1,84 @@
<?php
require_once 'propel/map/MapBuilder.php';
include_once 'creole/CreoleTypes.php';
/**
* This class adds structure of 'MESSAGE_EVENT_DEFINITION' table to 'workflow' DatabaseMap object.
*
*
*
* These statically-built map classes are used by Propel to do runtime db structure discovery.
* For example, the createSelectSql() method checks the type of a given column used in an
* ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive
* (i.e. if it's a text column type).
*
* @package workflow.classes.model.map
*/
class MessageEventDefinitionMapBuilder
{
/**
* The (dot-path) name of this class
*/
const CLASS_NAME = 'classes.model.map.MessageEventDefinitionMapBuilder';
/**
* The database map.
*/
private $dbMap;
/**
* Tells us if this DatabaseMapBuilder is built so that we
* don't have to re-build it every time.
*
* @return boolean true if this DatabaseMapBuilder is built, false otherwise.
*/
public function isBuilt()
{
return ($this->dbMap !== null);
}
/**
* Gets the databasemap this map builder built.
*
* @return the databasemap
*/
public function getDatabaseMap()
{
return $this->dbMap;
}
/**
* The doBuild() method builds the DatabaseMap
*
* @return void
* @throws PropelException
*/
public function doBuild()
{
$this->dbMap = Propel::getDatabaseMap('workflow');
$tMap = $this->dbMap->addTable('MESSAGE_EVENT_DEFINITION');
$tMap->setPhpName('MessageEventDefinition');
$tMap->setUseIdGenerator(false);
$tMap->addPrimaryKey('MSGED_UID', 'MsgedUid', 'string', CreoleTypes::VARCHAR, true, 32);
$tMap->addColumn('PRJ_UID', 'PrjUid', 'string', CreoleTypes::VARCHAR, true, 32);
$tMap->addColumn('EVN_UID', 'EvnUid', 'string', CreoleTypes::VARCHAR, true, 32);
$tMap->addColumn('MSGT_UID', 'MsgtUid', 'string', CreoleTypes::VARCHAR, true, 32);
$tMap->addColumn('MSGED_USR_UID', 'MsgedUsrUid', 'string', CreoleTypes::VARCHAR, true, 32);
$tMap->addColumn('MSGED_VARIABLES', 'MsgedVariables', 'string', CreoleTypes::LONGVARCHAR, true, null);
$tMap->addColumn('MSGED_CORRELATION', 'MsgedCorrelation', 'string', CreoleTypes::VARCHAR, true, 512);
} // doBuild()
} // MessageEventDefinitionMapBuilder

View File

@@ -0,0 +1,78 @@
<?php
require_once 'propel/map/MapBuilder.php';
include_once 'creole/CreoleTypes.php';
/**
* This class adds structure of 'MESSAGE_EVENT_RELATION' table to 'workflow' DatabaseMap object.
*
*
*
* These statically-built map classes are used by Propel to do runtime db structure discovery.
* For example, the createSelectSql() method checks the type of a given column used in an
* ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive
* (i.e. if it's a text column type).
*
* @package workflow.classes.model.map
*/
class MessageEventRelationMapBuilder
{
/**
* The (dot-path) name of this class
*/
const CLASS_NAME = 'classes.model.map.MessageEventRelationMapBuilder';
/**
* The database map.
*/
private $dbMap;
/**
* Tells us if this DatabaseMapBuilder is built so that we
* don't have to re-build it every time.
*
* @return boolean true if this DatabaseMapBuilder is built, false otherwise.
*/
public function isBuilt()
{
return ($this->dbMap !== null);
}
/**
* Gets the databasemap this map builder built.
*
* @return the databasemap
*/
public function getDatabaseMap()
{
return $this->dbMap;
}
/**
* The doBuild() method builds the DatabaseMap
*
* @return void
* @throws PropelException
*/
public function doBuild()
{
$this->dbMap = Propel::getDatabaseMap('workflow');
$tMap = $this->dbMap->addTable('MESSAGE_EVENT_RELATION');
$tMap->setPhpName('MessageEventRelation');
$tMap->setUseIdGenerator(false);
$tMap->addPrimaryKey('MSGER_UID', 'MsgerUid', 'string', CreoleTypes::VARCHAR, true, 32);
$tMap->addColumn('PRJ_UID', 'PrjUid', 'string', CreoleTypes::VARCHAR, true, 32);
$tMap->addColumn('EVN_UID_THROW', 'EvnUidThrow', 'string', CreoleTypes::VARCHAR, true, 32);
$tMap->addColumn('EVN_UID_CATCH', 'EvnUidCatch', 'string', CreoleTypes::VARCHAR, true, 32);
} // doBuild()
} // MessageEventRelationMapBuilder

View File

@@ -0,0 +1,78 @@
<?php
require_once 'propel/map/MapBuilder.php';
include_once 'creole/CreoleTypes.php';
/**
* This class adds structure of 'MESSAGE_EVENT_TASK_RELATION' table to 'workflow' DatabaseMap object.
*
*
*
* These statically-built map classes are used by Propel to do runtime db structure discovery.
* For example, the createSelectSql() method checks the type of a given column used in an
* ORDER BY clause to know whether it needs to apply SQL to make the ORDER BY case-insensitive
* (i.e. if it's a text column type).
*
* @package workflow.classes.model.map
*/
class MessageEventTaskRelationMapBuilder
{
/**
* The (dot-path) name of this class
*/
const CLASS_NAME = 'classes.model.map.MessageEventTaskRelationMapBuilder';
/**
* The database map.
*/
private $dbMap;
/**
* Tells us if this DatabaseMapBuilder is built so that we
* don't have to re-build it every time.
*
* @return boolean true if this DatabaseMapBuilder is built, false otherwise.
*/
public function isBuilt()
{
return ($this->dbMap !== null);
}
/**
* Gets the databasemap this map builder built.
*
* @return the databasemap
*/
public function getDatabaseMap()
{
return $this->dbMap;
}
/**
* The doBuild() method builds the DatabaseMap
*
* @return void
* @throws PropelException
*/
public function doBuild()
{
$this->dbMap = Propel::getDatabaseMap('workflow');
$tMap = $this->dbMap->addTable('MESSAGE_EVENT_TASK_RELATION');
$tMap->setPhpName('MessageEventTaskRelation');
$tMap->setUseIdGenerator(false);
$tMap->addPrimaryKey('MSGETR_UID', 'MsgetrUid', 'string', CreoleTypes::VARCHAR, true, 32);
$tMap->addColumn('PRJ_UID', 'PrjUid', 'string', CreoleTypes::VARCHAR, true, 32);
$tMap->addColumn('EVN_UID', 'EvnUid', 'string', CreoleTypes::VARCHAR, true, 32);
$tMap->addColumn('TAS_UID', 'TasUid', 'string', CreoleTypes::VARCHAR, true, 32);
} // doBuild()
} // MessageEventTaskRelationMapBuilder

View File

@@ -69,7 +69,7 @@ class TaskMapBuilder
$tMap->addPrimaryKey('TAS_UID', 'TasUid', 'string', CreoleTypes::VARCHAR, true, 32);
$tMap->addColumn('TAS_TYPE', 'TasType', 'string', CreoleTypes::VARCHAR, true, 20);
$tMap->addColumn('TAS_TYPE', 'TasType', 'string', CreoleTypes::VARCHAR, true, 50);
$tMap->addColumn('TAS_DURATION', 'TasDuration', 'double', CreoleTypes::DOUBLE, true, null);
@@ -159,7 +159,7 @@ class TaskMapBuilder
$tMap->addColumn('TAS_SELFSERVICE_EXECUTION', 'TasSelfserviceExecution', 'string', CreoleTypes::VARCHAR, false, 15);
$tMap->addValidator('TAS_TYPE', 'validValues', 'propel.validator.ValidValuesValidator', 'NORMAL|ADHOC|SUBPROCESS|HIDDEN|GATEWAYTOGATEWAY|WEBENTRYEVENT', 'Please enter a valid value for TAS_TYPE');
$tMap->addValidator('TAS_TYPE', 'validValues', 'propel.validator.ValidValuesValidator', 'NORMAL|ADHOC|SUBPROCESS|HIDDEN|GATEWAYTOGATEWAY|WEBENTRYEVENT|START-MESSAGE-EVENT|END-MESSAGE-EVENT|INTERMEDIATE-START-MESSAGE-EVENT|INTERMEDIATE-END-MESSAGE-EVENT', 'Please enter a valid value for TAS_TYPE');
$tMap->addValidator('TAS_TIMEUNIT', 'validValues', 'propel.validator.ValidValuesValidator', 'MINUTES|HOURS|DAYS|WEEKS|MONTHS', 'Please select a valid value for TAS_TIMEUNIT.');

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1201,7 +1201,7 @@
</vendor>
<column name="PRO_UID" type="VARCHAR" size="32" required="true" default=""/>
<column name="TAS_UID" type="VARCHAR" size="32" required="true" primaryKey="true" default=""/>
<column name="TAS_TYPE" type="VARCHAR" size="20" required="true" default="NORMAL"/>
<column name="TAS_TYPE" type="VARCHAR" size="50" required="true" default="NORMAL"/>
<column name="TAS_DURATION" type="DOUBLE" required="true" default="0"/>
<column name="TAS_DELAY_TYPE" type="VARCHAR" size="30" required="true" default=""/>
<column name="TAS_TEMPORIZER" type="DOUBLE" required="true" default="0"/>
@@ -1248,7 +1248,7 @@
<column name="TAS_SELFSERVICE_EXECUTION" type="VARCHAR" size="15" default="EVERY_TIME"/>
<validator column="TAS_TYPE">
<rule name="validValues" value="NORMAL|ADHOC|SUBPROCESS|HIDDEN|GATEWAYTOGATEWAY|WEBENTRYEVENT" message="Please enter a valid value for TAS_TYPE"/>
<rule name="validValues" value="NORMAL|ADHOC|SUBPROCESS|HIDDEN|GATEWAYTOGATEWAY|WEBENTRYEVENT|START-MESSAGE-EVENT|END-MESSAGE-EVENT|INTERMEDIATE-START-MESSAGE-EVENT|INTERMEDIATE-END-MESSAGE-EVENT" message="Please enter a valid value for TAS_TYPE"/>
</validator>
<validator column="TAS_TIMEUNIT">
<rule name="validValues" value="MINUTES|HOURS|DAYS|WEEKS|MONTHS" message="Please select a valid value for TAS_TIMEUNIT."/>
@@ -4368,5 +4368,93 @@
<rule name="validValues" value="ENABLED|DISABLED" message="Please enter a valid value for WEE_STATUS" />
</validator>
</table>
<table name="MESSAGE_EVENT_DEFINITION">
<vendor type="mysql">
<parameter name="Name" value="MESSAGE_EVENT_DEFINITION" />
<parameter name="Engine" value="InnoDB" />
<parameter name="Version" value="10" />
<parameter name="Row_format" value="Dynamic" />
<parameter name="Data_free" value="0" />
<parameter name="Auto_increment" value="" />
<parameter name="Check_time" value="" />
<parameter name="Collation" value="utf8_general_ci" />
<parameter name="Checksum" value="" />
<parameter name="Create_options" value="" />
</vendor>
<column name="MSGED_UID" type="VARCHAR" size="32" required="true" primaryKey="true" />
<column name="PRJ_UID" type="VARCHAR" size="32" required="true" />
<column name="EVN_UID" type="VARCHAR" size="32" required="true" />
<column name="MSGT_UID" type="VARCHAR" size="32" required="true" default="" />
<column name="MSGED_USR_UID" type="VARCHAR" size="32" required="true" default="" />
<column name="MSGED_VARIABLES" type="LONGVARCHAR" required="true" default="" />
<column name="MSGED_CORRELATION" type="VARCHAR" size="512" required="true" default="" />
</table>
<table name="MESSAGE_EVENT_RELATION">
<vendor type="mysql">
<parameter name="Name" value="MESSAGE_EVENT_RELATION" />
<parameter name="Engine" value="InnoDB" />
<parameter name="Version" value="10" />
<parameter name="Row_format" value="Dynamic" />
<parameter name="Data_free" value="0" />
<parameter name="Auto_increment" value="" />
<parameter name="Check_time" value="" />
<parameter name="Collation" value="utf8_general_ci" />
<parameter name="Checksum" value="" />
<parameter name="Create_options" value="" />
</vendor>
<column name="MSGER_UID" type="VARCHAR" size="32" required="true" primaryKey="true" />
<column name="PRJ_UID" type="VARCHAR" size="32" required="true" />
<column name="EVN_UID_THROW" type="VARCHAR" size="32" required="true" />
<column name="EVN_UID_CATCH" type="VARCHAR" size="32" required="true" />
</table>
<table name="MESSAGE_EVENT_TASK_RELATION">
<vendor type="mysql">
<parameter name="Name" value="MESSAGE_EVENT_TASK_RELATION" />
<parameter name="Engine" value="InnoDB" />
<parameter name="Version" value="10" />
<parameter name="Row_format" value="Dynamic" />
<parameter name="Data_free" value="0" />
<parameter name="Auto_increment" value="" />
<parameter name="Check_time" value="" />
<parameter name="Collation" value="utf8_general_ci" />
<parameter name="Checksum" value="" />
<parameter name="Create_options" value="" />
</vendor>
<column name="MSGETR_UID" type="VARCHAR" size="32" required="true" primaryKey="true" />
<column name="PRJ_UID" type="VARCHAR" size="32" required="true" />
<column name="EVN_UID" type="VARCHAR" size="32" required="true" />
<column name="TAS_UID" type="VARCHAR" size="32" required="true" />
</table>
<table name="MESSAGE_APPLICATION">
<vendor type="mysql">
<parameter name="Name" value="MESSAGE_APPLICATION" />
<parameter name="Engine" value="InnoDB" />
<parameter name="Version" value="10" />
<parameter name="Row_format" value="Dynamic" />
<parameter name="Data_free" value="0" />
<parameter name="Auto_increment" value="" />
<parameter name="Check_time" value="" />
<parameter name="Collation" value="utf8_general_ci" />
<parameter name="Checksum" value="" />
<parameter name="Create_options" value="" />
</vendor>
<column name="MSGAPP_UID" type="VARCHAR" size="32" required="true" primaryKey="true" />
<column name="APP_UID" type="VARCHAR" size="32" required="true" />
<column name="PRJ_UID" type="VARCHAR" size="32" required="true" />
<column name="EVN_UID_THROW" type="VARCHAR" size="32" required="true" />
<column name="EVN_UID_CATCH" type="VARCHAR" size="32" required="true" />
<column name="MSGAPP_VARIABLES" type="LONGVARCHAR" required="true" default="" />
<column name="MSGAPP_CORRELATION" type="VARCHAR" size="512" required="true" default="" />
<column name="MSGAPP_THROW_DATE" type="TIMESTAMP" required="true" />
<column name="MSGAPP_CATCH_DATE" type="TIMESTAMP" required="false" />
<column name="MSGAPP_STATUS" type="VARCHAR" size="25" required="true" default="UNREAD" />
<validator column="MSGAPP_STATUS">
<rule name="validValues" value="READ|UNREAD" message="Please enter a valid value for MSGAPP_STATUS" />
</validator>
</table>
</database>

View File

@@ -568,7 +568,7 @@ CREATE TABLE `TASK`
(
`PRO_UID` VARCHAR(32) default '' NOT NULL,
`TAS_UID` VARCHAR(32) default '' NOT NULL,
`TAS_TYPE` VARCHAR(20) default 'NORMAL' NOT NULL,
`TAS_TYPE` VARCHAR(50) default 'NORMAL' NOT NULL,
`TAS_DURATION` DOUBLE default 0 NOT NULL,
`TAS_DELAY_TYPE` VARCHAR(30) default '' NOT NULL,
`TAS_TEMPORIZER` DOUBLE default 0 NOT NULL,
@@ -2521,3 +2521,77 @@ CREATE TABLE `WEB_ENTRY_EVENT`
)ENGINE=InnoDB DEFAULT CHARSET='utf8';
# This restores the fkey checks, after having unset them earlier
SET FOREIGN_KEY_CHECKS = 1;
#-----------------------------------------------------------------------------
#-- MESSAGE_EVENT_DEFINITION
#-----------------------------------------------------------------------------
DROP TABLE IF EXISTS MESSAGE_EVENT_DEFINITION;
CREATE TABLE MESSAGE_EVENT_DEFINITION
(
MSGED_UID VARCHAR(32) NOT NULL,
PRJ_UID VARCHAR(32) NOT NULL,
EVN_UID VARCHAR(32) NOT NULL,
MSGT_UID VARCHAR(32) NOT NULL DEFAULT '',
MSGED_USR_UID VARCHAR(32) NOT NULL DEFAULT '',
MSGED_VARIABLES MEDIUMTEXT NOT NULL DEFAULT '',
MSGED_CORRELATION VARCHAR(512) NOT NULL DEFAULT '',
PRIMARY KEY (MSGED_UID)
) ENGINE=InnoDB DEFAULT CHARSET='utf8';
#-----------------------------------------------------------------------------
#-- MESSAGE_EVENT_RELATION
#-----------------------------------------------------------------------------
DROP TABLE IF EXISTS MESSAGE_EVENT_RELATION;
CREATE TABLE MESSAGE_EVENT_RELATION
(
MSGER_UID VARCHAR(32) NOT NULL,
PRJ_UID VARCHAR(32) NOT NULL,
EVN_UID_THROW VARCHAR(32) NOT NULL,
EVN_UID_CATCH VARCHAR(32) NOT NULL,
PRIMARY KEY (MSGER_UID)
) ENGINE=InnoDB DEFAULT CHARSET='utf8';
#-----------------------------------------------------------------------------
#-- MESSAGE_EVENT_TASK_RELATION
#-----------------------------------------------------------------------------
DROP TABLE IF EXISTS MESSAGE_EVENT_TASK_RELATION;
CREATE TABLE MESSAGE_EVENT_TASK_RELATION
(
MSGETR_UID VARCHAR(32) NOT NULL,
PRJ_UID VARCHAR(32) NOT NULL,
EVN_UID VARCHAR(32) NOT NULL,
TAS_UID VARCHAR(32) NOT NULL,
PRIMARY KEY (MSGETR_UID)
) ENGINE=InnoDB DEFAULT CHARSET='utf8';
#-----------------------------------------------------------------------------
#-- MESSAGE_APPLICATION
#-----------------------------------------------------------------------------
DROP TABLE IF EXISTS MESSAGE_APPLICATION;
CREATE TABLE MESSAGE_APPLICATION
(
MSGAPP_UID VARCHAR(32) NOT NULL,
APP_UID VARCHAR(32) NOT NULL,
PRJ_UID VARCHAR(32) NOT NULL,
EVN_UID_THROW VARCHAR(32) NOT NULL,
EVN_UID_CATCH VARCHAR(32) NOT NULL,
MSGAPP_VARIABLES MEDIUMTEXT NOT NULL DEFAULT '',
MSGAPP_CORRELATION VARCHAR(512) NOT NULL DEFAULT '',
MSGAPP_THROW_DATE DATETIME NOT NULL,
MSGAPP_CATCH_DATE DATETIME,
MSGAPP_STATUS VARCHAR(25) NOT NULL DEFAULT 'UNREAD',
PRIMARY KEY (MSGAPP_UID)
) ENGINE=InnoDB DEFAULT CHARSET='utf8';

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -359,9 +359,11 @@ class WebEntryEvent
//Task
$task = new \Task();
$prefix = "wee-";
$this->webEntryEventWebEntryTaskUid = $task->create(
array(
"TAS_UID" => \ProcessMaker\Util\Common::generateUID(),
"TAS_UID" => $prefix . substr(\ProcessMaker\Util\Common::generateUID(), (32 - strlen($prefix)) * -1),
"PRO_UID" => $projectUid,
"TAS_TYPE" => "WEBENTRYEVENT",
"TAS_TITLE" => "WEBENTRYEVENT",
@@ -765,6 +767,8 @@ class WebEntryEvent
throw new \Exception(\G::LoadTranslation("ID_REGISTRY_CANNOT_BE_UPDATED") . (($msg != "")? "\n" . $msg : ""));
}
} catch (\Exception $e) {
$cnn->rollback();
$this->deleteWebEntry($this->webEntryEventWebEntryUid, $this->webEntryEventWebEntryTaskUid);
throw $e;

View File

@@ -625,12 +625,53 @@ class Bpmn extends Handler
}
}
public function throwExceptionFlowIfIsAnInvalidMessageFlow(array $bpmnFlow)
{
try {
if ($bpmnFlow["FLO_TYPE"] == "MESSAGE" &&
$bpmnFlow["FLO_ELEMENT_ORIGIN_TYPE"] == "bpmnEvent" && $bpmnFlow["FLO_ELEMENT_DEST_TYPE"] == "bpmnEvent"
) {
$flagValid = true;
$arrayEventType = array("START", "END", "INTERMEDIATE");
$arrayAux = array(
array("eventUid" => $bpmnFlow["FLO_ELEMENT_ORIGIN"], "eventMarker" => "MESSAGETHROW"),
array("eventUid" => $bpmnFlow["FLO_ELEMENT_DEST"], "eventMarker" => "MESSAGECATCH")
);
foreach ($arrayAux as $value) {
$criteria = new \Criteria("workflow");
$criteria->addSelectColumn(\BpmnEventPeer::EVN_UID);
$criteria->add(\BpmnEventPeer::EVN_UID, $value["eventUid"], \Criteria::EQUAL);
$criteria->add(\BpmnEventPeer::EVN_TYPE, $arrayEventType, \Criteria::IN);
$criteria->add(\BpmnEventPeer::EVN_MARKER, $value["eventMarker"], \Criteria::EQUAL);
$rsCriteria = \BpmnEventPeer::doSelectRS($criteria);
if (!$rsCriteria->next()) {
$flagValid = false;
break;
}
}
if (!$flagValid) {
throw new \RuntimeException("Invalid Message Flow.");
}
}
} catch (\Exception $e) {
throw $e;
}
}
public function addFlow($data)
{
self::log("Add Flow with data: ", $data);
// setting defaults
$data['FLO_UID'] = array_key_exists('FLO_UID', $data) ? $data['FLO_UID'] : Common::generateUID();
if (array_key_exists('FLO_STATE', $data)) {
$data['FLO_STATE'] = is_array($data['FLO_STATE']) ? json_encode($data['FLO_STATE']) : $data['FLO_STATE'];
}
@@ -680,17 +721,23 @@ class Bpmn extends Handler
));
}
//Check and validate Message Flow
$this->throwExceptionFlowIfIsAnInvalidMessageFlow($data);
//Create
$flow = new Flow();
$flow->fromArray($data, BasePeer::TYPE_FIELDNAME);
$flow->setPrjUid($this->getUid());
$flow->setDiaUid($this->getDiagram("object")->getDiaUid());
$flow->setFloPosition($this->getFlowNextPosition($data["FLO_UID"], $data["FLO_TYPE"], $data["FLO_ELEMENT_ORIGIN"]));
$flow->save();
self::log("Add Flow Success!");
return $flow->getFloUid();
} catch (\Exception $e) {
self::log("Exception: ", $e->getMessage(), "Trace: ", $e->getTraceAsString());
throw $e;
}
}
@@ -703,7 +750,12 @@ class Bpmn extends Handler
if (array_key_exists('FLO_STATE', $data)) {
$data['FLO_STATE'] = is_array($data['FLO_STATE']) ? json_encode($data['FLO_STATE']) : $data['FLO_STATE'];
}
try {
//Check and validate Message Flow
$this->throwExceptionFlowIfIsAnInvalidMessageFlow($data);
//Update
$flow = FlowPeer::retrieveByPk($floUid);
$flow->fromArray($data);
$flow->save();

View File

@@ -1236,7 +1236,7 @@ class Workflow extends Handler
}
}
public function deleteTaskGatewayToGateway($processUid)
public function deleteTaskByArrayType($processUid, array $arrayTaskType)
{
try {
$task = new \Tasks();
@@ -1245,7 +1245,7 @@ class Workflow extends Handler
$criteria->addSelectColumn(\TaskPeer::TAS_UID);
$criteria->add(\TaskPeer::PRO_UID, $processUid, \Criteria::EQUAL);
$criteria->add(\TaskPeer::TAS_TYPE, "GATEWAYTOGATEWAY", \Criteria::EQUAL);
$criteria->add(\TaskPeer::TAS_TYPE, $arrayTaskType, \Criteria::IN);
$rsCriteria = \TaskPeer::doSelectRS($criteria);
$rsCriteria->setFetchmode(\ResultSet::FETCHMODE_ASSOC);

Some files were not shown because too many files have changed in this diff Show More