Ejemplo n.º 1
0
 public function edit()
 {
     $possible_children = $this->factory->getPossibleChildren($this->tracker);
     $hierarchy = $this->factory->getHierarchy($this->tracker->getUnhierarchizedTracker());
     $presenter = new Tracker_Hierarchy_Presenter($this->tracker, $possible_children, $hierarchy);
     $this->render('admin-hierarchy', $presenter);
 }
Ejemplo n.º 2
0
 public function __construct(Tracker_Hierarchy_HierarchicalTracker $tracker, array $possible_children, TreeNode $hierarchy, array $trackers_not_in_hierarchy)
 {
     $this->tracker = $tracker;
     $this->tracker_name = $tracker->getUnhierarchizedTracker()->getName();
     $this->possible_children = array_values($possible_children);
     $this->hierarchy = $hierarchy;
     $this->trackers_not_in_hierarchy = $trackers_not_in_hierarchy;
     $this->has_trackers_not_in_hierarchy = count($trackers_not_in_hierarchy) > 0;
     $this->cannot_be_used_in_hierarchy = in_array($tracker->getUnhierarchizedTracker(), $this->trackers_not_in_hierarchy);
     $visitor = new TreeNode_InjectPaddingInTreeNodeVisitor();
     $this->hierarchy->accept($visitor);
     usort($this->trackers_not_in_hierarchy, array($this, 'sortTrackerAlphabetically'));
 }
Ejemplo n.º 3
0
 public function __construct(Tracker_Hierarchy_HierarchicalTracker $tracker, array $possible_children, TreeNode $hierarchy)
 {
     $this->tracker = $tracker;
     $this->tracker_name = $tracker->getUnhierarchizedTracker()->getName();
     $this->possible_children = array_values($possible_children);
     $this->hierarchy = $hierarchy;
     $visitor = new TreeNode_InjectPaddingInTreeNodeVisitor();
     $this->hierarchy->accept($visitor);
 }
Ejemplo n.º 4
0
 private function getHierarchy(array $trackers_not_in_hierarchy)
 {
     $hierarchy = $this->factory->getHierarchy($this->tracker->getUnhierarchizedTracker());
     $root_elements = $hierarchy->getChildren();
     foreach ($root_elements as $key => $child) {
         foreach ($trackers_not_in_hierarchy as $tracker) {
             if ($child->getId() == $tracker->getId()) {
                 $hierarchy->removeChild(0, $child);
             }
         }
     }
     return $hierarchy;
 }
Ejemplo n.º 5
0
 private function getTrackersNotInHierachy()
 {
     $trackers_not_in_hierarchy = array();
     EventManager::instance()->processEvent(TRACKER_EVENT_TRACKERS_CANNOT_USE_IN_HIERARCHY, array('tracker' => $this->tracker->getUnhierarchizedTracker(), 'user' => $this->request->getCurrentUser(), 'result' => &$trackers_not_in_hierarchy));
     return $trackers_not_in_hierarchy;
 }