Despecialize most task status handling
Summary: Ref T1812. Moves most specialized status handling into `ManiphestTaskStatus`. The only real missing case is reports.
Test Plan:
Browsed most of the affected interfaces. Changed task status:
{F132697}
Reviewers: btrahan
Reviewed By: btrahan
Subscribers: epriestley
Maniphest Tasks: T1812
Differential Revision: https://secure.phabricator.com/D8579
This commit is contained in:
@@ -151,7 +151,7 @@ final class ManiphestTaskDetailController extends ManiphestController {
|
||||
|
||||
$transaction_types = array(
|
||||
PhabricatorTransactions::TYPE_COMMENT => pht('Comment'),
|
||||
ManiphestTransaction::TYPE_STATUS => pht('Close Task'),
|
||||
ManiphestTransaction::TYPE_STATUS => pht('Change Status'),
|
||||
ManiphestTransaction::TYPE_OWNER => pht('Reassign / Claim'),
|
||||
ManiphestTransaction::TYPE_CCS => pht('Add CCs'),
|
||||
ManiphestTransaction::TYPE_PRIORITY => pht('Change Priority'),
|
||||
@@ -180,21 +180,14 @@ final class ManiphestTaskDetailController extends ManiphestController {
|
||||
}
|
||||
}
|
||||
|
||||
if ($task->getStatus() == ManiphestTaskStatus::STATUS_OPEN) {
|
||||
$resolution_types = array_select_keys(
|
||||
$resolution_types,
|
||||
array(
|
||||
ManiphestTaskStatus::STATUS_CLOSED_RESOLVED,
|
||||
ManiphestTaskStatus::STATUS_CLOSED_WONTFIX,
|
||||
ManiphestTaskStatus::STATUS_CLOSED_INVALID,
|
||||
ManiphestTaskStatus::STATUS_CLOSED_SPITE,
|
||||
));
|
||||
} else {
|
||||
$resolution_types = array(
|
||||
ManiphestTaskStatus::STATUS_OPEN => 'Reopened',
|
||||
);
|
||||
$transaction_types[ManiphestTransaction::TYPE_STATUS] =
|
||||
'Reopen Task';
|
||||
// Don't show an option to change to the current status, or to change to
|
||||
// the duplicate status explicitly.
|
||||
unset($resolution_types[$task->getStatus()]);
|
||||
unset($resolution_types[ManiphestTaskStatus::getDuplicateStatus()]);
|
||||
|
||||
// Don't show owner/priority changes for closed tasks, as they don't make
|
||||
// much sense.
|
||||
if ($task->isClosed()) {
|
||||
unset($transaction_types[ManiphestTransaction::TYPE_PRIORITY]);
|
||||
unset($transaction_types[ManiphestTransaction::TYPE_OWNER]);
|
||||
}
|
||||
@@ -215,12 +208,6 @@ final class ManiphestTaskDetailController extends ManiphestController {
|
||||
|
||||
$is_serious = PhabricatorEnv::getEnvConfig('phabricator.serious-business');
|
||||
|
||||
if ($is_serious) {
|
||||
// Prevent tasks from being closed "out of spite" in serious business
|
||||
// installs.
|
||||
unset($resolution_types[ManiphestTaskStatus::STATUS_CLOSED_SPITE]);
|
||||
}
|
||||
|
||||
$comment_form = new AphrontFormView();
|
||||
$comment_form
|
||||
->setUser($user)
|
||||
@@ -236,7 +223,7 @@ final class ManiphestTaskDetailController extends ManiphestController {
|
||||
->setID('transaction-action'))
|
||||
->appendChild(
|
||||
id(new AphrontFormSelectControl())
|
||||
->setLabel(pht('Resolution'))
|
||||
->setLabel(pht('Status'))
|
||||
->setName('resolution')
|
||||
->setControlID('resolution')
|
||||
->setControlStyle('display: none')
|
||||
|
||||
@@ -147,9 +147,9 @@ final class ManiphestTransactionSaveController extends ManiphestController {
|
||||
$added_ccs[] = $task->getOwnerPHID();
|
||||
break;
|
||||
case ManiphestTransaction::TYPE_STATUS:
|
||||
$resolution = $request->getStr('resolution');
|
||||
if (!$task->getOwnerPHID() &&
|
||||
$request->getStr('resolution') !=
|
||||
ManiphestTaskStatus::STATUS_OPEN) {
|
||||
ManiphestTaskStatus::isClosedStatus($resolution)) {
|
||||
// Closing an unassigned task. Assign the user as the owner of
|
||||
// this task.
|
||||
$assign = new ManiphestTransaction();
|
||||
|
||||
Reference in New Issue
Block a user