From 178070d9d5730ae8b49d4f2bb5e5c61382a3fa6c Mon Sep 17 00:00:00 2001 From: Tobias Reischmann <tobias.reischmann@wi.uni-muenster.de> Date: Wed, 28 Aug 2019 18:03:20 +0200 Subject: [PATCH] Fix notifications for active workflows --- adminlib.php | 4 ++-- classes/manager/step_manager.php | 8 +++++--- classes/manager/trigger_manager.php | 10 ++++++---- 3 files changed, 13 insertions(+), 9 deletions(-) diff --git a/adminlib.php b/adminlib.php index 1f34c74..6171d60 100644 --- a/adminlib.php +++ b/adminlib.php @@ -471,8 +471,8 @@ class workflow_settings { $this->check_permissions(); // Handle other actions. - step_manager::handle_action($action, $subpluginid); - trigger_manager::handle_action($action, $subpluginid); + step_manager::handle_action($action, $subpluginid, $workflowid); + trigger_manager::handle_action($action, $subpluginid, $workflowid); workflow_manager::handle_action($action, $workflowid); if ($action === action::TRIGGER_INSTANCE_FORM) { diff --git a/classes/manager/step_manager.php b/classes/manager/step_manager.php index a2332f7..e3d1181 100644 --- a/classes/manager/step_manager.php +++ b/classes/manager/step_manager.php @@ -217,10 +217,12 @@ class step_manager extends subplugin_manager { * Handles an action for a workflow step. * @param string $action action to be executed * @param int $subpluginid id of the step instance + * @param int $workflowid id of the workflow */ - public static function handle_action($action, $subpluginid) { - if ($step = self::get_step_instance($subpluginid)) { - if (!workflow_manager::is_active($step->workflowid)) { + public static function handle_action($action, $subpluginid, $workflowid) { + $step = self::get_step_instance($subpluginid); + if ($step && $step->workflowid == $workflowid ) { + if (!workflow_manager::is_active($workflowid)) { if ($action === action::UP_STEP) { self::change_sortindex($subpluginid, true); } diff --git a/classes/manager/trigger_manager.php b/classes/manager/trigger_manager.php index e76f3eb..7833104 100644 --- a/classes/manager/trigger_manager.php +++ b/classes/manager/trigger_manager.php @@ -240,11 +240,13 @@ class trigger_manager extends subplugin_manager { /** * Handles an action for a workflow step. * @param string $action action to be executed - * @param int $subpluginid id of the step instance + * @param int $subpluginid id of the trigger instance + * @param int $workflowid id of the workflow */ - public static function handle_action($action, $subpluginid) { - if ($trigger = self::get_instance($subpluginid)) { - if (!workflow_manager::is_active($trigger->workflowid)) { + public static function handle_action($action, $subpluginid, $workflowid) { + $trigger = self::get_instance($subpluginid); + if ($trigger && $trigger->workflowid == $workflowid ) { + if (!workflow_manager::is_active($workflowid)) { if ($action === action::UP_TRIGGER) { self::change_sortindex($subpluginid, true); } -- GitLab