protected function _setupSearchObject() { if ($this->_search_object === null) { $this->_search_object = new \thebuggenie\core\entities\SavedSearch(); $this->_search_object->setFilter('project_id', \thebuggenie\core\entities\SearchFilter::createFilter('project_id', array('o' => '=', 'v' => $this->getBoard()->getProject()->getID()))); $this->_search_object->setFilter('milestone', \thebuggenie\core\entities\SearchFilter::createFilter('milestone', array('o' => '=', 'v' => $this->getMilestone()->getID()))); $this->_search_object->setFilter('state', \thebuggenie\core\entities\SearchFilter::createFilter('state', array('o' => '=', 'v' => array(\thebuggenie\core\entities\Issue::STATE_CLOSED, \thebuggenie\core\entities\Issue::STATE_OPEN)))); $this->_search_object->setFilter('issuetype', \thebuggenie\core\entities\SearchFilter::createFilter('issuetype', array('o' => '!=', 'v' => $this->getBoard()->getEpicIssuetypeID()))); if ($this->getBoard()->usesSwimlanes() && $this->getBoard()->getSwimlaneType() == AgileBoard::SWIMLANES_ISSUES) { $values = array(); foreach ($this->getBoard()->getMilestoneSwimlanes($this->getMilestone()) as $swimlane) { if ($swimlane->getIdentifier() == $this->getIdentifier()) { continue; } $values[] = $swimlane->getIdentifierIssue()->getID(); foreach ($swimlane->getIssues() as $issue) { $values[] = $issue->getID(); } } $this->_search_object->setFilter('id', \thebuggenie\core\entities\SearchFilter::createFilter('id', array('o' => '!=', 'v' => $values))); } else { if ($this->getBoard()->usesSwimlanes()) { $values = array(); foreach ($this->_identifiables as $identifiable) { $values[] = $identifiable instanceof \thebuggenie\core\entities\common\Identifiable ? $identifiable->getID() : $identifiable; } $this->_search_object->setFilter($this->getBoard()->getSwimlaneIdentifier(), \thebuggenie\core\entities\SearchFilter::createFilter($this->getBoard()->getSwimlaneIdentifier(), array('o' => '=', 'v' => $values))); } } $this->_search_object->setSortFields(array('issues.milestone_order' => \b2db\Criteria::SORT_ASC)); $this->_search_object->setGroupby(null); } }
/** * Returns the associated search object * * @return \thebuggenie\core\entities\SavedSearch */ public function getBacklogSearchObject() { if ($this->_search_object === null) { if ($this->usesSavedSearchBacklog()) { $this->_search_object = $this->getBacklogSearch(); } elseif (!$this->_search_object instanceof \thebuggenie\core\entities\SavedSearch) { $this->_search_object = \thebuggenie\core\entities\SavedSearch::getPredefinedSearchObject($this->_autogenerated_search); $this->_search_object->setFilter('issuetype', \thebuggenie\core\entities\SearchFilter::createFilter('issuetype', array('o' => '!=', 'v' => $this->getEpicIssuetypeID()))); $this->_search_object->setFilter('milestone', \thebuggenie\core\entities\SearchFilter::createFilter('milestone', array('o' => '!=', 'v' => null))); } $this->_search_object->setIssuesPerPage(0); $this->_search_object->setOffset(0); $this->_search_object->setSortFields(array('issues.milestone_order' => 'desc')); } return $this->_search_object; }