Ejemplo n.º 1
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;
 }
Ejemplo n.º 2
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());
 }
Ejemplo n.º 3
0
 /**
  * @return Cardwall_RendererPresenter
  */
 private function getPresenter(array $artifact_ids, PFUser $user, $form = null)
 {
     $redirect_parameter = 'cardwall[renderer][' . $this->report->id . ']=' . $this->id;
     $field = $this->getField();
     if (!$field) {
         $board = new Cardwall_Board(array(), new Cardwall_OnTop_Config_ColumnCollection(), new Cardwall_MappingCollection());
     } else {
         $field_provider = new Cardwall_FieldProviders_CustomFieldRetriever($field);
         $column_preferences = new Cardwall_UserPreferences_Autostack_AutostackRenderer($user, $this->report);
         $columns = $this->config->getRendererColumns($field, $column_preferences);
         $column_autostack = new Cardwall_UserPreferences_UserPreferencesAutostackFactory();
         $column_autostack->setAutostack($columns, $column_preferences);
         $display_preferences = new Cardwall_UserPreferences_UserPreferencesDisplayUser(Cardwall_UserPreferences_UserPreferencesDisplayUser::DISPLAY_AVATARS);
         $mapping_collection = $this->config->getCardwallMappings(array($field->getId() => $field), $columns);
         $presenter_builder = new Cardwall_CardInCellPresenterBuilder(new Cardwall_CardInCellPresenterFactory($field_provider, $mapping_collection), new Cardwall_CardFields(UserManager::instance(), Tracker_FormElementFactory::instance()), $display_preferences, $user);
         $swimline_factory = new Cardwall_SwimlineFactory($this->config, $field_provider);
         $board_builder = new Cardwall_RendererBoardBuilder($presenter_builder, Tracker_ArtifactFactory::instance(), $swimline_factory);
         $board = $board_builder->getBoard($artifact_ids, $columns, $mapping_collection);
     }
     return new Cardwall_RendererPresenter($board, $this->getQrCode(), $redirect_parameter, $field, $form);
 }