diff --git a/workflow/engine/bin/cron_single.php b/workflow/engine/bin/cron_single.php
index 205e981b3..ed7aa5b8d 100755
--- a/workflow/engine/bin/cron_single.php
+++ b/workflow/engine/bin/cron_single.php
@@ -967,7 +967,7 @@ function executeCaseSelfService()
$dueDate = $calendar->calculateDate(
$appcacheDelDelegateDate,
$taskSelfServiceTime,
- $taskSelfServiceTimeUnit //HOURS|DAYS
+ $taskSelfServiceTimeUnit //HOURS|DAYS|MINUTES
//1
);
diff --git a/workflow/engine/src/ProcessMaker/BusinessModel/Task.php b/workflow/engine/src/ProcessMaker/BusinessModel/Task.php
index e16b36989..1ab9fa4f6 100644
--- a/workflow/engine/src/ProcessMaker/BusinessModel/Task.php
+++ b/workflow/engine/src/ProcessMaker/BusinessModel/Task.php
@@ -155,7 +155,8 @@ class Task
"TAS_SELFSERVICE_TIMEOUT" => $arrayDataAux["TAS_SELFSERVICE_TIMEOUT"],
"TAS_SELFSERVICE_TIME" => $arrayDataAux["TAS_SELFSERVICE_TIME"],
"TAS_SELFSERVICE_TIME_UNIT" => $arrayDataAux["TAS_SELFSERVICE_TIME_UNIT"],
- "TAS_SELFSERVICE_TRIGGER_UID" => $arrayDataAux["TAS_SELFSERVICE_TRIGGER_UID"]
+ "TAS_SELFSERVICE_TRIGGER_UID" => $arrayDataAux["TAS_SELFSERVICE_TRIGGER_UID"],
+ "TAS_SELFSERVICE_EXECUTION" => $arrayDataAux["TAS_SELFSERVICE_EXECUTION"]
),
$keyCase
);
@@ -277,6 +278,7 @@ class Task
$this->unsetVar($arrayProperty, "TAS_SELFSERVICE_TIME");
$this->unsetVar($arrayProperty, "TAS_SELFSERVICE_TIME_UNIT");
$this->unsetVar($arrayProperty, "TAS_SELFSERVICE_TRIGGER_UID");
+ $this->unsetVar($arrayProperty, "TAS_SELFSERVICE_EXECUTION");
break;
case 'EVALUATE':
if (empty($arrayProperty["TAS_ASSIGN_VARIABLE"])) {
@@ -287,6 +289,7 @@ class Task
$this->unsetVar($arrayProperty, "TAS_SELFSERVICE_TIME");
$this->unsetVar($arrayProperty, "TAS_SELFSERVICE_TIME_UNIT");
$this->unsetVar($arrayProperty, "TAS_SELFSERVICE_TRIGGER_UID");
+ $this->unsetVar($arrayProperty, "TAS_SELFSERVICE_EXECUTION");
break;
case 'SELF_SERVICE':
case 'SELF_SERVICE_EVALUATE':
@@ -312,10 +315,14 @@ class Task
if (empty($arrayProperty["TAS_SELFSERVICE_TRIGGER_UID"])) {
throw (new \Exception("Invalid value specified for 'tas_selfservice_trigger_uid'"));
}
+ if (empty($arrayProperty["TAS_SELFSERVICE_EXECUTION"])) {
+ throw (new \Exception("Invalid value specified for 'tas_selfservice_execution'"));
+ }
} else {
$this->unsetVar($arrayProperty, "TAS_SELFSERVICE_TIME");
$this->unsetVar($arrayProperty, "TAS_SELFSERVICE_TIME_UNIT");
$this->unsetVar($arrayProperty, "TAS_SELFSERVICE_TRIGGER_UID");
+ $this->unsetVar($arrayProperty, "TAS_SELFSERVICE_EXECUTION");
}
break;
}
diff --git a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity.php b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity.php
index 34d05b7d9..a01bd3066 100644
--- a/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity.php
+++ b/workflow/engine/src/ProcessMaker/Services/Api/Project/Activity.php
@@ -258,7 +258,7 @@ class ActivityPropertiesStructure
public $tas_selfservice_timeout;
/**
- * @var string {@from body} {@choice DAYS,,HOURS}
+ * @var string {@from body} {@choice DAYS,,HOURS,MINUTES}
*/
public $tas_selfservice_time_unit;
@@ -267,6 +267,11 @@ class ActivityPropertiesStructure
*/
public $tas_selfservice_trigger_uid;
+ /**
+ * @var string {@from body} {@choice EVERY_TIME,ONCE}
+ */
+ public $tas_selfservice_execution;
+
/**
* @var string {@from body} {@choice TRUE,FALSE}
*/
diff --git a/workflow/engine/xmlform/tasks/tasks_AssignmentRules.xml b/workflow/engine/xmlform/tasks/tasks_AssignmentRules.xml
index 8bede4601..ba41668a2 100755
--- a/workflow/engine/xmlform/tasks/tasks_AssignmentRules.xml
+++ b/workflow/engine/xmlform/tasks/tasks_AssignmentRules.xml
@@ -28,7 +28,7 @@
-
+