Пример #1
0
 /**
  * Builds a new cross-tracker search view builder.
  * 
  * TODO:
  *   - move to controller (this has nothing to do with routing)
  * 
  * @param Codendi_Request $request
  * 
  * @return Tracker_CrossSearch_ViewBuilder
  */
 protected function getViewBuilder(Codendi_Request $request)
 {
     $form_element_factory = Tracker_FormElementFactory::instance();
     $group_id = $request->get('group_id');
     $user = $request->getCurrentUser();
     $object_god = new TrackerManager();
     $planning_trackers = $this->planning_factory->getPlanningTrackers($group_id, $user);
     $art_link_field_ids = $form_element_factory->getArtifactLinkFieldsOfTrackers($planning_trackers);
     return new Planning_ViewBuilder($form_element_factory, $object_god->getCrossSearch($art_link_field_ids), $object_god->getCriteriaBuilder($user, $planning_trackers));
 }
Пример #2
0
 /**
  * Return the 'Planning' tracker (tracker we should be able to use artifacts to perform search.
  * 
  * This method hard code dependency with agile dashboard and planning stuff.
  * It should be renamed later on when planning definition is clearly defined.
  * 
  * @param Integer $group_id
  * 
  * @return Array of Integer
  */
 private function getPlanningTrackers($group_id, PFUser $user)
 {
     $trackers = array();
     @(include_once dirname(__FILE__) . '/../../../agiledashboard/include/Planning/PlanningFactory.class.php');
     if (class_exists('PlanningFactory')) {
         $planning_factory = new PlanningFactory(new PlanningDao(), $this->getTrackerFactory(), Tracker_FormElementFactory::instance());
         $trackers = $planning_factory->getPlanningTrackers($group_id, $user);
     }
     return $trackers;
 }