protected function _setupGenericFilters() { if (!isset($this->_filters['issuetype'])) { $this->_filters['issuetype'] = TBGSearchFilter::createFilter('issuetype', array(), $this); } if (!isset($this->_filters['status'])) { $this->_filters['status'] = TBGSearchFilter::createFilter('status', array(), $this); } if (!isset($this->_filters['category'])) { $this->_filters['category'] = TBGSearchFilter::createFilter('category', array(), $this); } if (!TBGContext::isProjectContext() && !isset($this->_filters['project_id'])) { $this->_filters['project_id'] = TBGSearchFilter::createFilter('project_id', array(), $this); } }
public function runFilterGetDynamicChoices(TBGRequest $request) { $subproject_ids = explode(',', $request['subprojects']); $existing_ids = $request['existing_ids']; $results = array(); $projects = $request['project_id'] != '' ? TBGProject::getAllByIDs(explode(',', $request['project_id'])) : TBGProject::getAll(); $items = array('build' => array(), 'edition' => array(), 'component' => array(), 'milestone' => array()); foreach ($projects as $project) { foreach ($project->getBuilds() as $build) { $items['build'][$build->getID()] = $build; } foreach ($project->getEditions() as $edition) { $items['edition'][$edition->getID()] = $edition; } foreach ($project->getComponents() as $component) { $items['component'][$component->getID()] = $component; } foreach ($project->getMilestones() as $milestone) { $items['milestone'][$milestone->getID()] = $milestone; } } $filters = array(); $filters['build'] = TBGSearchFilter::createFilter('build'); $filters['edition'] = TBGSearchFilter::createFilter('edition'); $filters['component'] = TBGSearchFilter::createFilter('component'); $filters['milestone'] = TBGSearchFilter::createFilter('milestone'); if (isset($existing_ids['build'])) { foreach (TBGBuildsTable::getTable()->getByIDs($existing_ids['build']) as $build) { $items['build'][$build->getID()] = $build; } $filters['build']->setValue(join(',', $existing_ids['build'])); } if (isset($existing_ids['edition'])) { foreach (TBGEditionsTable::getTable()->getByIDs($existing_ids['edition']) as $edition) { $items['edition'][$edition->getID()] = $edition; } $filters['edition']->setValue(join(',', $existing_ids['edition'])); } if (isset($existing_ids['component'])) { foreach (TBGComponentsTable::getTable()->getByIDs($existing_ids['component']) as $component) { $items['component'][$component->getID()] = $component; } $filters['component']->setValue(join(',', $existing_ids['component'])); } if (isset($existing_ids['milestone'])) { foreach (TBGMilestonesTable::getTable()->getByIDs($existing_ids['milestone']) as $milestone) { $items['milestone'][$milestone->getID()] = $milestone; } $filters['milestone']->setValue(join(',', $existing_ids['milestone'])); } foreach (array('build', 'edition', 'component', 'milestone') as $k) { $results[$k] = $this->getTemplateHTML('search/interactivefilterdynamicchoicelist', array('filter' => $filters[$k], 'items' => $items[$k])); } return $this->renderJSON(compact('results')); }
} ?> <?php if (!$search_object->hasFilter($customtype->getKey())) { include_component('search/interactivefilter', array('filter' => TBGSearchFilter::createFilter($customtype->getKey()))); } ?> <?php } ?> <?php foreach ($datecustomfields as $customtype) { ?> <?php if (!$search_object->hasFilter($customtype->getKey())) { include_component('search/interactivefilter', array('filter' => TBGSearchFilter::createFilter($customtype->getKey(), array('operator' => '<=', 'value' => time())))); } ?> <?php } ?> </div> <?php if (!$tbg_user->isGuest()) { ?> <div class="fullpage_backdrop" style="display: none;" id="saved_search_details"> <div class="backdrop_box large"> <div class="backdrop_detail_header"><?php echo __('Save this search'); ?> </div>