HOR-2282
This commit is contained in:
@@ -141,7 +141,7 @@ class Derivation
|
||||
$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" => "");
|
||||
}
|
||||
@@ -1099,6 +1099,10 @@ class Derivation
|
||||
}
|
||||
break;
|
||||
}
|
||||
//Execute Service Task
|
||||
if (function_exists('executeServiceTaskByActivityUid')) {
|
||||
$appFields["APP_DATA"] = executeServiceTaskByActivityUid($nextDel["TAS_UID"], $appFields);
|
||||
}
|
||||
|
||||
//Execute Script-Task
|
||||
$scriptTask = new \ProcessMaker\BusinessModel\ScriptTask();
|
||||
@@ -1106,7 +1110,7 @@ class Derivation
|
||||
$appFields["APP_DATA"] = $scriptTask->execScriptByActivityUid($nextDel["TAS_UID"], $appFields);
|
||||
|
||||
//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 ($taskNextDel->getTasAssignType() == "SELF_SERVICE" && trim($taskNextDel->getTasGroupVariable()) != "") {
|
||||
@@ -1126,7 +1130,7 @@ class Derivation
|
||||
}
|
||||
|
||||
//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
|
||||
$currentDelegationAux = array_merge($currentDelegation, array("DEL_INDEX" => $iNewDelIndex, "TAS_UID" => $nextDel["TAS_UID"]));
|
||||
$nextDelegationsAux = array();
|
||||
|
||||
@@ -396,7 +396,7 @@ class PMPlugin
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Changes the menu properties from the given processmaker section and menu id
|
||||
*
|
||||
@@ -415,7 +415,7 @@ class PMPlugin
|
||||
throw $e;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* callBack File after import process
|
||||
*
|
||||
@@ -449,6 +449,49 @@ class PMPlugin
|
||||
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
|
||||
|
||||
@@ -105,6 +105,7 @@ class PMPluginRegistry
|
||||
private $_aMenuOptionsToReplace = array ();
|
||||
private $_aImportProcessCallbackFile = array ();
|
||||
private $_aOpenReassignCallback = array ();
|
||||
private $_arrayDesignerSourcePath = array();
|
||||
|
||||
/**
|
||||
* Registry a plugin javascript to include with js core at same runtime
|
||||
@@ -408,6 +409,12 @@ class PMPluginRegistry
|
||||
unset($this->_arrayDesignerMenu[$key]);
|
||||
}
|
||||
}
|
||||
|
||||
foreach ($this->_arrayDesignerSourcePath as $key => $detail) {
|
||||
if ($detail->pluginName == $sNamespace) {
|
||||
unset($this->_arrayDesignerSourcePath[$key]);
|
||||
}
|
||||
}
|
||||
|
||||
if(sizeof( $this->_aMenuOptionsToReplace )){
|
||||
unset( $this->_aMenuOptionsToReplace );
|
||||
@@ -1849,4 +1856,50 @@ class PMPluginRegistry
|
||||
}
|
||||
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->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.');
|
||||
|
||||
|
||||
Reference in New Issue
Block a user