1
0
Fork 0
mirror of https://we.phorge.it/source/phorge.git synced 2024-11-28 01:32:42 +01:00
phorge-phorge/src/applications/project/controller
epriestley c46be2a70b Allow Maniphest tasks to be queried by workboard Column PHID via SearchEngine
Summary:
Ref T13120. See PHI571. Fixes T5024. This adds a "View as Query" action to workboard columns, which builds a query in Maniphest that has the current query constraints plus an additional constraint to select only tasks in the specified column.

This is a normal query and can be turned into a dashboard panel, added to a menu, edited, saved as a link, etc.

Much of the complexity here is that finding tasks in a given column isn't entirely straightforward because of how board layout works: when you create a task, it isn't immediately placed in columns. It's only actually added to the "Backlog" column on any boards when someone looks at the board.

To get the right behavior, we must do "board layout" for any queried columns before we can constrain results. This isn't enormously efficient, but should be OK for reasonable boards.

Test Plan:
  - Used "View as Query" for normal columns and milestome columns, got appropriate queries in Maniphest.
  - Applied filters to the board (e.g., "Priorities: wishlist"), then used "View As Query" and had my custom filters respected.
  - Queried some large boards/columns with more than a thousand tasks, got results back within a second or so.

Reviewers: amckinley

Reviewed By: amckinley

Maniphest Tasks: T13120, T5024

Differential Revision: https://secure.phabricator.com/D19366
2018-04-13 16:07:44 -07:00
..
PhabricatorProjectArchiveController.php Migrate Project status to modular transactions 2017-05-18 11:36:13 -07:00
PhabricatorProjectBoardBackgroundController.php More button grey conversions 2017-06-07 09:34:50 -07:00
PhabricatorProjectBoardController.php Rename all ProfilePanels into ProfileMenuItems 2016-12-11 11:44:38 -08:00
PhabricatorProjectBoardDisableController.php Migrate Project workboard to modular transactions 2017-05-23 12:38:27 -07:00
PhabricatorProjectBoardImportController.php Migrate Project workboard to modular transactions 2017-05-23 12:38:27 -07:00
PhabricatorProjectBoardManageController.php Normalize headers and actions in Project sub pages 2017-05-16 09:58:33 -07:00
PhabricatorProjectBoardReorderController.php Use setDrag UI for reordering workboard columns 2017-05-16 07:13:25 -07:00
PhabricatorProjectBoardViewController.php Allow Maniphest tasks to be queried by workboard Column PHID via SearchEngine 2018-04-13 16:07:44 -07:00
PhabricatorProjectColumnDetailController.php Normalize headers and actions in Project sub pages 2017-05-16 09:58:33 -07:00
PhabricatorProjectColumnEditController.php Add Column Edit / History actions to workboard columns 2017-05-14 16:41:20 -04:00
PhabricatorProjectColumnHideController.php Migrate Project status to modular transactions 2017-05-18 11:36:13 -07:00
PhabricatorProjectController.php Add slugs to project manage page 2017-05-24 10:23:37 -07:00
PhabricatorProjectCoverController.php Update Maniphest for modular transactions 2017-05-15 10:29:06 -07:00
PhabricatorProjectDefaultController.php Migrate Project sort and filter defaults to modular transactions 2017-05-24 12:36:06 -07:00
PhabricatorProjectEditController.php Improve subproject/milestone error handling for users who can't create projects 2016-02-15 07:32:42 -08:00
PhabricatorProjectEditPictureController.php Add some more builtin project images 2017-07-30 12:29:02 -07:00
PhabricatorProjectListController.php Make project page/navigation construction more consistent, particularly on mobile 2016-01-13 09:34:57 -08:00
PhabricatorProjectLockController.php Migrate Project lock to modular transactions 2017-05-21 11:36:53 -07:00
PhabricatorProjectManageController.php Add slugs to project manage page 2017-05-24 10:23:37 -07:00
PhabricatorProjectMembersAddController.php Fix errors found by PHPStan 2017-02-17 10:10:15 +00:00
PhabricatorProjectMembersRemoveController.php Fix errors found by PHPStan 2017-02-17 10:10:15 +00:00
PhabricatorProjectMembersViewController.php Make passing an object to newCurtain optional 2017-05-16 08:51:05 -07:00
PhabricatorProjectMenuItemController.php Rename all ProfilePanels into ProfileMenuItems 2016-12-11 11:44:38 -08:00
PhabricatorProjectMoveController.php Use keywords instead of ints to update task priority in ManiphestEditEngine 2017-06-14 14:43:03 -07:00
PhabricatorProjectProfileController.php Add "View All" header buttons to user and project feed boxes 2017-05-26 12:24:20 -07:00
PhabricatorProjectSilenceController.php Fix errors found by PHPStan 2017-02-17 10:10:15 +00:00
PhabricatorProjectSubprojectsController.php Clarify milestone/subproject creation language 2017-05-19 13:30:02 -07:00
PhabricatorProjectSubprojectWarningController.php Fix some policy CSS 2016-11-11 13:43:13 -08:00
PhabricatorProjectUpdateController.php Fix errors found by PHPStan 2017-02-17 10:10:15 +00:00
PhabricatorProjectViewController.php Allow "Manage" to be the default menu item for projects 2017-12-23 11:37:12 -08:00
PhabricatorProjectWatchController.php Fix errors found by PHPStan 2017-02-17 10:10:15 +00:00