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); }
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')); }
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); }
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; }
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; }