diff --git a/src/applications/differential/controller/revisionview/DifferentialRevisionViewController.php b/src/applications/differential/controller/revisionview/DifferentialRevisionViewController.php index d52dc85f26..a11d39f0ce 100644 --- a/src/applications/differential/controller/revisionview/DifferentialRevisionViewController.php +++ b/src/applications/differential/controller/revisionview/DifferentialRevisionViewController.php @@ -377,6 +377,7 @@ class DifferentialRevisionViewController extends DifferentialController { $actions = array( DifferentialAction::ACTION_COMMENT => true, ); + $admin_actions = array(); $viewer = $this->getRequest()->getUser(); $viewer_phid = $viewer->getPHID(); @@ -409,18 +410,18 @@ class DifferentialRevisionViewController extends DifferentialController { } else { switch ($revision->getStatus()) { case DifferentialRevisionStatus::NEEDS_REVIEW: - $actions[DifferentialAction::ACTION_ABANDON] = $viewer_is_admin; + $admin_actions[DifferentialAction::ACTION_ABANDON] = $viewer_is_admin; $actions[DifferentialAction::ACTION_ACCEPT] = true; $actions[DifferentialAction::ACTION_REJECT] = true; $actions[DifferentialAction::ACTION_RESIGN] = $viewer_is_reviewer; break; case DifferentialRevisionStatus::NEEDS_REVISION: - $actions[DifferentialAction::ACTION_ABANDON] = $viewer_is_admin; + $admin_actions[DifferentialAction::ACTION_ABANDON] = $viewer_is_admin; $actions[DifferentialAction::ACTION_ACCEPT] = true; $actions[DifferentialAction::ACTION_RESIGN] = $viewer_is_reviewer; break; case DifferentialRevisionStatus::ACCEPTED: - $actions[DifferentialAction::ACTION_ABANDON] = $viewer_is_admin; + $admin_actions[DifferentialAction::ACTION_ABANDON] = $viewer_is_admin; $actions[DifferentialAction::ACTION_REJECT] = true; $actions[DifferentialAction::ACTION_RESIGN] = $viewer_is_reviewer && !$viewer_did_accept; @@ -434,7 +435,19 @@ class DifferentialRevisionViewController extends DifferentialController { $actions[DifferentialAction::ACTION_ADDREVIEWERS] = true; $actions[DifferentialAction::ACTION_ADDCCS] = true; - return array_keys(array_filter($actions)); + $actions = array_keys(array_filter($actions)); + $admin_actions = array_keys(array_filter($admin_actions)); + $actions_dict = array(); + + foreach ($actions as $action) { + $actions_dict[$action] = DifferentialAction::getActionVerb($action); + } + foreach ($admin_actions as $action) { + $actions_dict[$action] = + '(Admin) ' . DifferentialAction::getActionVerb($action); + } + + return $actions_dict; } private function loadInlineComments(array $comments, array &$changesets) { diff --git a/src/applications/differential/view/addcomment/DifferentialAddCommentView.php b/src/applications/differential/view/addcomment/DifferentialAddCommentView.php index a4b09f93d0..bce8ea5a93 100644 --- a/src/applications/differential/view/addcomment/DifferentialAddCommentView.php +++ b/src/applications/differential/view/addcomment/DifferentialAddCommentView.php @@ -69,11 +69,6 @@ final class DifferentialAddCommentView extends AphrontView { $revision = $this->revision; - $actions = array(); - foreach ($this->actions as $action) { - $actions[$action] = DifferentialAction::getActionVerb($action); - } - $form = new AphrontFormView(); $form ->setUser($this->user) @@ -84,7 +79,7 @@ final class DifferentialAddCommentView extends AphrontView { ->setLabel('Action') ->setName('action') ->setID('comment-action') - ->setOptions($actions)) + ->setOptions($this->actions)) ->appendChild( id(new AphrontFormTokenizerControl()) ->setLabel('Add Reviewers') diff --git a/src/applications/differential/view/addcomment/__init__.php b/src/applications/differential/view/addcomment/__init__.php index 4ce14e0139..352c41acd1 100644 --- a/src/applications/differential/view/addcomment/__init__.php +++ b/src/applications/differential/view/addcomment/__init__.php @@ -6,7 +6,6 @@ -phutil_require_module('phabricator', 'applications/differential/constants/action'); phutil_require_module('phabricator', 'applications/differential/constants/lintstatus'); phutil_require_module('phabricator', 'applications/differential/constants/unitstatus'); phutil_require_module('phabricator', 'infrastructure/celerity/api');