HOR-2282
This commit is contained in:
@@ -141,7 +141,7 @@ class Derivation
|
|||||||
$arrayTaskData["NEXT_TASK"]["TAS_PARENT"] = "";
|
$arrayTaskData["NEXT_TASK"]["TAS_PARENT"] = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
$regexpTaskTypeToExclude = "GATEWAYTOGATEWAY|END-MESSAGE-EVENT|SCRIPT-TASK|INTERMEDIATE-CATCH-TIMER-EVENT|INTERMEDIATE-THROW-MESSAGE-EVENT|END-EMAIL-EVENT|INTERMEDIATE-THROW-EMAIL-EVENT|INTERMEDIATE-CATCH-MESSAGE-EVENT";
|
$regexpTaskTypeToExclude = "GATEWAYTOGATEWAY|END-MESSAGE-EVENT|SCRIPT-TASK|SERVICE-TASK|INTERMEDIATE-CATCH-TIMER-EVENT|INTERMEDIATE-THROW-MESSAGE-EVENT|END-EMAIL-EVENT|INTERMEDIATE-THROW-EMAIL-EVENT|INTERMEDIATE-CATCH-MESSAGE-EVENT";
|
||||||
|
|
||||||
$arrayTaskData["NEXT_TASK"]["USER_ASSIGNED"] = (!preg_match("/^(?:" . $regexpTaskTypeToExclude . ")$/", $arrayTaskData["NEXT_TASK"]["TAS_TYPE"]))? $this->getNextAssignedUser($arrayTaskData) : array("USR_UID" => "", "USR_FULLNAME" => "");
|
$arrayTaskData["NEXT_TASK"]["USER_ASSIGNED"] = (!preg_match("/^(?:" . $regexpTaskTypeToExclude . ")$/", $arrayTaskData["NEXT_TASK"]["TAS_TYPE"]))? $this->getNextAssignedUser($arrayTaskData) : array("USR_UID" => "", "USR_FULLNAME" => "");
|
||||||
}
|
}
|
||||||
@@ -1099,6 +1099,10 @@ class Derivation
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
//Execute Service Task
|
||||||
|
if (function_exists('executeServiceTaskByActivityUid')) {
|
||||||
|
$appFields["APP_DATA"] = executeServiceTaskByActivityUid($nextDel["TAS_UID"], $appFields);
|
||||||
|
}
|
||||||
|
|
||||||
//Execute Script-Task
|
//Execute Script-Task
|
||||||
$scriptTask = new \ProcessMaker\BusinessModel\ScriptTask();
|
$scriptTask = new \ProcessMaker\BusinessModel\ScriptTask();
|
||||||
@@ -1106,7 +1110,7 @@ class Derivation
|
|||||||
$appFields["APP_DATA"] = $scriptTask->execScriptByActivityUid($nextDel["TAS_UID"], $appFields);
|
$appFields["APP_DATA"] = $scriptTask->execScriptByActivityUid($nextDel["TAS_UID"], $appFields);
|
||||||
|
|
||||||
//Create record in table APP_ASSIGN_SELF_SERVICE_VALUE
|
//Create record in table APP_ASSIGN_SELF_SERVICE_VALUE
|
||||||
$regexpTaskTypeToExclude = "SCRIPT-TASK|INTERMEDIATE-THROW-EMAIL-EVENT";
|
$regexpTaskTypeToExclude = "SCRIPT-TASK|INTERMEDIATE-THROW-EMAIL-EVENT|SERVICE-TASK";
|
||||||
|
|
||||||
if (!is_null($taskNextDel) && !preg_match("/^(?:" . $regexpTaskTypeToExclude . ")$/", $taskNextDel->getTasType())) {
|
if (!is_null($taskNextDel) && !preg_match("/^(?:" . $regexpTaskTypeToExclude . ")$/", $taskNextDel->getTasType())) {
|
||||||
if ($taskNextDel->getTasAssignType() == "SELF_SERVICE" && trim($taskNextDel->getTasGroupVariable()) != "") {
|
if ($taskNextDel->getTasAssignType() == "SELF_SERVICE" && trim($taskNextDel->getTasGroupVariable()) != "") {
|
||||||
@@ -1126,7 +1130,7 @@ class Derivation
|
|||||||
}
|
}
|
||||||
|
|
||||||
//Check if $taskNextDel is Script-Task
|
//Check if $taskNextDel is Script-Task
|
||||||
if (!is_null($taskNextDel) && ($taskNextDel->getTasType() === "SCRIPT-TASK" || $taskNextDel->getTasType() === "INTERMEDIATE-THROW-EMAIL-EVENT" || $taskNextDel->getTasType() === "INTERMEDIATE-THROW-MESSAGE-EVENT")) {
|
if (!is_null($taskNextDel) && ($taskNextDel->getTasType() === "SCRIPT-TASK" || $taskNextDel->getTasType() === "INTERMEDIATE-THROW-EMAIL-EVENT" || $taskNextDel->getTasType() === "INTERMEDIATE-THROW-MESSAGE-EVENT" || $taskNextDel->getTasType() === "SERVICE-TASK")) {
|
||||||
//Get for $nextDel["TAS_UID"] your next Task
|
//Get for $nextDel["TAS_UID"] your next Task
|
||||||
$currentDelegationAux = array_merge($currentDelegation, array("DEL_INDEX" => $iNewDelIndex, "TAS_UID" => $nextDel["TAS_UID"]));
|
$currentDelegationAux = array_merge($currentDelegation, array("DEL_INDEX" => $iNewDelIndex, "TAS_UID" => $nextDel["TAS_UID"]));
|
||||||
$nextDelegationsAux = array();
|
$nextDelegationsAux = array();
|
||||||
|
|||||||
@@ -396,7 +396,7 @@ class PMPlugin
|
|||||||
throw $e;
|
throw $e;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Changes the menu properties from the given processmaker section and menu id
|
* Changes the menu properties from the given processmaker section and menu id
|
||||||
*
|
*
|
||||||
@@ -415,7 +415,7 @@ class PMPlugin
|
|||||||
throw $e;
|
throw $e;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* callBack File after import process
|
* callBack File after import process
|
||||||
*
|
*
|
||||||
@@ -449,6 +449,49 @@ class PMPlugin
|
|||||||
throw $e;
|
throw $e;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Path registry to file js or css.
|
||||||
|
* @param type $pathFile
|
||||||
|
* @param string $scope
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
public function registerDesignerSourcePath($pathFile, $scope = null)
|
||||||
|
{
|
||||||
|
if ($scope === null) {
|
||||||
|
$scope = '/plugin/' . $this->sNamespace . '/';
|
||||||
|
}
|
||||||
|
try {
|
||||||
|
$pluginRegistry = &PMPluginRegistry::getSingleton();
|
||||||
|
$pluginRegistry->registerDesignerSourcePath($this->sNamespace, $scope . $pathFile);
|
||||||
|
} catch (Exception $e) {
|
||||||
|
throw $e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enable build js or css into build.json paths.
|
||||||
|
* @param type $sourcePath
|
||||||
|
*/
|
||||||
|
public function enableExtensionSources($sourcePath = 'config/build.json')
|
||||||
|
{
|
||||||
|
$path = PATH_PLUGINS . $this->sPluginFolder . "/";
|
||||||
|
$buildFile = $path . $sourcePath;
|
||||||
|
if (is_file($buildFile)) {
|
||||||
|
$buildObjects = G::json_decode(file_get_contents($buildFile));
|
||||||
|
foreach ($buildObjects as $item) {
|
||||||
|
$item->path = $path . rtrim($item->path, "/\\");
|
||||||
|
$extensionPath = "extension-" . $item->name . "-" . G::browserCacheFilesGetUid() . "." . $item->extension;
|
||||||
|
$file = $path . "public_html/" . $extensionPath;
|
||||||
|
@file_put_contents($file, "", LOCK_EX);
|
||||||
|
foreach ($item->files as $name) {
|
||||||
|
@file_put_contents($file, file_get_contents($item->path . "/" . $name), FILE_APPEND | LOCK_EX);
|
||||||
|
}
|
||||||
|
$this->registerDesignerSourcePath($extensionPath);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class menuDetail
|
class menuDetail
|
||||||
|
|||||||
@@ -105,6 +105,7 @@ class PMPluginRegistry
|
|||||||
private $_aMenuOptionsToReplace = array ();
|
private $_aMenuOptionsToReplace = array ();
|
||||||
private $_aImportProcessCallbackFile = array ();
|
private $_aImportProcessCallbackFile = array ();
|
||||||
private $_aOpenReassignCallback = array ();
|
private $_aOpenReassignCallback = array ();
|
||||||
|
private $_arrayDesignerSourcePath = array();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Registry a plugin javascript to include with js core at same runtime
|
* Registry a plugin javascript to include with js core at same runtime
|
||||||
@@ -408,6 +409,12 @@ class PMPluginRegistry
|
|||||||
unset($this->_arrayDesignerMenu[$key]);
|
unset($this->_arrayDesignerMenu[$key]);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
foreach ($this->_arrayDesignerSourcePath as $key => $detail) {
|
||||||
|
if ($detail->pluginName == $sNamespace) {
|
||||||
|
unset($this->_arrayDesignerSourcePath[$key]);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if(sizeof( $this->_aMenuOptionsToReplace )){
|
if(sizeof( $this->_aMenuOptionsToReplace )){
|
||||||
unset( $this->_aMenuOptionsToReplace );
|
unset( $this->_aMenuOptionsToReplace );
|
||||||
@@ -1849,4 +1856,50 @@ class PMPluginRegistry
|
|||||||
}
|
}
|
||||||
return $enabledPlugins;
|
return $enabledPlugins;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Registry in an array routes for js or css files.
|
||||||
|
* @param type $pluginName
|
||||||
|
* @param type $pathFile
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
public function registerDesignerSourcePath($pluginName, $pathFile)
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
$flagFound = false;
|
||||||
|
|
||||||
|
foreach ($this->_arrayDesignerSourcePath as $value) {
|
||||||
|
if ($value->pluginName == $pluginName && $value->pathFile == $pathFile) {
|
||||||
|
$flagFound = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!$flagFound) {
|
||||||
|
$obj = new stdClass();
|
||||||
|
$obj->pluginName = $pluginName;
|
||||||
|
$obj->pathFile = $pathFile;
|
||||||
|
|
||||||
|
$this->_arrayDesignerSourcePath[] = $obj;
|
||||||
|
}
|
||||||
|
} catch (Exception $e) {
|
||||||
|
throw $e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* You obtain an array containing the routes recorded by the
|
||||||
|
* function registerDesignerSourcePath.
|
||||||
|
* @return type
|
||||||
|
* @throws Exception
|
||||||
|
*/
|
||||||
|
public function getDesignerSourcePath()
|
||||||
|
{
|
||||||
|
try {
|
||||||
|
return $this->_arrayDesignerSourcePath;
|
||||||
|
} catch (Exception $e) {
|
||||||
|
throw $e;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -195,7 +195,7 @@ class TaskMapBuilder
|
|||||||
|
|
||||||
$tMap->addColumn('TAS_RECEIVE_MESSAGE', 'TasReceiveMessage', '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_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|SERVICE-TASK', '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.');
|
$tMap->addValidator('TAS_TIMEUNIT', 'validValues', 'propel.validator.ValidValuesValidator', 'MINUTES|HOURS|DAYS|WEEKS|MONTHS', 'Please select a valid value for TAS_TIMEUNIT.');
|
||||||
|
|
||||||
|
|||||||
@@ -1333,7 +1333,7 @@
|
|||||||
</index>
|
</index>
|
||||||
|
|
||||||
<validator column="TAS_TYPE">
|
<validator column="TAS_TYPE">
|
||||||
<rule name="validValues" value="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" message="Please set a valid value for TAS_TYPE" />
|
<rule name="validValues" value="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|SERVICE-TASK" message="Please set a valid value for TAS_TYPE" />
|
||||||
</validator>
|
</validator>
|
||||||
<validator column="TAS_TIMEUNIT">
|
<validator column="TAS_TIMEUNIT">
|
||||||
<rule name="validValues" value="MINUTES|HOURS|DAYS|WEEKS|MONTHS" message="Please select a valid value for TAS_TIMEUNIT."/>
|
<rule name="validValues" value="MINUTES|HOURS|DAYS|WEEKS|MONTHS" message="Please select a valid value for TAS_TIMEUNIT."/>
|
||||||
|
|||||||
@@ -24283,6 +24283,12 @@ msgstr "New BPMN Project"
|
|||||||
msgid "The following case is a \"Script-Task\""
|
msgid "The following case is a \"Script-Task\""
|
||||||
msgstr "The following case is a \"Script-Task\""
|
msgstr "The following case is a \"Script-Task\""
|
||||||
|
|
||||||
|
# TRANSLATION
|
||||||
|
# LABEL/ID_ROUTE_TO_TASK_SERVICE_TASK
|
||||||
|
#: LABEL/ID_ROUTE_TO_TASK_SERVICE_TASK
|
||||||
|
msgid "The following case is a \"Service-Task\""
|
||||||
|
msgstr "The following case is a \"Service-Task\""
|
||||||
|
|
||||||
# TRANSLATION
|
# TRANSLATION
|
||||||
# LABEL/ID_MAFE_0d82790b0612935992bd564a17ce37d6
|
# LABEL/ID_MAFE_0d82790b0612935992bd564a17ce37d6
|
||||||
#: LABEL/ID_MAFE_0d82790b0612935992bd564a17ce37d6
|
#: LABEL/ID_MAFE_0d82790b0612935992bd564a17ce37d6
|
||||||
|
|||||||
@@ -154,6 +154,26 @@ class Designer extends Controller
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//plugin set source path
|
||||||
|
$sourceCss = array();
|
||||||
|
$sourceJs = array();
|
||||||
|
|
||||||
|
$pluginRegistry = &PMPluginRegistry::getSingleton();
|
||||||
|
$srcPath = $pluginRegistry->getDesignerSourcePath();
|
||||||
|
|
||||||
|
foreach ($srcPath as $key => $value) {
|
||||||
|
$ext = pathinfo($value->pathFile, PATHINFO_EXTENSION);
|
||||||
|
if ($ext === "css") {
|
||||||
|
$sourceCss[] = $value->pathFile;
|
||||||
|
}
|
||||||
|
if ($ext === "js") {
|
||||||
|
$sourceJs[] = $value->pathFile;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
$this->setVar('sourceCss', $sourceCss);
|
||||||
|
$this->setVar('sourceJs', $sourceJs);
|
||||||
|
|
||||||
$this->render();
|
$this->render();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -5580,6 +5580,7 @@ INSERT INTO TRANSLATION (TRN_CATEGORY,TRN_ID,TRN_LANG,TRN_VALUE,TRN_UPDATE_DATE
|
|||||||
( 'LABEL','ID_NEW_PROJECT','en','New Project','2015-08-18') ,
|
( 'LABEL','ID_NEW_PROJECT','en','New Project','2015-08-18') ,
|
||||||
( 'LABEL','ID_NEW_BPMN_PROJECT','en','New BPMN Project','2015-08-18') ,
|
( 'LABEL','ID_NEW_BPMN_PROJECT','en','New BPMN Project','2015-08-18') ,
|
||||||
( 'LABEL','ID_ROUTE_TO_TASK_SCRIPT_TASK','en','The following case is a "Script-Task"','2015-08-18') ,
|
( 'LABEL','ID_ROUTE_TO_TASK_SCRIPT_TASK','en','The following case is a "Script-Task"','2015-08-18') ,
|
||||||
|
( 'LABEL','ID_ROUTE_TO_TASK_SERVICE_TASK','en','The following case is a "Service-Task"','2016-11-25') ,
|
||||||
( 'LABEL','ID_MAFE_0d82790b0612935992bd564a17ce37d6','en','Quit','2016-08-12') ,
|
( 'LABEL','ID_MAFE_0d82790b0612935992bd564a17ce37d6','en','Quit','2016-08-12') ,
|
||||||
( 'LABEL','ID_MAFE_16f49c0f891dce505db0ffe478aff96f','en','Next →','2016-08-12') ,
|
( 'LABEL','ID_MAFE_16f49c0f891dce505db0ffe478aff96f','en','Next →','2016-08-12') ,
|
||||||
( 'LABEL','ID_MAFE_064626e308f7d6587778df2924ea847c','en','← Back','2016-08-12') ,
|
( 'LABEL','ID_MAFE_064626e308f7d6587778df2924ea847c','en','← Back','2016-08-12') ,
|
||||||
|
|||||||
@@ -978,6 +978,9 @@ try {
|
|||||||
$optionTaskType = (isset($aFields["TASK"][$sKey]["NEXT_TASK"]["TAS_TYPE"]))? $aFields["TASK"][$sKey]["NEXT_TASK"]["TAS_TYPE"] : "";
|
$optionTaskType = (isset($aFields["TASK"][$sKey]["NEXT_TASK"]["TAS_TYPE"]))? $aFields["TASK"][$sKey]["NEXT_TASK"]["TAS_TYPE"] : "";
|
||||||
|
|
||||||
switch ($optionTaskType) {
|
switch ($optionTaskType) {
|
||||||
|
case "SERVICE-TASK":
|
||||||
|
$aFields["TASK"][$sKey]["NEXT_TASK"]["USR_UID"] = G::LoadTranslation("ID_ROUTE_TO_TASK_SERVICE_TASK");
|
||||||
|
break;
|
||||||
case "SCRIPT-TASK":
|
case "SCRIPT-TASK":
|
||||||
$aFields["TASK"][$sKey]["NEXT_TASK"]["USR_UID"] = G::LoadTranslation("ID_ROUTE_TO_TASK_SCRIPT_TASK");
|
$aFields["TASK"][$sKey]["NEXT_TASK"]["USR_UID"] = G::LoadTranslation("ID_ROUTE_TO_TASK_SCRIPT_TASK");
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -205,9 +205,22 @@ class BpmnWorkflow extends Project\Bpmn
|
|||||||
|
|
||||||
$activityCurrent = \BpmnActivityPeer::retrieveByPK($actUid);
|
$activityCurrent = \BpmnActivityPeer::retrieveByPK($actUid);
|
||||||
|
|
||||||
if ($activityCurrent->getActType() == "TASK" && $activityCurrent->getActTaskType() == "SCRIPTTASK") {
|
if ($activityCurrent->getActType() == "TASK") {
|
||||||
$taskData["TAS_TYPE"] = "SCRIPT-TASK";
|
switch ($activityCurrent->getActTaskType()) {
|
||||||
$taskData["TAS_ASSIGN_TYPE"] = "BALANCED";
|
case 'SCRIPTTASK':
|
||||||
|
$taskData["TAS_TYPE"] = "SCRIPT-TASK";
|
||||||
|
$taskData["TAS_ASSIGN_TYPE"] = "BALANCED";
|
||||||
|
break;
|
||||||
|
case 'SERVICETASK':
|
||||||
|
$registry = \PMPluginRegistry::getSingleton();
|
||||||
|
$taskData["TAS_TYPE"] = "NORMAL";
|
||||||
|
//The plugin pmConnectors will be moved to the core in pm.3.3
|
||||||
|
if ($registry->getStatusPlugin('pmConnectors') === 'enabled') {
|
||||||
|
$taskData["TAS_TYPE"] = "SERVICE-TASK";
|
||||||
|
$taskData["TAS_ASSIGN_TYPE"] = "BALANCED";
|
||||||
|
}
|
||||||
|
break;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
$this->wp->addTask($taskData);
|
$this->wp->addTask($taskData);
|
||||||
@@ -254,6 +267,8 @@ class BpmnWorkflow extends Project\Bpmn
|
|||||||
));
|
));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
$taskData = self::__updateServiceTask($activityBefore, $activityCurrent, $taskData);
|
||||||
|
|
||||||
if($activityCurrent->getActLoopType() == "PARALLEL"){
|
if($activityCurrent->getActLoopType() == "PARALLEL"){
|
||||||
$task = \TaskPeer::retrieveByPK($actUid);
|
$task = \TaskPeer::retrieveByPK($actUid);
|
||||||
if($task->getTasAssignType() == "BALANCED" || $task->getTasAssignType() == "MANUAL" || $task->getTasAssignType() == "EVALUATE" || $task->getTasAssignType() == "REPORT_TO" || $task->getTasAssignType() == "SELF_SERVICE"){
|
if($task->getTasAssignType() == "BALANCED" || $task->getTasAssignType() == "MANUAL" || $task->getTasAssignType() == "EVALUATE" || $task->getTasAssignType() == "REPORT_TO" || $task->getTasAssignType() == "SELF_SERVICE"){
|
||||||
@@ -271,6 +286,62 @@ class BpmnWorkflow extends Project\Bpmn
|
|||||||
$this->wp->updateTask($actUid, $taskData);
|
$this->wp->updateTask($actUid, $taskData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param $actUid
|
||||||
|
* @param $data
|
||||||
|
*/
|
||||||
|
public function sincronizeActivityData($actUid, $data)
|
||||||
|
{
|
||||||
|
$registry = \PMPluginRegistry::getSingleton();
|
||||||
|
$taskData = \TaskPeer::retrieveByPK($actUid);
|
||||||
|
//The plugin pmConnectors will be moved to the core in pm.3.3
|
||||||
|
if ($taskData->getTasType() == 'SERVICE-TASK' && $registry->getStatusPlugin('pmConnectors') !== 'enabled') {
|
||||||
|
$taskData = array();
|
||||||
|
$taskData["TAS_TYPE"] = "NORMAL";
|
||||||
|
$taskData["TAS_ASSIGN_TYPE"] = "BALANCED";
|
||||||
|
$this->wp->updateTask($actUid, $taskData);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* @param null $activityBefore
|
||||||
|
* @param null $activityCurrent
|
||||||
|
* @param $taskData
|
||||||
|
* @return mixed
|
||||||
|
*/
|
||||||
|
static function __updateServiceTask($activityBefore, $activityCurrent, $taskData)
|
||||||
|
{
|
||||||
|
$registry = \PMPluginRegistry::getSingleton();
|
||||||
|
if ($activityBefore->getActTaskType() != "SERVICETASK" && $activityCurrent->getActTaskType() == "SERVICETASK") {
|
||||||
|
//The plugin pmConnectors will be moved to the core in pm.3.3
|
||||||
|
if ($registry->getStatusPlugin('pmConnectors') === 'enabled') {
|
||||||
|
$taskData["TAS_TYPE"] = "SERVICE-TASK";
|
||||||
|
$taskData["TAS_ASSIGN_TYPE"] = "BALANCED";
|
||||||
|
} else {
|
||||||
|
$taskData["TAS_TYPE"] = "NORMAL";
|
||||||
|
$taskData["TAS_ASSIGN_TYPE"] = "BALANCED";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if ($activityBefore->getActTaskType() == "SERVICETASK" && $activityCurrent->getActTaskType() != "SERVICETASK") {
|
||||||
|
$taskData["TAS_TYPE"] = "NORMAL";
|
||||||
|
$taskData["TAS_ASSIGN_TYPE"] = "BALANCED";
|
||||||
|
if($activityCurrent->getActTaskType() == "SCRIPTTASK"){
|
||||||
|
$taskData["TAS_TYPE"] = "SCRIPT-TASK";
|
||||||
|
}
|
||||||
|
//The plugin pmConnectors will be moved to the core in pm.3.3
|
||||||
|
if ($registry->getStatusPlugin('pmConnectors') === 'enabled') {
|
||||||
|
$pathFile = PATH_PLUGINS . 'pmConnectors' . PATH_SEP . 'src' . PATH_SEP . 'Services' . PATH_SEP . 'BusinessModel' . PATH_SEP . 'PmConnectors' . PATH_SEP . 'ServiceTaskBM.php';
|
||||||
|
if (is_file($pathFile)) {
|
||||||
|
require_once $pathFile;
|
||||||
|
$serviceTask = new \Services\BusinessModel\PmConnectors\ServiceTaskBM();
|
||||||
|
$serviceTask->deleteByActivityUid($activityCurrent->getPrjUid(), $activityCurrent->getActUid());
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return $taskData;
|
||||||
|
}
|
||||||
|
|
||||||
public function removeActivity($actUid)
|
public function removeActivity($actUid)
|
||||||
{
|
{
|
||||||
$activity = \BpmnActivityPeer::retrieveByPK($actUid);
|
$activity = \BpmnActivityPeer::retrieveByPK($actUid);
|
||||||
@@ -1530,7 +1601,6 @@ class BpmnWorkflow extends Project\Bpmn
|
|||||||
$activityData = Util\ArrayUtil::boolToIntValues($activityData);
|
$activityData = Util\ArrayUtil::boolToIntValues($activityData);
|
||||||
|
|
||||||
$activity = $bwp->getActivity($activityData["ACT_UID"]);
|
$activity = $bwp->getActivity($activityData["ACT_UID"]);
|
||||||
|
|
||||||
if ($forceInsert || is_null($activity)) {
|
if ($forceInsert || is_null($activity)) {
|
||||||
if ($generateUid) {
|
if ($generateUid) {
|
||||||
//Generate and update UID
|
//Generate and update UID
|
||||||
@@ -1552,7 +1622,7 @@ class BpmnWorkflow extends Project\Bpmn
|
|||||||
} else {
|
} else {
|
||||||
Util\Logger::log("Update Activity ({$activityData["ACT_UID"]}) Skipped - No changes required");
|
Util\Logger::log("Update Activity ({$activityData["ACT_UID"]}) Skipped - No changes required");
|
||||||
}
|
}
|
||||||
|
$bwp->sincronizeActivityData($activityData["ACT_UID"], $activityData);
|
||||||
$diagram["activities"][$i] = $activityData;
|
$diagram["activities"][$i] = $activityData;
|
||||||
$whiteList[] = $activityData["ACT_UID"];
|
$whiteList[] = $activityData["ACT_UID"];
|
||||||
|
|
||||||
|
|||||||
@@ -230,6 +230,19 @@ class Workflow extends Handler
|
|||||||
$this->removeSupProcess($this->proUid, $tasUid);
|
$this->removeSupProcess($this->proUid, $tasUid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if ($tasType == "SERVICE-TASK") {
|
||||||
|
$registry = \PMPluginRegistry::getSingleton();
|
||||||
|
//The plugin pmConnectors will be moved to the core in pm.3.3
|
||||||
|
if ($registry->getStatusPlugin('pmConnectors') === 'enabled') {
|
||||||
|
$pathFile = PATH_PLUGINS . 'pmConnectors' . PATH_SEP . 'src' . PATH_SEP . 'Services' . PATH_SEP . 'BusinessModel' . PATH_SEP . 'PmConnectors' . PATH_SEP . 'ServiceTaskBM.php';
|
||||||
|
if (is_file($pathFile)) {
|
||||||
|
require_once $pathFile;
|
||||||
|
$serviceTask = new \Services\BusinessModel\PmConnectors\ServiceTaskBM();
|
||||||
|
$serviceTask->deleteByActivityUid($this->proUid, $tasUid);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
self::log("Exception: ", $e->getMessage(), "Trace: ", $e->getTraceAsString());
|
self::log("Exception: ", $e->getMessage(), "Trace: ", $e->getTraceAsString());
|
||||||
throw $e;
|
throw $e;
|
||||||
|
|||||||
@@ -98,6 +98,11 @@
|
|||||||
<td class="FormLabel" width="100"></td>
|
<td class="FormLabel" width="100"></td>
|
||||||
<td class="FormFieldContent">{$data.NEXT_TASK.USR_UID}{$data.NEXT_TASK.USR_HIDDEN_FIELD}</td>
|
<td class="FormFieldContent">{$data.NEXT_TASK.USR_UID}{$data.NEXT_TASK.USR_HIDDEN_FIELD}</td>
|
||||||
</tr>
|
</tr>
|
||||||
|
{elseif ($data.NEXT_TASK.TAS_TYPE == "SERVICE-TASK")}
|
||||||
|
<tr>
|
||||||
|
<td class="FormLabel" width="100"></td>
|
||||||
|
<td class="FormFieldContent">{$data.NEXT_TASK.USR_UID}{$data.NEXT_TASK.USR_HIDDEN_FIELD}</td>
|
||||||
|
</tr>
|
||||||
{elseif ($data.NEXT_TASK.TAS_TYPE == "INTERMEDIATE-CATCH-TIMER-EVENT")}
|
{elseif ($data.NEXT_TASK.TAS_TYPE == "INTERMEDIATE-CATCH-TIMER-EVENT")}
|
||||||
<tr>
|
<tr>
|
||||||
<td class="FormLabel" width="100">{$NEXT_TASK_LABEL}:</td>
|
<td class="FormLabel" width="100">{$NEXT_TASK_LABEL}:</td>
|
||||||
|
|||||||
@@ -71,6 +71,9 @@
|
|||||||
|
|
||||||
<link rel="stylesheet" type="text/css" href="/lib/css/mafe-{$buildhash}.css" />
|
<link rel="stylesheet" type="text/css" href="/lib/css/mafe-{$buildhash}.css" />
|
||||||
<link rel="stylesheet" type="text/css" href="/css/{$sys_skin}-pm3.css" />
|
<link rel="stylesheet" type="text/css" href="/css/{$sys_skin}-pm3.css" />
|
||||||
|
{foreach from=$sourceCss item=pathFile}
|
||||||
|
<link rel="stylesheet" type="text/css" href="{$pathFile}" />
|
||||||
|
{/foreach}
|
||||||
<script type="text/javascript">
|
<script type="text/javascript">
|
||||||
var prj_uid = "{$prj_uid}";
|
var prj_uid = "{$prj_uid}";
|
||||||
var app_uid = "{$app_uid}";
|
var app_uid = "{$app_uid}";
|
||||||
@@ -85,6 +88,9 @@
|
|||||||
var HTTP_SERVER_HOSTNAME = "{$HTTP_SERVER_HOSTNAME}";
|
var HTTP_SERVER_HOSTNAME = "{$HTTP_SERVER_HOSTNAME}";
|
||||||
</script>
|
</script>
|
||||||
<script type="text/javascript" src="/lib/js/mafe-{$buildhash}.js"></script>
|
<script type="text/javascript" src="/lib/js/mafe-{$buildhash}.js"></script>
|
||||||
|
{foreach from=$sourceJs item=pathFile}
|
||||||
|
<script type="text/javascript" src="{$pathFile}"></script>
|
||||||
|
{/foreach}
|
||||||
|
|
||||||
{/if}
|
{/if}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user