Move ManiphestTaskQuery to EdgeLogic
Summary: Ref T4100. Share all edge logic code across applications. - Internalizes the "check that the viewer can see projects" check into edge logic. - Adds some convenience functions. Some of these aren't really all that convenient, but it's rare that we actually apply project constraints to queries in the applications -- and most of these callsites will go away in the long term -- so I didn't go too crazy with providing a simpler `withProjectPHIDs()` universal API or anything. Test Plan: - Grepped for all affected symbols. - Tried to violate policies. - Used workboards. - Used normal Maniphest queries. - Used `maniphest.query`. - Verified the special grouping behavior works as expected. Reviewers: btrahan Reviewed By: btrahan Subscribers: epriestley Maniphest Tasks: T4100 Differential Revision: https://secure.phabricator.com/D12526
This commit is contained in:
@@ -56,7 +56,6 @@ final class PhabricatorProjectBoardViewController
|
||||
$column_query = id(new PhabricatorProjectColumnQuery())
|
||||
->setViewer($viewer)
|
||||
->withProjectPHIDs(array($project->getPHID()));
|
||||
|
||||
if (!$show_hidden) {
|
||||
$column_query->withStatuses(
|
||||
array(PhabricatorProjectColumn::STATUS_ACTIVE));
|
||||
@@ -160,7 +159,10 @@ final class PhabricatorProjectBoardViewController
|
||||
$task_query = $engine->buildQueryFromSavedQuery($saved);
|
||||
|
||||
$tasks = $task_query
|
||||
->addWithAllProjects(array($project->getPHID()))
|
||||
->withEdgeLogicPHIDs(
|
||||
PhabricatorProjectObjectHasProjectEdgeType::EDGECONST,
|
||||
PhabricatorQueryConstraint::OPERATOR_AND,
|
||||
array($project->getPHID()))
|
||||
->setOrderBy(ManiphestTaskQuery::ORDER_PRIORITY)
|
||||
->setViewer($viewer)
|
||||
->execute();
|
||||
|
||||
Reference in New Issue
Block a user