Exemplo n.º 1
0
 /**
  * @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);
 }
Exemplo n.º 2
0
 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;
 }
Exemplo n.º 6
0
 /**
  * @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());
 }
Exemplo n.º 7
0
 /**
  * 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());
 }
Exemplo n.º 11
0
 public function planningTrackerId()
 {
     return $this->milestone->getPlanning()->getPlanningTrackerId();
 }
Exemplo n.º 12
0
 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;
 }