Merged in gproly/processmaker/HOR-2163 (pull request #5129)

HOR-2163
This commit is contained in:
Julio Cesar Laura Avendaño
2016-11-14 13:46:53 +00:00
6 changed files with 519 additions and 10 deletions

View File

@@ -181,6 +181,20 @@ class TaskMapBuilder
$tMap->addColumn('TAS_AUTO_ROOT', 'TasAutoRoot', 'string', CreoleTypes::VARCHAR, true, 20);
$tMap->addColumn('TAS_RECEIVE_SERVER_UID', 'TasReceiveServerUid', 'string', CreoleTypes::VARCHAR, true, 32);
$tMap->addColumn('TAS_RECEIVE_LAST_EMAIL', 'TasReceiveLastEmail', 'string', CreoleTypes::VARCHAR, true, 20);
$tMap->addColumn('TAS_RECEIVE_EMAIL_FROM_FORMAT', 'TasReceiveEmailFromFormat', 'int', CreoleTypes::INTEGER, false, null);
$tMap->addColumn('TAS_RECEIVE_MESSAGE_TYPE', 'TasReceiveMessageType', 'string', CreoleTypes::VARCHAR, true, 20);
$tMap->addColumn('TAS_RECEIVE_MESSAGE_TEMPLATE', 'TasReceiveMessageTemplate', 'string', CreoleTypes::VARCHAR, true, 100);
$tMap->addColumn('TAS_RECEIVE_SUBJECT_MESSAGE', 'TasReceiveSubjectMessage', 'string', CreoleTypes::LONGVARCHAR, false, null);
$tMap->addColumn('TAS_RECEIVE_MESSAGE', 'TasReceiveMessage', 'string', CreoleTypes::LONGVARCHAR, false, null);
$tMap->addValidator('TAS_TYPE', 'validValues', 'propel.validator.ValidValuesValidator', 'NORMAL|ADHOC|SUBPROCESS|HIDDEN|GATEWAYTOGATEWAY|WEBENTRYEVENT|END-MESSAGE-EVENT|START-MESSAGE-EVENT|INTERMEDIATE-THROW-MESSAGE-EVENT|INTERMEDIATE-CATCH-MESSAGE-EVENT|SCRIPT-TASK|START-TIMER-EVENT|INTERMEDIATE-CATCH-TIMER-EVENT|END-EMAIL-EVENT|INTERMEDIATE-THROW-EMAIL-EVENT', 'Please set 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 one or more lines are too long

View File

@@ -1321,6 +1321,13 @@
<column name="TAS_OFFLINE" type="VARCHAR" size="20" required="true" default="FALSE"/>
<column name="TAS_EMAIL_SERVER_UID" type="VARCHAR" size="32" required="false" default=""/>
<column name="TAS_AUTO_ROOT" type="VARCHAR" size="20" required="true" default="FALSE"/>
<column name="TAS_RECEIVE_SERVER_UID" type="VARCHAR" size="32" required="true" default=""/>
<column name="TAS_RECEIVE_LAST_EMAIL" type="VARCHAR" size="20" required="true" default="FALSE"/>
<column name="TAS_RECEIVE_EMAIL_FROM_FORMAT" type="INTEGER" default="0"/>
<column name="TAS_RECEIVE_MESSAGE_TYPE" type="VARCHAR" size="20" required="true" default="text"/>
<column name="TAS_RECEIVE_MESSAGE_TEMPLATE" type="VARCHAR" size="100" required="true" default="alert_message.html"/>
<column name="TAS_RECEIVE_SUBJECT_MESSAGE" type="LONGVARCHAR"/>
<column name="TAS_RECEIVE_MESSAGE" type="LONGVARCHAR"/>
<index name="indexTasUid">
<index-column name="TAS_UID"/>
</index>

View File

@@ -665,6 +665,13 @@ CREATE TABLE `TASK`
`TAS_OFFLINE` VARCHAR(20) default 'FALSE' NOT NULL,
`TAS_EMAIL_SERVER_UID` VARCHAR(32) default '' NOT NULL,
`TAS_AUTO_ROOT` VARCHAR(20) default 'FALSE' NOT NULL,
`TAS_RECEIVE_SERVER_UID` VARCHAR(32) default '' NOT NULL,
`TAS_RECEIVE_LAST_EMAIL` VARCHAR(20) default 'FALSE' NOT NULL,
`TAS_RECEIVE_EMAIL_FROM_FORMAT` INTEGER default 0,
`TAS_RECEIVE_MESSAGE_TYPE` VARCHAR(20) default 'text' NOT NULL,
`TAS_RECEIVE_MESSAGE_TEMPLATE` VARCHAR(100) default 'alert_message.html' NOT NULL,
`TAS_RECEIVE_SUBJECT_MESSAGE` MEDIUMTEXT,
`TAS_RECEIVE_MESSAGE` MEDIUMTEXT,
PRIMARY KEY (`TAS_UID`),
KEY `indexTasUid`(`TAS_UID`)
)ENGINE=InnoDB DEFAULT CHARSET='utf8' COMMENT='Task of workflow';

View File

@@ -274,6 +274,10 @@ class Task
}
}
if (isset($arrayProperty["TAS_RECEIVE_LAST_EMAIL"])) {
$arrayProperty["TAS_RECEIVE_LAST_EMAIL"] = $arrayProperty["TAS_RECEIVE_LAST_EMAIL"] === "TRUE" ? "TRUE" : "FALSE";
}
//Validating TAS_ASSIGN_VARIABLE value
if (!isset($arrayProperty["TAS_ASSIGN_TYPE"])) {
$derivateType = $task->kgetassigType($arrayProperty["PRO_UID"], $arrayProperty["TAS_UID"]);
@@ -432,6 +436,42 @@ class Task
$this->unsetVar($arrayProperty, "TAS_DEF_MESSAGE_TEMPLATE");
}
if ($arrayProperty["TAS_RECEIVE_LAST_EMAIL"] == "TRUE") {
if (empty($arrayProperty["TAS_RECEIVE_SERVER_UID"])) {
throw (new \Exception("Invalid value specified for 'tas_receive_server_uid'"));
}
if (empty($arrayProperty["TAS_RECEIVE_SUBJECT_MESSAGE"])) {
throw (new \Exception("Invalid value specified for 'tas_receive_subject_message'"));
}
if (!isset($arrayProperty["TAS_RECEIVE_MESSAGE_TYPE"])) {
$arrayProperty["TAS_RECEIVE_MESSAGE_TYPE"] = "text";
}
$valuesDefMessageType = array('text', 'template');
if (!in_array($arrayProperty["TAS_RECEIVE_MESSAGE_TYPE"], $valuesDefMessageType)) {
throw (new \Exception("Invalid value specified for 'tas_receive_message_type'"));
}
if (!isset($arrayProperty["TAS_RECEIVE_MESSAGE_TEMPLATE"])) {
$arrayProperty["TAS_RECEIVE_MESSAGE_TEMPLATE"] = "alert_message.html";
}
if ($arrayProperty["TAS_RECEIVE_MESSAGE_TYPE"] == 'template') {
if (empty($arrayProperty["TAS_RECEIVE_MESSAGE_TEMPLATE"])) {
throw (new \Exception("Invalid value specified for 'tas_receive_message_template'"));
}
$this->unsetVar($arrayProperty, "TAS_RECEIVE_MESSAGE");
} else {
if (empty($arrayProperty["TAS_RECEIVE_MESSAGE"])) {
throw (new \Exception("Invalid value specified for 'tas_receive_message'"));
}
$this->unsetVar($arrayProperty, "TAS_RECEIVE_MESSAGE_TEMPLATE");
}
} else {
$this->unsetVar($arrayProperty, "TAS_RECEIVE_SERVER_UID");
$this->unsetVar($arrayProperty, "TAS_RECEIVE_SUBJECT_MESSAGE");
$this->unsetVar($arrayProperty, "TAS_RECEIVE_MESSAGE");
$this->unsetVar($arrayProperty, "TAS_RECEIVE_MESSAGE_TYPE");
$this->unsetVar($arrayProperty, "TAS_RECEIVE_MESSAGE_TEMPLATE");
}
$result = $task->update($arrayProperty);
if (!empty($arrayProperty['CONSOLIDATE_DATA'])) {
if (!empty($arrayProperty['CONSOLIDATE_DATA']['consolidated_dynaform'])) {