/** * @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; }