Remove all hardcoded behaviors associated with task priorities
Summary: Ref T3583. Currently, we have some hard-coded behaviors associated with the "Unbreak Now" and "Needs Triage" priorities. Remove them: - Users seem somewhat confused by these on occasion, and never seem to think they're cool/useful (that I've seen, at least). - I think they have low utility in general, see T3583. - Saves three queries on the home page, which can no longer use row counting since they must be policy filtered. - Primarily, this paves the way for allowing installs to customize priorities, which is an occasional request. Also deletes a lot of code with no callsites. Test Plan: Mostly `grep`. Loaded home page. Viewed reports and task list. Reviewers: btrahan Reviewed By: btrahan CC: chad, aran Maniphest Tasks: T3583 Differential Revision: https://secure.phabricator.com/D6981
This commit is contained in:
@@ -32,12 +32,8 @@ final class PhabricatorDirectoryMainController
|
||||
|
||||
$maniphest = 'PhabricatorApplicationManiphest';
|
||||
if (PhabricatorApplication::isClassInstalled($maniphest)) {
|
||||
$unbreak_panel = $this->buildUnbreakNowPanel();
|
||||
$triage_panel = $this->buildNeedsTriagePanel($projects);
|
||||
$tasks_panel = $this->buildTasksPanel();
|
||||
} else {
|
||||
$unbreak_panel = null;
|
||||
$triage_panel = null;
|
||||
$tasks_panel = null;
|
||||
}
|
||||
|
||||
@@ -54,8 +50,6 @@ final class PhabricatorDirectoryMainController
|
||||
$content = array(
|
||||
$jump_panel,
|
||||
$welcome_panel,
|
||||
$unbreak_panel,
|
||||
$triage_panel,
|
||||
$revision_panel,
|
||||
$tasks_panel,
|
||||
$audit_panel,
|
||||
@@ -96,88 +90,6 @@ final class PhabricatorDirectoryMainController
|
||||
}
|
||||
}
|
||||
|
||||
private function buildUnbreakNowPanel() {
|
||||
$user = $this->getRequest()->getUser();
|
||||
|
||||
$task_query = id(new ManiphestTaskQuery())
|
||||
->setViewer($user)
|
||||
->withStatus(ManiphestTaskQuery::STATUS_OPEN)
|
||||
->withPriority(ManiphestTaskPriority::PRIORITY_UNBREAK_NOW)
|
||||
->setLimit(10);
|
||||
|
||||
$tasks = $task_query->execute();
|
||||
|
||||
if (!$tasks) {
|
||||
return $this->renderMiniPanel(
|
||||
'No "Unbreak Now!" Tasks',
|
||||
'Nothing appears to be critically broken right now.');
|
||||
}
|
||||
|
||||
$panel = new AphrontPanelView();
|
||||
$panel->setHeader('Unbreak Now!');
|
||||
$panel->setCaption('Open tasks with "Unbreak Now!" priority.');
|
||||
$panel->addButton(
|
||||
phutil_tag(
|
||||
'a',
|
||||
array(
|
||||
'href' => '/maniphest/view/all/',
|
||||
'class' => 'grey button',
|
||||
),
|
||||
"View All Unbreak Now \xC2\xBB"));
|
||||
|
||||
$panel->appendChild($this->buildTaskListView($tasks));
|
||||
$panel->setNoBackground();
|
||||
|
||||
return $panel;
|
||||
}
|
||||
|
||||
private function buildNeedsTriagePanel(array $projects) {
|
||||
assert_instances_of($projects, 'PhabricatorProject');
|
||||
|
||||
$user = $this->getRequest()->getUser();
|
||||
|
||||
if ($projects) {
|
||||
$task_query = id(new ManiphestTaskQuery())
|
||||
->setViewer($user)
|
||||
->withStatus(ManiphestTaskQuery::STATUS_OPEN)
|
||||
->withPriority(ManiphestTaskPriority::PRIORITY_TRIAGE)
|
||||
->withAnyProjects(mpull($projects, 'getPHID'))
|
||||
->setLimit(10);
|
||||
$tasks = $task_query->execute();
|
||||
} else {
|
||||
$tasks = array();
|
||||
}
|
||||
|
||||
if (!$tasks) {
|
||||
return $this->renderMiniPanel(
|
||||
'No "Needs Triage" Tasks',
|
||||
hsprintf(
|
||||
'No tasks in <a href="/project/">projects you are a member of</a> '.
|
||||
'need triage.'));
|
||||
}
|
||||
|
||||
$panel = new AphrontPanelView();
|
||||
$panel->setHeader('Needs Triage');
|
||||
$panel->setCaption(hsprintf(
|
||||
'Open tasks with "Needs Triage" priority in '.
|
||||
'<a href="/project/">projects you are a member of</a>.'));
|
||||
|
||||
$panel->addButton(
|
||||
phutil_tag(
|
||||
'a',
|
||||
array(
|
||||
// TODO: This should filter to just your projects' need-triage
|
||||
// tasks?
|
||||
'href' => '/maniphest/view/projecttriage/',
|
||||
'class' => 'grey button',
|
||||
),
|
||||
"View All Triage \xC2\xBB"));
|
||||
$panel->appendChild($this->buildTaskListView($tasks));
|
||||
$panel->setNoBackground();
|
||||
|
||||
return $panel;
|
||||
}
|
||||
|
||||
private function buildRevisionPanel() {
|
||||
$user = $this->getRequest()->getUser();
|
||||
$user_phid = $user->getPHID();
|
||||
|
||||
Reference in New Issue
Block a user