示例#1
0
 /**
  * Allow to create artifacts when the item comes from the planning tracker and if
  * the backlog tracker is at the root of the hierarchy.
  *
  * Example:
  * Given I have a planning Epic -> Release
  * And Epic has not parent (root of hierarchy)
  * Then I can create an Epic right in the release
  *
  * Counter example:
  * Given I have a planning Story -> Sprint
  * And I have a hierarchy Epic -> Story
  * Then I cannot create Story directly below Sprint
  *
  * @param array $allowed_trackers
  * @return type
  */
 private function appendBacklogTrackerIfRoot(array $allowed_trackers)
 {
     $backlog_tracker = array();
     if ($this->getTracker() == $this->planning->getPlanningTracker()) {
         $backlog_hierarchy = $this->planning->getBacklogTracker()->getHierarchy();
         if ($backlog_hierarchy->isRoot($this->planning->getBacklogTrackerId())) {
             $backlog_tracker = array($this->planning->getBacklogTracker());
         }
     }
     return array_merge($allowed_trackers, $backlog_tracker);
 }
示例#2
0
 public function selectedIfBacklogTracker()
 {
     if ($this->tracker->getId() == $this->planning->getBacklogTrackerId()) {
         return 'selected';
     }
 }
 protected function buildContentView(Planning_ViewBuilder $view_builder, Planning $planning, Project $project = null)
 {
     $already_planned_artifact_ids = $this->getAlreadyPlannedArtifactsIds();
     $cross_search_query = $this->getCrossSearchQuery();
     $backlog_tracker_ids = $this->hierarchy_factory->getHierarchy(array($planning->getBacklogTrackerId()))->flatten();
     $backlog_actions_presenter = new Planning_BacklogActionsPresenter($planning->getBacklogTracker(), $this->milestone, $this->getPlanningRedirectToSelf());
     $view = $view_builder->build($this->getCurrentUser(), $project, $cross_search_query, $already_planned_artifact_ids, $backlog_tracker_ids, $planning, $backlog_actions_presenter, $this->getPlanningRedirectToSelf());
     return $view;
 }
示例#4
0
 /** 
  * Checks whether or not this item can be assigned to a milestone.
  * 
  * @return bool
  */
 public function isPlannifiable()
 {
     return $this->getTracker()->getId() == $this->planning->getBacklogTrackerId();
 }