private function setQueryParametersFromRequest(Codendi_Request $request, Tracker_Artifact_Redirect $redirect)
 {
     $params_extractor = new AgileDashboard_PaneRedirectionExtractor();
     $requested_planning = $params_extractor->extractParametersFromRequest($request);
     if ($requested_planning) {
         $key = 'planning[' . $requested_planning[AgileDashboard_PaneRedirectionExtractor::PANE] . '][' . $requested_planning[AgileDashboard_PaneRedirectionExtractor::PLANNING_ID] . ']';
         $value = $requested_planning[AgileDashboard_PaneRedirectionExtractor::ARTIFACT_ID];
         $redirect->query_parameters[$key] = $value;
     }
 }
 public function solveInconsistencies()
 {
     $milestone_artifact = Tracker_ArtifactFactory::instance()->getArtifactById($this->request->get('aid'));
     $milestone = $this->milestone_factory->getMilestoneFromArtifact($milestone_artifact);
     $artifact_ids = $this->request->get('inconsistent-artifacts-ids');
     $extractor = new AgileDashboard_PaneRedirectionExtractor();
     if (!($this->inconsistentArtifactsIdsAreValid($artifact_ids) && $milestone->solveInconsistencies($this->getCurrentUser(), $artifact_ids))) {
         $this->addFeedback(Feedback::ERROR, $GLOBALS['Language']->getText('plugin_agiledashboard', 'error_on_inconsistencies_solving'));
     }
     $this->addFeedback(Feedback::INFO, $GLOBALS['Language']->getText('plugin_agiledashboard', 'successful_inconsistencies_solving'));
     if (!($request_has_redirect = $extractor->getRedirectToParameters($this->request, $this->project))) {
         $this->redirect(array('group_id' => $this->project->getGroupId()));
     }
     $this->redirect($extractor->getRedirectToParameters($this->request, $this->project));
 }