HOR-2220
This commit is contained in:
@@ -3698,6 +3698,31 @@ class Processes
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function getElementTaskRelation($processUid){
|
||||||
|
try {
|
||||||
|
$arrayElementTask = array();
|
||||||
|
//Get data
|
||||||
|
$criteria = new \Criteria("workflow");
|
||||||
|
$criteria->addSelectColumn(\ElementTaskRelationPeer::ETR_UID);
|
||||||
|
$criteria->addSelectColumn(\ElementTaskRelationPeer::PRJ_UID);
|
||||||
|
$criteria->addSelectColumn(\ElementTaskRelationPeer::ELEMENT_UID);
|
||||||
|
$criteria->addSelectColumn(\ElementTaskRelationPeer::ELEMENT_TYPE);
|
||||||
|
$criteria->addSelectColumn(\ElementTaskRelationPeer::TAS_UID);
|
||||||
|
$criteria->add(ElementTaskRelationPeer::PRJ_UID, $processUid, Criteria::EQUAL);
|
||||||
|
$rsCriteria = ElementTaskRelationPeer::doSelectRS($criteria);
|
||||||
|
$rsCriteria->setFetchmode(ResultSet::FETCHMODE_ASSOC);
|
||||||
|
$rsCriteria->next();
|
||||||
|
while ($aRow = $rsCriteria->getRow()) {
|
||||||
|
$arrayElementTask[] = $aRow;
|
||||||
|
$rsCriteria->next();
|
||||||
|
}
|
||||||
|
//Return
|
||||||
|
return $arrayElementTask;
|
||||||
|
} catch (Exception $e) {
|
||||||
|
throw $e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
public function getFilesManager($processUid, $template = 'all')
|
public function getFilesManager($processUid, $template = 'all')
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
@@ -4464,6 +4489,7 @@ class Processes
|
|||||||
$oData->emailEvent = $this->getEmailEvent($sProUid);
|
$oData->emailEvent = $this->getEmailEvent($sProUid);
|
||||||
$oData->filesManager = $this->getFilesManager($sProUid);
|
$oData->filesManager = $this->getFilesManager($sProUid);
|
||||||
$oData->abeConfiguration = $this->getActionsByEmail($sProUid);
|
$oData->abeConfiguration = $this->getActionsByEmail($sProUid);
|
||||||
|
$oData->elementTask = $this->getElementTaskRelation($sProUid);
|
||||||
$oData->groupwfs = $this->groupwfsMerge($oData->groupwfs, $oData->processUser, "USR_UID");
|
$oData->groupwfs = $this->groupwfsMerge($oData->groupwfs, $oData->processUser, "USR_UID");
|
||||||
$oData->process["PRO_TYPE_PROCESS"] = "PUBLIC";
|
$oData->process["PRO_TYPE_PROCESS"] = "PUBLIC";
|
||||||
|
|
||||||
|
|||||||
@@ -156,7 +156,7 @@ class ElementTaskRelation
|
|||||||
*
|
*
|
||||||
* return array Return data of the new Element-Task-Relation created
|
* return array Return data of the new Element-Task-Relation created
|
||||||
*/
|
*/
|
||||||
public function create($projectUid, array $arrayData)
|
public function create($projectUid, array $arrayData, $verifyPrjUid = true)
|
||||||
{
|
{
|
||||||
try {
|
try {
|
||||||
//Verify data
|
//Verify data
|
||||||
@@ -173,7 +173,9 @@ class ElementTaskRelation
|
|||||||
unset($arrayData["PRJ_UID"]);
|
unset($arrayData["PRJ_UID"]);
|
||||||
|
|
||||||
//Verify data
|
//Verify data
|
||||||
$process->throwExceptionIfNotExistsProcess($projectUid, $this->arrayFieldNameForException["projectUid"]);
|
if($verifyPrjUid){
|
||||||
|
$process->throwExceptionIfNotExistsProcess($projectUid, $this->arrayFieldNameForException["projectUid"]);
|
||||||
|
}
|
||||||
|
|
||||||
$this->throwExceptionIfDataIsInvalid("", $projectUid, $arrayData);
|
$this->throwExceptionIfDataIsInvalid("", $projectUid, $arrayData);
|
||||||
|
|
||||||
@@ -218,6 +220,31 @@ class ElementTaskRelation
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public function existsElementUid($elementUid)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$criteria = new \Criteria("workflow");
|
||||||
|
|
||||||
|
$criteria->addSelectColumn(\ElementTaskRelationPeer::ETR_UID);
|
||||||
|
$criteria->addSelectColumn(\ElementTaskRelationPeer::PRJ_UID);
|
||||||
|
$criteria->addSelectColumn(\ElementTaskRelationPeer::ELEMENT_UID);
|
||||||
|
$criteria->addSelectColumn(\ElementTaskRelationPeer::ELEMENT_TYPE);
|
||||||
|
$criteria->addSelectColumn(\ElementTaskRelationPeer::TAS_UID);
|
||||||
|
$criteria->add( \ElementTaskRelationPeer::ELEMENT_UID, $elementUid );
|
||||||
|
$rs = \ElementTaskRelationPeer::doSelectRS( $criteria );
|
||||||
|
$rs->setFetchmode( \ResultSet::FETCHMODE_ASSOC );
|
||||||
|
if ($rs->next()) {
|
||||||
|
return true;
|
||||||
|
} else {
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
return $criteria;
|
||||||
|
} catch (\Exception $e) {
|
||||||
|
throw $e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Delete Element-Task-Relation
|
* Delete Element-Task-Relation
|
||||||
*
|
*
|
||||||
|
|||||||
@@ -512,6 +512,34 @@ abstract class Importer
|
|||||||
$arrayWorkflowTables = $this->importData["tables"]["workflow"];
|
$arrayWorkflowTables = $this->importData["tables"]["workflow"];
|
||||||
$arrayWorkflowFiles = $this->importData["files"]["workflow"];
|
$arrayWorkflowFiles = $this->importData["files"]["workflow"];
|
||||||
|
|
||||||
|
//Element Task Relation
|
||||||
|
$aElementTask = (isset($arrayWorkflowTables["elementTask"]))? $arrayWorkflowTables["elementTask"] : array();
|
||||||
|
$elementTaskRelation = new \ProcessMaker\BusinessModel\ElementTaskRelation();
|
||||||
|
foreach ($aElementTask as $key => $row) {
|
||||||
|
$exists = $elementTaskRelation->existsElementUid($row['ELEMENT_UID']);
|
||||||
|
if(!$exists){
|
||||||
|
$arrayResult = $elementTaskRelation->create(
|
||||||
|
$row['PRJ_UID'],
|
||||||
|
[
|
||||||
|
'ELEMENT_UID' => $row['ELEMENT_UID'],
|
||||||
|
'ELEMENT_TYPE' => $row['ELEMENT_TYPE'],
|
||||||
|
'TAS_UID' => $row['TAS_UID']
|
||||||
|
],
|
||||||
|
false
|
||||||
|
);
|
||||||
|
$task = new \Task();
|
||||||
|
foreach ($arrayWorkflowTables["tasks"] as $key => $value) {
|
||||||
|
$arrayTaskData = $value;
|
||||||
|
if ( $arrayTaskData['TAS_UID'] === $row['TAS_UID'] ) {
|
||||||
|
if(!$task->taskExists($row['TAS_UID'])){
|
||||||
|
$tasUid = $task->create($arrayTaskData, false);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
//Import BPMN tables
|
//Import BPMN tables
|
||||||
$result = $this->importBpmnTables($arrayBpmnTables, $generateUid);
|
$result = $this->importBpmnTables($arrayBpmnTables, $generateUid);
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user