From 75b541743337d9ebaa1118985d8bd382419711f3 Mon Sep 17 00:00:00 2001 From: steinm Date: Thu, 24 Jan 2013 16:54:53 +0000 Subject: [PATCH] - script to add a new transition to a workflow --- op/op.AddTransitionToWorkflow.php | 88 +++++++++++++++++++++++++++++++ 1 file changed, 88 insertions(+) create mode 100644 op/op.AddTransitionToWorkflow.php diff --git a/op/op.AddTransitionToWorkflow.php b/op/op.AddTransitionToWorkflow.php new file mode 100644 index 000000000..e7eb3e9ba --- /dev/null +++ b/op/op.AddTransitionToWorkflow.php @@ -0,0 +1,88 @@ +isAdmin()) { + UI::exitError(getMLText("admin_tools"),getMLText("access_denied")); +} + +/* Check if the form data comes for a trusted request */ +if(!checkFormKey('addtransitiontoworkflow')) { + UI::exitError(getMLText("workflow_title"),getMLText("invalid_request_token")); +} + +if (!isset($_POST["workflow"]) || !is_numeric($_POST["workflow"])) { + UI::exitError(getMLText("workflow_title"),getMLText("invalid_workflow_id")); +} +$workflow = $dms->getWorkflow($_POST["workflow"]); +if (!is_object($workflow)) { + UI::exitError(getMLText("workflow_title"),getMLText("invalid_workflow_id")); +} + +if (!isset($_POST["state"]) || !is_numeric($_POST["state"])) { + UI::exitError(getMLText("workflow_title"),getMLText("invalid_workflow_state_id")); +} +$state = $dms->getWorkflowState($_POST['state']); +if (!is_object($state)) { + UI::exitError(getMLText("workflow_title"),getMLText("invalid_workflow_state_id")); +} + +if (!isset($_POST["nextstate"]) || !is_numeric($_POST["nextstate"])) { + UI::exitError(getMLText("workflow_title"),getMLText("invalid_workflow_state_id")); +} +$nextstate = $dms->getWorkflowState($_POST['nextstate']); +if (!is_object($nextstate)) { + UI::exitError(getMLText("workflow_title"),getMLText("invalid_workflow_state_id")); +} + +if (!isset($_POST["action"]) || !is_numeric($_POST["action"])) { + UI::exitError(getMLText("workflow_title"),getMLText("invalid_workflow_action_id")); +} +$action = $dms->getWorkflowAction($_POST['action']); +if (!is_object($action)) { + UI::exitError(getMLText("workflow_title"),getMLText("invalid_workflow_action_id")); +} + +$users = array(); +if (isset($_POST["users"]) && is_array($_POST["users"])) { + foreach($_POST["users"] as $userid) { + $users[] = $dms->getUser($userid); + } +} + +$groups = array(); +if (isset($_POST["groups"]) && is_array($_POST["groups"])) { + foreach($_POST["groups"] as $groupid) { + $groups[] = $dms->getGroup($groupid); + } +} + +if($transition = $workflow->addTransition($state, $action, $nextstate, $users, $groups)) { +} + +add_log_line("?workflow=".$workflow->getID()."&transition".$transition->getID()); + +header("Location:../out/out.WorkflowMgr.php?workflowid=".$workflow->getID());