From bcb957bc8a579185156b0b8d44bc58cacb06a797 Mon Sep 17 00:00:00 2001 From: epriestley Date: Mon, 27 Apr 2015 03:52:24 -0700 Subject: [PATCH] Use function datasources for a couple more Differential fields Summary: "Authors" and "Subscribers" convert easily without any extra work. Test Plan: Used both fields; used functions and normal tokens. Reviewers: btrahan Reviewed By: btrahan Subscribers: epriestley Differential Revision: https://secure.phabricator.com/D12556 --- .../query/DifferentialRevisionSearchEngine.php | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/applications/differential/query/DifferentialRevisionSearchEngine.php b/src/applications/differential/query/DifferentialRevisionSearchEngine.php index 782394687e..4997507183 100644 --- a/src/applications/differential/query/DifferentialRevisionSearchEngine.php +++ b/src/applications/differential/query/DifferentialRevisionSearchEngine.php @@ -71,11 +71,11 @@ final class DifferentialRevisionSearchEngine ->needDrafts(true) ->needRelationships(true); - $datasource = id(new PhabricatorPeopleUserFunctionDatasource()) + $user_datasource = id(new PhabricatorPeopleUserFunctionDatasource()) ->setViewer($this->requireViewer()); $responsible_phids = $saved->getParameter('responsiblePHIDs', array()); - $responsible_phids = $datasource->evaluateTokens($responsible_phids); + $responsible_phids = $user_datasource->evaluateTokens($responsible_phids); if ($responsible_phids) { $query->withResponsibleUsers($responsible_phids); } @@ -83,6 +83,7 @@ final class DifferentialRevisionSearchEngine $this->setQueryProjects($query, $saved); $author_phids = $saved->getParameter('authorPHIDs', array()); + $author_phids = $user_datasource->evaluateTokens($author_phids); if ($author_phids) { $query->withAuthors($author_phids); } @@ -92,7 +93,10 @@ final class DifferentialRevisionSearchEngine $query->withReviewers($reviewer_phids); } + $sub_datasource = id(new PhabricatorMetaMTAMailableFunctionDatasource()) + ->setViewer($this->requireViewer()); $subscriber_phids = $saved->getParameter('subscriberPHIDs', array()); + $subscriber_phids = $sub_datasource->evaluateTokens($subscriber_phids); if ($subscriber_phids) { $query->withCCs($subscriber_phids); } @@ -146,7 +150,7 @@ final class DifferentialRevisionSearchEngine id(new AphrontFormTokenizerControl()) ->setLabel(pht('Authors')) ->setName('authors') - ->setDatasource(new PhabricatorPeopleDatasource()) + ->setDatasource(new PhabricatorPeopleUserFunctionDatasource()) ->setValue($author_phids)) ->appendControl( id(new AphrontFormTokenizerControl()) @@ -158,7 +162,7 @@ final class DifferentialRevisionSearchEngine id(new AphrontFormTokenizerControl()) ->setLabel(pht('Subscribers')) ->setName('subscribers') - ->setDatasource(new PhabricatorMetaMTAMailableDatasource()) + ->setDatasource(new PhabricatorMetaMTAMailableFunctionDatasource()) ->setValue($subscriber_phids)) ->appendControl( id(new AphrontFormTokenizerControl())