/** * @return Cardwall_PaneContentPresenter */ private function getPresenterUsingMappedFields(Cardwall_OnTop_Config_ColumnCollection $columns) { $board_factory = new Cardwall_BoardFactory(); $planned_artifacts = $this->milestone->getPlannedArtifacts(); $field_retriever = new Cardwall_OnTop_Config_MappedFieldProvider($this->config, new Cardwall_FieldProviders_SemanticStatusFieldRetriever()); $board = $board_factory->getBoard($field_retriever, $columns, $planned_artifacts, $this->config); $backlog_title = $this->milestone->getPlanning()->getBacklogTracker()->getName(); $redirect_parameter = 'cardwall[agile][' . $this->milestone->getPlanning()->getId() . ']=' . $this->milestone->getArtifactId(); $configure_url = TRACKER_BASE_URL . '/?tracker=' . $this->milestone->getTrackerId() . '&func=admin-cardwall'; return new Cardwall_PaneContentPresenter($board, $this->getQrCode(), $redirect_parameter, $backlog_title, $configure_url); }
private function getAllMilestonesOfCurrentPlanning() { if (!$this->all_milestones) { $this->all_milestones = $this->milestone_factory->getAllMilestones($this->getCurrentUser(), $this->milestone->getPlanning()); } return $this->all_milestones; }
public function findFirstSubmilestoneTracker(Planning_Milestone $milestone) { $children = $this->hierarchy_factory->getChildren($milestone->getTrackerId()); if (!$children) { return null; } $milestone_backlog_trackers = $milestone->getPlanning()->getBacklogTrackers(); foreach ($milestone_backlog_trackers as $milestone_backlog_tracker) { foreach ($children as $tracker) { $planning = $this->planning_factory->getPlanningByPlanningTracker($tracker); if (!$planning) { continue; } $planning_backlog_trackers = $planning->getBacklogTrackers(); foreach ($planning_backlog_trackers as $planning_backlog_tracker) { if ($milestone_backlog_tracker == $planning_backlog_tracker) { return $tracker; } $backlog_tracker_ancestors = $this->hierarchy_factory->getAllParents($planning_backlog_tracker); if (in_array($milestone_backlog_tracker, $backlog_tracker_ancestors)) { return $tracker; } } } } }
public function __construct(AgileDashboard_BacklogItemDao $item_dao, Tracker_ArtifactDao $artifact_dao, Tracker_ArtifactFactory $artifact_factory, Planning_Milestone $milestone, array $descendant_tracker_ids) { $this->item_dao = $item_dao; $this->artifact_dao = $artifact_dao; $this->artifact_factory = $artifact_factory; $this->milestone = $milestone; $this->milestone_id = $milestone->getArtifactId(); $this->descendant_tracker_ids = $descendant_tracker_ids; $this->backlog_tracker_ids = $milestone->getPlanning()->getBacklogTrackersIds(); }
private function getFirstChildBacklogTracker(Planning_Milestone $milestone) { $backlog_tracker_children = $milestone->getPlanning()->getPlanningTracker()->getChildren(); if ($backlog_tracker_children) { $first_child_tracker = current($backlog_tracker_children); $first_child_planning = $this->planning_factory->getPlanningByPlanningTracker($first_child_tracker); if ($first_child_planning) { return $first_child_planning->getBacklogTrackers(); } } return null; }
/** * @return Cardwall_PaneContentPresenter */ private function getPresenterUsingMappedFields(Cardwall_OnTop_Config_ColumnCollection $columns) { $planning = $this->milestone->getPlanning(); $raw_board_builder = new Cardwall_RawBoardBuilder(); $display_preferences = $raw_board_builder->getDisplayPreferences($this->milestone, $this->user); $column_preferences = new Cardwall_UserPreferences_Autostack_AutostackDashboard($this->user, $this->config->getTracker()); $column_autostack = new Cardwall_UserPreferences_UserPreferencesAutostackFactory(); $column_autostack->setAutostack($columns, $column_preferences); $redirect_parameter = 'cardwall[agile][' . $planning->getId() . ']=' . $this->milestone->getArtifactId(); $this->milestone = $this->milestone_factory->updateMilestoneContextualInfo($this->user, $this->milestone); $board = $raw_board_builder->buildBoardUsingMappedFields($this->user, $this->artifact_factory, $this->milestone, $this->config, $columns); return new Cardwall_PaneContentPresenter($board, $this->getQrCode(), $redirect_parameter, $this->getSwitchDisplayAvatarsURL(), $display_preferences->shouldDisplayAvatars(), $planning, $this->milestone, $this->getProgressPresenter()); }
/** * Build a Cardwall_Board taking account of Mapped Fieds * * @param PFUser $user * @param Tracker_ArtifactFactory $artifact_factory * @param Planning_Milestone $milestone * @param Cardwall_OnTop_Config $config * @param Cardwall_OnTop_Config_ColumnCollection $columns * * @return Cardwall_Board */ public function buildBoardUsingMappedFields(PFUser $user, Tracker_ArtifactFactory $artifact_factory, Planning_Milestone $milestone, Cardwall_OnTop_Config $config, Cardwall_OnTop_Config_ColumnCollection $columns) { $planning = $milestone->getPlanning(); $field_provider = new Cardwall_OnTop_Config_MappedFieldProvider($config, new Cardwall_FieldProviders_SemanticStatusFieldRetriever()); $column_preferences = new Cardwall_UserPreferences_Autostack_AutostackDashboard($user, $config->getTracker()); $column_autostack = new Cardwall_UserPreferences_UserPreferencesAutostackFactory(); $column_autostack->setAutostack($columns, $column_preferences); $mapping_collection = $this->getMappingCollection($planning, $columns, $field_provider, $config); $presenter_builder = new Cardwall_CardInCellPresenterBuilder(new Cardwall_CardInCellPresenterFactory($field_provider, $mapping_collection), new Cardwall_CardFields(UserManager::instance(), Tracker_FormElementFactory::instance()), $this->getDisplayPreferences($milestone, $user), $user); $swimline_factory = new Cardwall_SwimlineFactory($config, $field_provider); $pane_board_builder = new Cardwall_PaneBoardBuilder($presenter_builder, $artifact_factory, new AgileDashboard_BacklogItemDao(), $swimline_factory); $board = $pane_board_builder->getBoard($user, $milestone->getArtifact(), $columns, $mapping_collection); return $board; }
/** * @return \AgileDashboard_Milestone_Pane_Planning_PlanningPaneInfo */ private function getTopPlanningV2PaneInfo(Planning_Milestone $milestone) { $milestone_artifact_id = $this->getMilestoneArtifactId(); $milestone_tracker = $milestone->getPlanning()->getPlanningTracker(); if (!$milestone_tracker) { return; } $pane_info = new AgileDashboard_Milestone_Pane_TopPlanning_TopPlanningV2PaneInfo($milestone, $this->theme_path, $milestone_tracker); if ($this->request->get('pane') == AgileDashboard_Milestone_Pane_TopPlanning_TopPlanningV2PaneInfo::IDENTIFIER) { $pane_info->setActive(true); $this->active_pane[$milestone_artifact_id] = new AgileDashboard_Milestone_Pane_Planning_PlanningV2Pane($pane_info, new AgileDashboard_Milestone_Pane_Planning_PlanningV2Presenter($this->request->getCurrentUser(), $this->request->getProject(), $milestone_artifact_id)); } return $pane_info; }
/** * @return \AgileDashboard_Milestone_Pane_Planning_PlanningPaneInfo */ private function getTopPlanningV2PaneInfo(Planning_Milestone $milestone) { $milestone_artifact_id = $this->getMilestoneArtifactId(); $milestone_tracker = $milestone->getPlanning()->getPlanningTracker(); if (!$milestone_tracker) { return; } $pane_info = new AgileDashboard_Milestone_Pane_TopPlanning_TopPlanningV2PaneInfo($milestone, $this->theme_path, $milestone_tracker); $pane_info->setActive(true); $this->active_pane[$milestone_artifact_id] = new AgileDashboard_Milestone_Pane_Planning_PlanningV2Pane($pane_info, new AgileDashboard_Milestone_Pane_Planning_PlanningV2Presenter($this->request->getCurrentUser(), $this->request->getProject(), $milestone_artifact_id, null, $this->getPaginatedBacklogItemsRepresentationsForTopMilestone($milestone, $this->request->getCurrentUser()), $this->getPaginatedTopMilestonesRepresentations($this->request->getProject(), $this->request->getCurrentUser()))); return $pane_info; }
private function getAllMilestonesOfCurrentPlanning(Planning_Milestone $milestone) { return $this->milestone_factory->getAllBareMilestones($this->request->getCurrentUser(), $milestone->getPlanning()); }
public function planningTrackerId() { return $this->milestone->getPlanning()->getPlanningTrackerId(); }
protected function getCardwallPane(Cardwall_PaneInfo $info, Planning_Milestone $milestone, PFUser $user, Planning_MilestoneFactory $milestone_factory) { $config = $this->getConfigFactory()->getOnTopConfigByPlanning($milestone->getPlanning()); if ($config) { return new Cardwall_Pane($info, $milestone, $this->getPluginInfo()->getPropVal('display_qr_code'), $config, $user, $milestone_factory); } return null; }