Differential D18343 Diff 44161 src/applications/differential/query/DifferentialRevisionSearchEngine.php
Changeset View
Changeset View
Standalone View
Standalone View
src/applications/differential/query/DifferentialRevisionSearchEngine.php
| Show First 20 Lines • Show All 109 Lines • ▼ Show 20 Lines | public function buildSavedQueryFromBuiltin($query_key) { | ||||
| $viewer = $this->requireViewer(); | $viewer = $this->requireViewer(); | ||||
| switch ($query_key) { | switch ($query_key) { | ||||
| case 'active': | case 'active': | ||||
| $bucket_key = DifferentialRevisionRequiredActionResultBucket::BUCKETKEY; | $bucket_key = DifferentialRevisionRequiredActionResultBucket::BUCKETKEY; | ||||
| return $query | return $query | ||||
| ->setParameter('responsiblePHIDs', array($viewer->getPHID())) | ->setParameter('responsiblePHIDs', array($viewer->getPHID())) | ||||
| ->setParameter('status', DifferentialRevisionQuery::STATUS_OPEN) | ->setParameter('status', DifferentialLegacyQuery::STATUS_OPEN) | ||||
| ->setParameter('bucket', $bucket_key); | ->setParameter('bucket', $bucket_key); | ||||
| case 'authored': | case 'authored': | ||||
| return $query | return $query | ||||
| ->setParameter('authorPHIDs', array($viewer->getPHID())); | ->setParameter('authorPHIDs', array($viewer->getPHID())); | ||||
| case 'all': | case 'all': | ||||
| return $query; | return $query; | ||||
| } | } | ||||
| return parent::buildSavedQueryFromBuiltin($query_key); | return parent::buildSavedQueryFromBuiltin($query_key); | ||||
| } | } | ||||
| private function getStatusOptions() { | private function getStatusOptions() { | ||||
| return array( | return array( | ||||
| DifferentialRevisionQuery::STATUS_ANY => pht('All'), | DifferentialLegacyQuery::STATUS_ANY => pht('All'), | ||||
| DifferentialRevisionQuery::STATUS_OPEN => pht('Open'), | DifferentialLegacyQuery::STATUS_OPEN => pht('Open'), | ||||
| DifferentialRevisionQuery::STATUS_ACCEPTED => pht('Accepted'), | DifferentialLegacyQuery::STATUS_ACCEPTED => pht('Accepted'), | ||||
| DifferentialRevisionQuery::STATUS_NEEDS_REVIEW => pht('Needs Review'), | DifferentialLegacyQuery::STATUS_NEEDS_REVIEW => pht('Needs Review'), | ||||
| DifferentialRevisionQuery::STATUS_NEEDS_REVISION => pht('Needs Revision'), | DifferentialLegacyQuery::STATUS_NEEDS_REVISION => pht('Needs Revision'), | ||||
| DifferentialRevisionQuery::STATUS_CLOSED => pht('Closed'), | DifferentialLegacyQuery::STATUS_CLOSED => pht('Closed'), | ||||
| DifferentialRevisionQuery::STATUS_ABANDONED => pht('Abandoned'), | DifferentialLegacyQuery::STATUS_ABANDONED => pht('Abandoned'), | ||||
| ); | ); | ||||
| } | } | ||||
| protected function renderResultList( | protected function renderResultList( | ||||
| array $revisions, | array $revisions, | ||||
| PhabricatorSavedQuery $query, | PhabricatorSavedQuery $query, | ||||
| array $handles) { | array $handles) { | ||||
| assert_instances_of($revisions, 'DifferentialRevision'); | assert_instances_of($revisions, 'DifferentialRevision'); | ||||
| ▲ Show 20 Lines • Show All 115 Lines • ▼ Show 20 Lines | if (!$revision_phids) { | ||||
| return array(); | return array(); | ||||
| } | } | ||||
| $viewer = $this->requireViewer(); | $viewer = $this->requireViewer(); | ||||
| $blocking_revisions = id(new DifferentialRevisionQuery()) | $blocking_revisions = id(new DifferentialRevisionQuery()) | ||||
| ->setViewer($viewer) | ->setViewer($viewer) | ||||
| ->withPHIDs($revision_phids) | ->withPHIDs($revision_phids) | ||||
| ->withStatus(DifferentialRevisionQuery::STATUS_OPEN) | ->withStatus(DifferentialLegacyQuery::STATUS_OPEN) | ||||
| ->execute(); | ->execute(); | ||||
| $blocking_revisions = mpull($blocking_revisions, null, 'getPHID'); | $blocking_revisions = mpull($blocking_revisions, null, 'getPHID'); | ||||
| $result = array(); | $result = array(); | ||||
| foreach ($revisions as $revision) { | foreach ($revisions as $revision) { | ||||
| $revision_phid = $revision->getPHID(); | $revision_phid = $revision->getPHID(); | ||||
| $blocking_phids = $query->getDestinationPHIDs(array($revision_phid)); | $blocking_phids = $query->getDestinationPHIDs(array($revision_phid)); | ||||
| $blocking = array_select_keys($blocking_revisions, $blocking_phids); | $blocking = array_select_keys($blocking_revisions, $blocking_phids); | ||||
| Show All 9 Lines | |||||