public function createKanban()
 {
     $kanban_name = $this->request->get('kanban-name');
     $tracker_id = $this->request->get('tracker-kanban');
     $tracker = $this->tracker_factory->getTrackerById($tracker_id);
     $user = $this->request->getCurrentUser();
     $hierarchy = new Tracker_Hierarchy();
     if (!$user->isAdmin($this->group_id)) {
         $GLOBALS['Response']->addFeedback(Feedback::ERROR, $GLOBALS['Language']->getText('global', 'perm_denied'));
         return;
     }
     if ($this->kanban_manager->doesKanbanExistForTracker($tracker)) {
         $GLOBALS['Response']->addFeedback(Feedback::ERROR, $GLOBALS['Language']->getText('plugin_agiledashboard', 'kanban_tracker_used'));
         $this->redirectToHome();
         return;
     }
     try {
         $hierarchy->getLevel($tracker_id);
         $is_in_hierarchy = true;
     } catch (Tracker_Hierarchy_NotInHierarchyException $exeption) {
         $is_in_hierarchy = false;
     }
     if ((count($this->planning_factory->getPlanningsByBacklogTracker($tracker)) > 0 || count($this->planning_factory->getPlanningByPlanningTracker($tracker)) > 0) && !$is_in_hierarchy) {
         $GLOBALS['Response']->addFeedback(Feedback::ERROR, $GLOBALS['Language']->getText('plugin_agiledashboard', 'tracker_used_in_scrum'));
         $this->redirectToHome();
         return;
     }
     if ($this->kanban_manager->createKanban($kanban_name, $tracker_id)) {
         $GLOBALS['Response']->addFeedback(Feedback::INFO, $GLOBALS['Language']->getText('plugin_agiledashboard', 'kanban_created', array($kanban_name)));
     } else {
         $GLOBALS['Response']->addFeedback(Feedback::ERROR, $GLOBALS['Language']->getText('plugin_agiledashboard', 'kanban_creation_error', array($kanban_name)));
     }
     $this->redirectToHome();
 }
Exemplo n.º 2
0
 private function showPHP53Home()
 {
     $user = $this->request->getCurrentUser();
     $plannings = $this->planning_factory->getNonLastLevelPlannings($user, $this->group_id);
     $last_plannings = $this->planning_factory->getLastLevelPlannings($user, $this->group_id);
     $kanban_is_activated = $this->config_manager->kanbanIsActivatedForProject($this->group_id);
     $scrum_is_configured = !empty($plannings) || !empty($last_plannings);
     if (!$scrum_is_configured && !$kanban_is_activated) {
         return $this->showEmptyHome();
     }
     $presenter = new Planning_Presenter_HomePresenter($this->getMilestoneAccessPresenters($plannings), $this->group_id, $this->getLastLevelMilestonesPresenters($last_plannings, $user), $this->request->get('period'), $this->getProjectFromRequest()->getPublicName(), $kanban_is_activated, $user, $this->kanban_manager->getTrackersWithKanbanUsageAndHierarchy($this->group_id, $user), $this->getKanbanSummaryPresenters(), $this->config_manager->scrumIsActivatedForProject($this->group_id), $scrum_is_configured, $this->config_manager->getScrumTitle($this->group_id), $this->config_manager->getKanbanTitle($this->group_id));
     return $this->renderToString('home', $presenter);
 }
 public function createKanban()
 {
     $kanban_name = $this->request->get('kanban-name');
     $tracker_id = $this->request->get('tracker-kanban');
     $tracker = $this->tracker_factory->getTrackerById($tracker_id);
     $user = $this->request->getCurrentUser();
     if (!$user->isAdmin($this->group_id)) {
         $GLOBALS['Response']->addFeedback(Feedback::ERROR, $GLOBALS['Language']->getText('global', 'perm_denied'));
         return;
     }
     if (!$tracker_id) {
         $GLOBALS['Response']->addFeedback(Feedback::ERROR, $GLOBALS['Language']->getText('plugin_agiledashboard', 'no_tracker_selected'));
         $this->redirectToHome();
         return;
     }
     if ($this->kanban_manager->doesKanbanExistForTracker($tracker)) {
         $GLOBALS['Response']->addFeedback(Feedback::ERROR, $GLOBALS['Language']->getText('plugin_agiledashboard', 'kanban_tracker_used'));
         $this->redirectToHome();
         return;
     }
     if ($this->isTrackerUsedInScrum($tracker)) {
         $GLOBALS['Response']->addFeedback(Feedback::ERROR, $GLOBALS['Language']->getText('plugin_agiledashboard', 'tracker_used_in_scrum'));
         $this->redirectToHome();
         return;
     }
     if ($this->hierarchy_checker->isScrumHierarchy($tracker)) {
         $GLOBALS['Response']->addFeedback(Feedback::ERROR, $GLOBALS['Language']->getText('plugin_agiledashboard', 'hierarchy_used_in_scrum'));
         $this->redirectToHome();
         return;
     }
     if ($this->kanban_manager->createKanban($kanban_name, $tracker_id)) {
         $GLOBALS['Response']->addFeedback(Feedback::INFO, $GLOBALS['Language']->getText('plugin_agiledashboard', 'kanban_created', array($kanban_name)));
     } else {
         $GLOBALS['Response']->addFeedback(Feedback::ERROR, $GLOBALS['Language']->getText('plugin_agiledashboard', 'kanban_creation_error', array($kanban_name)));
     }
     $this->redirectToHome();
 }
Exemplo n.º 4
0
 public function generateKanban()
 {
     echo "Create 'My first kanban'\n";
     $kanban_manager = new AgileDashboard_KanbanManager(new AgileDashboard_KanbanDao(), $this->tracker_factory, $this->hierarchy_checker);
     $kanban_manager->createKanban('My first kanban', self::KANBAN_TRACKER_ID);
     echo "Populate kanban\n";
     $fields_data = array($this->tracker_formelement_factory->getFormElementByName(self::KANBAN_TRACKER_ID, 'summary_1')->getId() => 'Do something', $this->tracker_formelement_factory->getFormElementByName(self::KANBAN_TRACKER_ID, 'status')->getId() => 100);
     $this->tracker_artifact_factory->createArtifact($this->tracker_factory->getTrackerById(self::KANBAN_TRACKER_ID), $fields_data, $this->user_manager->getUserByUserName(self::ADMIN_USER_NAME), '', false);
     $fields_data = array($this->tracker_formelement_factory->getFormElementByName(self::KANBAN_TRACKER_ID, 'summary_1')->getId() => 'Do something v2', $this->tracker_formelement_factory->getFormElementByName(self::KANBAN_TRACKER_ID, 'status')->getId() => 100);
     $this->tracker_artifact_factory->createArtifact($this->tracker_factory->getTrackerById(self::KANBAN_TRACKER_ID), $fields_data, $this->user_manager->getUserByUserName(self::ADMIN_USER_NAME), '', false);
     $fields_data = array($this->tracker_formelement_factory->getFormElementByName(self::KANBAN_TRACKER_ID, 'summary_1')->getId() => 'Doing something', $this->tracker_formelement_factory->getFormElementByName(self::KANBAN_TRACKER_ID, 'status')->getId() => self::KANBAN_ONGOING_COLUMN_ID);
     $this->tracker_artifact_factory->createArtifact($this->tracker_factory->getTrackerById(self::KANBAN_TRACKER_ID), $fields_data, $this->user_manager->getUserByUserName(self::ADMIN_USER_NAME), '', false);
     $fields_data = array($this->tracker_formelement_factory->getFormElementByName(self::KANBAN_TRACKER_ID, 'summary_1')->getId() => 'Doing something v2', $this->tracker_formelement_factory->getFormElementByName(self::KANBAN_TRACKER_ID, 'status')->getId() => self::KANBAN_ONGOING_COLUMN_ID);
     $this->tracker_artifact_factory->createArtifact($this->tracker_factory->getTrackerById(self::KANBAN_TRACKER_ID), $fields_data, $this->user_manager->getUserByUserName(self::ADMIN_USER_NAME), '', false);
     $fields_data = array($this->tracker_formelement_factory->getFormElementByName(self::KANBAN_TRACKER_ID, 'summary_1')->getId() => 'Something archived', $this->tracker_formelement_factory->getFormElementByName(self::KANBAN_TRACKER_ID, 'status')->getId() => self::KANBAN_DONE_VALUE_ID);
     $this->tracker_artifact_factory->createArtifact($this->tracker_factory->getTrackerById(self::KANBAN_TRACKER_ID), $fields_data, $this->user_manager->getUserByUserName(self::ADMIN_USER_NAME), '', false);
     $fields_data = array($this->tracker_formelement_factory->getFormElementByName(self::KANBAN_TRACKER_ID, 'summary_1')->getId() => 'Something archived v2', $this->tracker_formelement_factory->getFormElementByName(self::KANBAN_TRACKER_ID, 'status')->getId() => self::KANBAN_DONE_VALUE_ID);
     $this->tracker_artifact_factory->createArtifact($this->tracker_factory->getTrackerById(self::KANBAN_TRACKER_ID), $fields_data, $this->user_manager->getUserByUserName(self::ADMIN_USER_NAME), '', false);
     return $this;
 }
Exemplo n.º 5
0
 private function isFirstKanbanNeeded()
 {
     $used_trackers = $this->kanban_manager->getTrackersUsedAsKanban($this->project);
     return count($used_trackers) === 0;
 }