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:
@@ -179,7 +179,10 @@ final class PhabricatorHomeMainController extends PhabricatorHomeController {
|
||||
->setViewer($user)
|
||||
->withStatuses(ManiphestTaskStatus::getOpenStatusConstants())
|
||||
->withPriorities(array($needs_triage))
|
||||
->withAnyProjects(mpull($projects, 'getPHID'))
|
||||
->withEdgeLogicPHIDs(
|
||||
PhabricatorProjectObjectHasProjectEdgeType::EDGECONST,
|
||||
PhabricatorQueryConstraint::OPERATOR_OR,
|
||||
mpull($projects, 'getPHID'))
|
||||
->needProjectPHIDs(true)
|
||||
->setLimit(10);
|
||||
$tasks = $task_query->execute();
|
||||
|
||||
Reference in New Issue
Block a user