Ejemplo n.º 1
0
 /**
  * @see AgileDashboard_Pane::getContent()
  */
 public function getContent()
 {
     $columns = $this->config->getDashboardColumns();
     $renderer = TemplateRendererFactory::build()->getRenderer(dirname(__FILE__) . '/../templates');
     return $renderer->renderToString('agiledashboard-pane', $this->getPresenterUsingMappedFields($columns));
     // TODO what if no semantic status and no mapping????
 }
Ejemplo n.º 2
0
 private function addNodeToCell(Cardwall_CardInCellPresenter $presenter, Cardwall_Column $column, array &$presenters)
 {
     $artifact = $presenter->getArtifact();
     if ($this->config->isInColumn($artifact, $this->field_provider, $column)) {
         $presenters[] = $presenter;
     }
 }
Ejemplo n.º 3
0
 public function getField(Tracker_Artifact $artifact)
 {
     $mapping = $this->config->getMappingFor($artifact->getTracker());
     if ($mapping) {
         return $mapping->getField();
     }
     return $this->semantic_status_provider->getField($artifact);
 }
Ejemplo n.º 4
0
 private function getMappingCollection(Planning $planning, Cardwall_OnTop_Config_ColumnCollection $columns, Cardwall_FieldProviders_IProvideFieldGivenAnArtifact $field_provider, Cardwall_OnTop_Config $config)
 {
     $trackers_used_on_cardwall = array();
     foreach ($planning->getBacklogTrackers() as $backlog_tracker) {
         $trackers_used_on_cardwall[] = $backlog_tracker->getChildren();
     }
     return $config->getCardwallMappings($this->getIndexedStatusFieldsOf($trackers_used_on_cardwall, $field_provider), $columns);
 }
Ejemplo n.º 5
0
 /**
  * @return Cardwall_Board
  */
 public function getBoard(Cardwall_FieldProviders_IProvideFieldGivenAnArtifact $field_retriever, Cardwall_OnTop_Config_ColumnCollection $columns, TreeNode $forests_of_artifacts, Cardwall_OnTop_Config $config, User $user)
 {
     $acc_field_provider = new Cardwall_FieldsExtractor($field_retriever);
     $status_fields = $acc_field_provider->extractAndIndexFieldsOf($forests_of_artifacts);
     $mapping_collection = $config->getCardwallMappings($status_fields, $columns);
     $forests_of_cardincell_presenters = $this->transformIntoForestOfCardInCellPresenters($forests_of_artifacts, $field_retriever, $mapping_collection, $user);
     $swimlines = $this->getSwimlines($columns, $forests_of_cardincell_presenters, $config, $field_retriever);
     return new Cardwall_Board($swimlines, $columns, $mapping_collection);
 }
Ejemplo n.º 6
0
 public function itReturnsTheCorrespondingMapping()
 {
     $tracker = aTracker()->withId(1)->build();
     $mapping_tracker = aTracker()->withId(99)->build();
     $dao = mock('Cardwall_OnTop_Dao');
     $column_factory = mock('Cardwall_OnTop_Config_ColumnFactory');
     $mapping = mock('Cardwall_OnTop_Config_TrackerMapping');
     $tracker_mapping_factory = stub('Cardwall_OnTop_Config_TrackerMappingFactory')->getMappings()->returns(array(99 => $mapping));
     $config = new Cardwall_OnTop_Config($tracker, $dao, $column_factory, $tracker_mapping_factory);
     $this->assertEqual($mapping, $config->getMappingFor($mapping_tracker));
 }
Ejemplo n.º 7
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.º 8
0
 /**
  * @return Cardwall_RendererPresenter
  */
 private function getPresenter(TreeNode $forest_of_artifacts, User $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 {
         $board_factory = new Cardwall_BoardFactory();
         $field_retriever = new Cardwall_FieldProviders_CustomFieldRetriever($field);
         $columns = $this->config->getRendererColumns($field);
         $board = $board_factory->getBoard($field_retriever, $columns, $forest_of_artifacts, $this->config, $user);
     }
     return new Cardwall_RendererPresenter($board, $this->getQrCode(), $redirect_parameter, $field, $form);
 }
Ejemplo n.º 9
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);
 }
Ejemplo n.º 10
0
 private function getCardInCellPresenterFactory(Cardwall_OnTop_Config $config, Tracker_Artifact $artifact, Cardwall_FieldProviders_IProvideFieldGivenAnArtifact $field_provider, Cardwall_OnTop_Config_ColumnCollection $columns)
 {
     $field = $field_provider->getField($artifact->getTracker());
     $status_fields[$field->getId()] = $field;
     return new Cardwall_CardInCellPresenterFactory($field_provider, $config->getCardwallMappings($status_fields, $columns));
 }