HOR-1538
HOR-1538 HOR-1538
This commit is contained in:
@@ -2,6 +2,7 @@
|
|||||||
|
|
||||||
namespace ProcessMaker\BusinessModel\Migrator;
|
namespace ProcessMaker\BusinessModel\Migrator;
|
||||||
|
|
||||||
|
use ProcessMaker\BusinessModel;
|
||||||
/**
|
/**
|
||||||
* The assignment rules migrator class.
|
* The assignment rules migrator class.
|
||||||
* The container class that stores the import and export rules for assignment rules.
|
* The container class that stores the import and export rules for assignment rules.
|
||||||
@@ -37,13 +38,22 @@ class AssignmentRulesMigrator implements Importable, Exportable
|
|||||||
public function import($data, $replace)
|
public function import($data, $replace)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
|
$workflowTaks = array();
|
||||||
|
$dummyTaskTypes = BusinessModel\Task::getDummyTypes();
|
||||||
|
foreach ($data['tasks'] as $key => $value) {
|
||||||
|
$arrayTaskData = $value;
|
||||||
|
if (!in_array($arrayTaskData["TAS_TYPE"], $dummyTaskTypes)) {
|
||||||
|
$workflowTaks[] = $arrayTaskData;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if ($replace) {
|
if ($replace) {
|
||||||
$this->processes->createTaskRows($data['tasks']);
|
$this->processes->createTaskRows($workflowTaks);
|
||||||
$this->processes->addNewGroupRow($data['groupwfs']);
|
$this->processes->addNewGroupRow($data['groupwfs']);
|
||||||
$this->processes->removeTaskUserRows($data['tasks']);
|
$this->processes->removeTaskUserRows($data['tasks']);
|
||||||
$this->processes->createTaskUserRows($data['taskusers']);
|
$this->processes->createTaskUserRows($data['taskusers']);
|
||||||
} else {
|
} else {
|
||||||
$this->processes->addNewTaskRows($data['tasks']);
|
$this->processes->addNewTaskRows($workflowTaks);
|
||||||
$this->processes->addNewGroupRow($data['groupwfs']);
|
$this->processes->addNewGroupRow($data['groupwfs']);
|
||||||
$this->processes->addNewTaskUserRows($data['taskusers']);
|
$this->processes->addNewTaskUserRows($data['taskusers']);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,6 +3,7 @@
|
|||||||
namespace ProcessMaker\BusinessModel\Migrator;
|
namespace ProcessMaker\BusinessModel\Migrator;
|
||||||
|
|
||||||
use ProcessMaker\Project\Adapter;
|
use ProcessMaker\Project\Adapter;
|
||||||
|
use ProcessMaker\BusinessModel;
|
||||||
use Symfony\Component\Config\Definition\Exception\Exception;
|
use Symfony\Component\Config\Definition\Exception\Exception;
|
||||||
|
|
||||||
class ProcessDefinitionMigrator implements Importable, Exportable
|
class ProcessDefinitionMigrator implements Importable, Exportable
|
||||||
@@ -53,7 +54,15 @@ class ProcessDefinitionMigrator implements Importable, Exportable
|
|||||||
try {
|
try {
|
||||||
//Workflow elements
|
//Workflow elements
|
||||||
$this->processes->updateProcessRow($data['workflow']['process']);
|
$this->processes->updateProcessRow($data['workflow']['process']);
|
||||||
$this->processes->createTaskRows($data['workflow']['tasks']);
|
$workflowTaks = array();
|
||||||
|
$dummyTaskTypes = BusinessModel\Task::getDummyTypes();
|
||||||
|
foreach ($data['workflow']['tasks'] as $key => $value) {
|
||||||
|
$arrayTaskData = $value;
|
||||||
|
if (!in_array($arrayTaskData["TAS_TYPE"], $dummyTaskTypes)) {
|
||||||
|
$workflowTaks[] = $arrayTaskData;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
$this->processes->createTaskRows($workflowTaks);
|
||||||
$this->processes->createLaneRows($data['workflow']['lanes']);
|
$this->processes->createLaneRows($data['workflow']['lanes']);
|
||||||
$this->processes->createGatewayRows($data['workflow']['gateways']);
|
$this->processes->createGatewayRows($data['workflow']['gateways']);
|
||||||
$this->processes->createStepRows($data['workflow']['steps']);
|
$this->processes->createStepRows($data['workflow']['steps']);
|
||||||
|
|||||||
@@ -1949,4 +1949,27 @@ class Task
|
|||||||
}
|
}
|
||||||
return $response;
|
return $response;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Return a list of Dummy Types
|
||||||
|
*
|
||||||
|
* return array
|
||||||
|
*
|
||||||
|
* @access public
|
||||||
|
*/
|
||||||
|
public static function getDummyTypes(){
|
||||||
|
$aTypes = array(
|
||||||
|
"GATEWAYTOGATEWAY",
|
||||||
|
"WEBENTRYEVENT",
|
||||||
|
"END-MESSAGE-EVENT",
|
||||||
|
"START-MESSAGE-EVENT",
|
||||||
|
"INTERMEDIATE-THROW-MESSAGE-EVENT",
|
||||||
|
"INTERMEDIATE-CATCH-MESSAGE-EVENT",
|
||||||
|
"START-TIMER-EVENT",
|
||||||
|
"INTERMEDIATE-CATCH-TIMER-EVENT",
|
||||||
|
"END-EMAIL-EVENT",
|
||||||
|
"INTERMEDIATE-THROW-EMAIL-EVENT"
|
||||||
|
);
|
||||||
|
return $aTypes;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -531,23 +531,11 @@ abstract class Importer
|
|||||||
|
|
||||||
//Update
|
//Update
|
||||||
$workflow = \ProcessMaker\Project\Workflow::load($projectUid);
|
$workflow = \ProcessMaker\Project\Workflow::load($projectUid);
|
||||||
|
$dummyTaskTypes = \ProcessMaker\BusinessModel\Task::getDummyTypes();
|
||||||
|
|
||||||
foreach ($arrayWorkflowTables["tasks"] as $key => $value) {
|
foreach ($arrayWorkflowTables["tasks"] as $key => $value) {
|
||||||
$arrayTaskData = $value;
|
$arrayTaskData = $value;
|
||||||
|
if ( !in_array($arrayTaskData["TAS_TYPE"], $dummyTaskTypes) ) {
|
||||||
if (!in_array($arrayTaskData["TAS_TYPE"], array(
|
|
||||||
"GATEWAYTOGATEWAY",
|
|
||||||
"WEBENTRYEVENT",
|
|
||||||
"END-MESSAGE-EVENT",
|
|
||||||
"START-MESSAGE-EVENT",
|
|
||||||
"INTERMEDIATE-THROW-MESSAGE-EVENT",
|
|
||||||
"INTERMEDIATE-CATCH-MESSAGE-EVENT",
|
|
||||||
"START-TIMER-EVENT",
|
|
||||||
"INTERMEDIATE-CATCH-TIMER-EVENT",
|
|
||||||
"END-EMAIL-EVENT",
|
|
||||||
"INTERMEDIATE-THROW-EMAIL-EVENT"
|
|
||||||
))
|
|
||||||
) {
|
|
||||||
$result = $workflow->updateTask($arrayTaskData["TAS_UID"], $arrayTaskData);
|
$result = $workflow->updateTask($arrayTaskData["TAS_UID"], $arrayTaskData);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user