private function noKanbanTrackersAreSelected(PlanningParameters $planning_parameters, $project_id) { $kanban_tracker_ids = $this->kanban_factory->getKanbanTrackerIds($project_id); if (count($kanban_tracker_ids) === 0) { return true; } $selected_tracker_ids = array_merge(array($planning_parameters->planning_tracker_id), $planning_parameters->backlog_tracker_ids); foreach ($selected_tracker_ids as $tracker_id) { if (in_array($tracker_id, $kanban_tracker_ids)) { return false; } } return true; }
private function getFormPresenter(PFUser $user, Planning $planning) { $group_id = $planning->getGroupId(); $available_trackers = $this->planning_factory->getAvailableBacklogTrackers($user, $group_id); $available_planning_trackers = $this->planning_factory->getAvailablePlanningTrackers($user, $group_id); $cardwall_admin = $this->getCardwallConfiguration($planning); $available_planning_trackers[] = $planning->getPlanningTracker(); $kanban_tracker_ids = $this->kanban_factory->getKanbanTrackerIds($group_id); $planning_trackers_filtered = $this->getPlanningTrackersFiltered($available_planning_trackers, $kanban_tracker_ids, $planning); $backlog_trackers_filtered = $this->getBacklogTrackersFiltered($available_trackers, $kanban_tracker_ids, $planning); return new Planning_FormPresenter($this->planning_permissions_manager, $planning, $backlog_trackers_filtered, $planning_trackers_filtered, $cardwall_admin); }
public function showKanban() { $kanban_id = $this->request->get('id'); $user = $this->request->getCurrentUser(); try { $kanban = $this->kanban_factory->getKanban($user, $kanban_id); $tracker = $this->tracker_factory->getTrackerById($kanban->getTrackerId()); $user_is_kanban_admin = $this->permissions_manager->userCanAdministrate($user, $tracker->getGroupId()); return $this->renderToString('kanban', new KanbanPresenter($kanban, $user, $user_is_kanban_admin, $user->getShortLocale(), $tracker->getGroupId())); } catch (AgileDashboard_KanbanNotFoundException $exception) { $GLOBALS['Response']->addFeedback(Feedback::ERROR, $GLOBALS['Language']->getText('plugin_agiledashboard', 'kanban_not_found')); } catch (AgileDashboard_KanbanCannotAccessException $exception) { $GLOBALS['Response']->addFeedback(Feedback::ERROR, $GLOBALS['Language']->getText('global', 'error_perm_denied')); } }
private function getKanbanTrackerIds(Project $project) { return $this->kanban_factory->getKanbanTrackerIds($project->getID()); }