public function show(Planning_ViewBuilder $view_builder) { $project = $this->milestone->getProject(); $planning = $this->milestone->getPlanning(); if ($this->milestone->hasAncestors()) { $available_milestones = $this->milestone_factory->getSiblingMilestones($this->getCurrentUser(), $this->milestone); } else { $available_milestones = $this->getAllMilestonesOfCurrentPlanning(); } $content_view = $this->buildContentView($view_builder, $planning, $project); $presenter = $this->getMilestonePresenter($planning, $content_view, $available_milestones); $this->render('show', $presenter); }
/** * Retrieve the sub-milestones of the given milestone. * * @param Planning_Milestone $milestone * * @return array of Planning_Milestone */ public function getSubMilestones(User $user, Planning_Milestone $milestone) { $milestone_artifact = $milestone->getArtifact(); $sub_milestones = array(); if ($milestone_artifact) { foreach ($this->getSubMilestonesArtifacts($user, $milestone_artifact) as $sub_milestone_artifact) { $planning = $this->planning_factory->getPlanningByPlanningTracker($sub_milestone_artifact->getTracker()); if ($planning) { $sub_milestones[] = new Planning_ArtifactMilestone($milestone->getProject(), $planning, $sub_milestone_artifact); } } } return $sub_milestones; }
public function withinTheSameProjectAs(Planning_Milestone $other_milestone) { $this->project = $other_milestone->getProject(); return $this; }
private function convertDARToArrayOfMilestones(PFUser $user, Planning_Milestone $milestone, DataAccessResult $sub_milestone_artifacts) { $sub_milestones = array(); $sub_milestone_artifacts = $sub_milestone_artifacts->instanciateWith(array($this->artifact_factory, 'getInstanceFromRow')); foreach ($sub_milestone_artifacts as $sub_milestone_artifact) { if (!$sub_milestone_artifact->userCanView($user)) { continue; } $planning = $this->planning_factory->getPlanningByPlanningTracker($sub_milestone_artifact->getTracker()); if (!$planning) { continue; } $sub_milestone = new Planning_ArtifactMilestone($milestone->getProject(), $planning, $sub_milestone_artifact); $this->addMilestoneAncestors($user, $sub_milestone); $this->updateMilestoneContextualInfo($user, $sub_milestone); $sub_milestones[] = $sub_milestone; } return $sub_milestones; }
private function getRegularSubMilestones(PFUser $user, Planning_Milestone $milestone) { $milestone_artifact = $milestone->getArtifact(); $sub_milestones = array(); if ($milestone_artifact) { foreach ($this->getSubMilestonesArtifacts($user, $milestone_artifact) as $sub_milestone_artifact) { $planning = $this->planning_factory->getPlanningByPlanningTracker($sub_milestone_artifact->getTracker()); if ($planning) { $sub_milestone = new Planning_ArtifactMilestone($milestone->getProject(), $planning, $sub_milestone_artifact); $this->addMilestoneAncestors($user, $sub_milestone); $this->updateMilestoneContextualInfo($user, $sub_milestone); $sub_milestones[] = $sub_milestone; } } } return $sub_milestones; }