private function redirectOrAppend(Codendi_Request $request, Tracker_Artifact $artifact, Tracker_Artifact_Redirect $redirect, $requested_planning, Tracker_Artifact $last_milestone_artifact = null) { $planning = PlanningFactory::build()->getPlanning($requested_planning['planning_id']); if ($planning && !$redirect->stayInTracker()) { $this->redirectToPlanning($artifact, $requested_planning, $planning, $redirect); } elseif (!$redirect->stayInTracker()) { $this->redirectToTopPlanning($artifact, $requested_planning, $redirect); } else { $this->setQueryParametersFromRequest($request, $redirect); // Pass the right parameters so parent can be created in the right milestone (see updateBacklogs) if ($planning && $last_milestone_artifact && $redirect->mode == Tracker_Artifact_Redirect::STATE_CREATE_PARENT) { $redirect->query_parameters['child_milestone'] = $last_milestone_artifact->getId(); } } }