From 0a8398206fa35a636ff6ddb980cdfea4145143f2 Mon Sep 17 00:00:00 2001 From: Paula Quispe Date: Tue, 24 Mar 2020 10:34:37 -0400 Subject: [PATCH] PMCORE-1279 --- .../src/ProcessMaker/Model/TaskTest.php | 33 +++++++++++++++++ .../methods/cases/cases_CatchSelfService.php | 9 ++++- .../engine/src/ProcessMaker/Model/Task.php | 35 +++++++++++++++++++ 3 files changed, 76 insertions(+), 1 deletion(-) create mode 100644 tests/unit/workflow/engine/src/ProcessMaker/Model/TaskTest.php diff --git a/tests/unit/workflow/engine/src/ProcessMaker/Model/TaskTest.php b/tests/unit/workflow/engine/src/ProcessMaker/Model/TaskTest.php new file mode 100644 index 000000000..10be594ca --- /dev/null +++ b/tests/unit/workflow/engine/src/ProcessMaker/Model/TaskTest.php @@ -0,0 +1,33 @@ +create(); + + $taskInstance = new Task(); + $title = $taskInstance->title($task->TAS_ID); + $this->assertEquals($title, $task->TAS_TITLE); + } +} \ No newline at end of file diff --git a/workflow/engine/methods/cases/cases_CatchSelfService.php b/workflow/engine/methods/cases/cases_CatchSelfService.php index 4789df1de..9c104017b 100644 --- a/workflow/engine/methods/cases/cases_CatchSelfService.php +++ b/workflow/engine/methods/cases/cases_CatchSelfService.php @@ -1,6 +1,7 @@ userCanAccess('PM_CASES')) { case -2: @@ -75,7 +76,13 @@ if ( $fieldsCase['PREVIOUS_USER'] = G::LoadTranslation('ID_NO_PREVIOUS_USR_UID'); } - //To enable information (dynaforms, steps) before claim a case + // Get the label of previous task + if (!empty($fieldsDelegation['TAS_ID'])) { + $taskInstance = new ModelTask(); + $fieldsCase['PREVIOUS_TASK'] = $taskInstance->title($fieldsDelegation['TAS_ID']); + } + + // To enable information (dynaforms, steps) before claim a case $_SESSION['bNoShowSteps'] = true; $G_MAIN_MENU = 'processmaker'; $G_SUB_MENU = 'caseOptions'; diff --git a/workflow/engine/src/ProcessMaker/Model/Task.php b/workflow/engine/src/ProcessMaker/Model/Task.php index 3e78e3a33..970a3edb5 100644 --- a/workflow/engine/src/ProcessMaker/Model/Task.php +++ b/workflow/engine/src/ProcessMaker/Model/Task.php @@ -2,6 +2,7 @@ namespace ProcessMaker\Model; +use G; use Illuminate\Database\Eloquent\Model; class Task extends Model @@ -32,4 +33,38 @@ class Task extends Model return $query->where('TAS_ASSIGN_TYPE', '=', 'SELF_SERVICE') ->where('TAS_GROUP_VARIABLE', '=', ''); } + + /** + * Get the title of the task + * + * @param integer $tasId + * + * @return string + */ + public function title($tasId) + { + $query = Task::query()->select('TAS_TITLE'); + $query->where('TAS_ID', $tasId); + $results = $query->get(); + $title = ''; + $results->each(function ($item, $key) use (&$title) { + $title = $item->TAS_TITLE; + switch ($title) { + case "INTERMEDIATE-THROW-EMAIL-EVENT": + $title = G::LoadTranslation('ID_INTERMEDIATE_THROW_EMAIL_EVENT'); + break; + case "INTERMEDIATE-THROW-MESSAGE-EVENT": + $title = G::LoadTranslation('ID_INTERMEDIATE_THROW_MESSAGE_EVENT'); + break; + case "INTERMEDIATE-CATCH-MESSAGE-EVENT": + $title = G::LoadTranslation('ID_INTERMEDIATE_CATCH_MESSAGE_EVENT'); + break; + case "INTERMEDIATE-CATCH-TIMER-EVENT": + $title = G::LoadTranslation('ID_INTERMEDIATE_CATCH_TIMER_EVENT'); + break; + } + }); + + return $title; + } }