/** * @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???? }
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; } }
public function getField(Tracker_Artifact $artifact) { $mapping = $this->config->getMappingFor($artifact->getTracker()); if ($mapping) { return $mapping->getField(); } return $this->semantic_status_provider->getField($artifact); }
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); }
/** * @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); }
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)); }
/** * @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()); }
/** * @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); }
/** * @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); }
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)); }