Differential D12556 Diff 30171 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 65 Lines • ▼ Show 20 Lines | final class DifferentialRevisionSearchEngine | ||||
} | } | ||||
public function buildQueryFromSavedQuery(PhabricatorSavedQuery $saved) { | public function buildQueryFromSavedQuery(PhabricatorSavedQuery $saved) { | ||||
$query = id(new DifferentialRevisionQuery()) | $query = id(new DifferentialRevisionQuery()) | ||||
->needFlags(true) | ->needFlags(true) | ||||
->needDrafts(true) | ->needDrafts(true) | ||||
->needRelationships(true); | ->needRelationships(true); | ||||
$datasource = id(new PhabricatorPeopleUserFunctionDatasource()) | $user_datasource = id(new PhabricatorPeopleUserFunctionDatasource()) | ||||
->setViewer($this->requireViewer()); | ->setViewer($this->requireViewer()); | ||||
$responsible_phids = $saved->getParameter('responsiblePHIDs', array()); | $responsible_phids = $saved->getParameter('responsiblePHIDs', array()); | ||||
$responsible_phids = $datasource->evaluateTokens($responsible_phids); | $responsible_phids = $user_datasource->evaluateTokens($responsible_phids); | ||||
if ($responsible_phids) { | if ($responsible_phids) { | ||||
$query->withResponsibleUsers($responsible_phids); | $query->withResponsibleUsers($responsible_phids); | ||||
} | } | ||||
$this->setQueryProjects($query, $saved); | $this->setQueryProjects($query, $saved); | ||||
$author_phids = $saved->getParameter('authorPHIDs', array()); | $author_phids = $saved->getParameter('authorPHIDs', array()); | ||||
$author_phids = $user_datasource->evaluateTokens($author_phids); | |||||
if ($author_phids) { | if ($author_phids) { | ||||
$query->withAuthors($author_phids); | $query->withAuthors($author_phids); | ||||
} | } | ||||
$reviewer_phids = $saved->getParameter('reviewerPHIDs', array()); | $reviewer_phids = $saved->getParameter('reviewerPHIDs', array()); | ||||
if ($reviewer_phids) { | if ($reviewer_phids) { | ||||
$query->withReviewers($reviewer_phids); | $query->withReviewers($reviewer_phids); | ||||
} | } | ||||
$sub_datasource = id(new PhabricatorMetaMTAMailableFunctionDatasource()) | |||||
->setViewer($this->requireViewer()); | |||||
$subscriber_phids = $saved->getParameter('subscriberPHIDs', array()); | $subscriber_phids = $saved->getParameter('subscriberPHIDs', array()); | ||||
$subscriber_phids = $sub_datasource->evaluateTokens($subscriber_phids); | |||||
if ($subscriber_phids) { | if ($subscriber_phids) { | ||||
$query->withCCs($subscriber_phids); | $query->withCCs($subscriber_phids); | ||||
} | } | ||||
$repository_phids = $saved->getParameter('repositoryPHIDs', array()); | $repository_phids = $saved->getParameter('repositoryPHIDs', array()); | ||||
if ($repository_phids) { | if ($repository_phids) { | ||||
$query->withRepositoryPHIDs($repository_phids); | $query->withRepositoryPHIDs($repository_phids); | ||||
} | } | ||||
Show All 37 Lines | $form | ||||
->setLabel(pht('Responsible Users')) | ->setLabel(pht('Responsible Users')) | ||||
->setName('responsibles') | ->setName('responsibles') | ||||
->setDatasource(new PhabricatorPeopleUserFunctionDatasource()) | ->setDatasource(new PhabricatorPeopleUserFunctionDatasource()) | ||||
->setValue($responsible_phids)) | ->setValue($responsible_phids)) | ||||
->appendControl( | ->appendControl( | ||||
id(new AphrontFormTokenizerControl()) | id(new AphrontFormTokenizerControl()) | ||||
->setLabel(pht('Authors')) | ->setLabel(pht('Authors')) | ||||
->setName('authors') | ->setName('authors') | ||||
->setDatasource(new PhabricatorPeopleDatasource()) | ->setDatasource(new PhabricatorPeopleUserFunctionDatasource()) | ||||
->setValue($author_phids)) | ->setValue($author_phids)) | ||||
->appendControl( | ->appendControl( | ||||
id(new AphrontFormTokenizerControl()) | id(new AphrontFormTokenizerControl()) | ||||
->setLabel(pht('Reviewers')) | ->setLabel(pht('Reviewers')) | ||||
->setName('reviewers') | ->setName('reviewers') | ||||
->setDatasource(new PhabricatorProjectOrUserDatasource()) | ->setDatasource(new PhabricatorProjectOrUserDatasource()) | ||||
->setValue($reviewer_phids)) | ->setValue($reviewer_phids)) | ||||
->appendControl( | ->appendControl( | ||||
id(new AphrontFormTokenizerControl()) | id(new AphrontFormTokenizerControl()) | ||||
->setLabel(pht('Subscribers')) | ->setLabel(pht('Subscribers')) | ||||
->setName('subscribers') | ->setName('subscribers') | ||||
->setDatasource(new PhabricatorMetaMTAMailableDatasource()) | ->setDatasource(new PhabricatorMetaMTAMailableFunctionDatasource()) | ||||
->setValue($subscriber_phids)) | ->setValue($subscriber_phids)) | ||||
->appendControl( | ->appendControl( | ||||
id(new AphrontFormTokenizerControl()) | id(new AphrontFormTokenizerControl()) | ||||
->setLabel(pht('Repositories')) | ->setLabel(pht('Repositories')) | ||||
->setName('repositories') | ->setName('repositories') | ||||
->setDatasource(new DiffusionRepositoryDatasource()) | ->setDatasource(new DiffusionRepositoryDatasource()) | ||||
->setValue($repository_phids)) | ->setValue($repository_phids)) | ||||
->appendControl( | ->appendControl( | ||||
▲ Show 20 Lines • Show All 159 Lines • Show Last 20 Lines |