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(); }
public function createFirstKanban() { if (!$this->isFirstKanbanNeeded()) { return; } if ($this->isTrackerAlreadyCreated()) { $this->warn($GLOBALS['Language']->getText('plugin_agiledashboard_first_kanban', 'error_existing_tracker', $this->tracker_itemname)); return; } $tracker = $this->importTrackerStructure(); if (!$tracker) { $this->warn($GLOBALS['Language']->getText('plugin_agiledashboard_first_kanban', 'internal_error')); return; } $kanban_id = $this->kanban_manager->createKanban($tracker->getName(), $tracker->getId()); if (!$kanban_id) { $this->warn($GLOBALS['Language']->getText('plugin_agiledashboard_first_kanban', 'internal_error')); return; } $GLOBALS['Response']->addFeedback(Feedback::INFO, $GLOBALS['Language']->getText('plugin_agiledashboard_first_kanban', 'created', '?' . http_build_query(array('group_id' => $this->project->getId(), 'action' => 'showKanban', 'id' => $kanban_id))), CODENDI_PURIFIER_DISABLED); }
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(); }
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; }