Пример #1
0
 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);
 }
Пример #2
0
 /**
  * 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;
 }
Пример #3
0
 public function withinTheSameProjectAs(Planning_Milestone $other_milestone)
 {
     $this->project = $other_milestone->getProject();
     return $this;
 }
Пример #4
0
 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;
 }
Пример #5
0
 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;
 }