Page MenuHomePhabricator

D18626.id44720.diff
No OneTemporary

D18626.id44720.diff

diff --git a/src/applications/differential/xaction/DifferentialRevisionAbandonTransaction.php b/src/applications/differential/xaction/DifferentialRevisionAbandonTransaction.php
--- a/src/applications/differential/xaction/DifferentialRevisionAbandonTransaction.php
+++ b/src/applications/differential/xaction/DifferentialRevisionAbandonTransaction.php
@@ -10,7 +10,8 @@
return pht('Abandon Revision');
}
- protected function getRevisionActionDescription() {
+ protected function getRevisionActionDescription(
+ DifferentialRevision $revision) {
return pht('This revision will be abandoned and closed.');
}
diff --git a/src/applications/differential/xaction/DifferentialRevisionAcceptTransaction.php b/src/applications/differential/xaction/DifferentialRevisionAcceptTransaction.php
--- a/src/applications/differential/xaction/DifferentialRevisionAcceptTransaction.php
+++ b/src/applications/differential/xaction/DifferentialRevisionAcceptTransaction.php
@@ -10,7 +10,8 @@
return pht("Accept Revision \xE2\x9C\x94");
}
- protected function getRevisionActionDescription() {
+ protected function getRevisionActionDescription(
+ DifferentialRevision $revision) {
return pht('These changes will be approved.');
}
diff --git a/src/applications/differential/xaction/DifferentialRevisionActionTransaction.php b/src/applications/differential/xaction/DifferentialRevisionActionTransaction.php
--- a/src/applications/differential/xaction/DifferentialRevisionActionTransaction.php
+++ b/src/applications/differential/xaction/DifferentialRevisionActionTransaction.php
@@ -52,7 +52,8 @@
return DifferentialRevisionEditEngine::ACTIONGROUP_REVISION;
}
- protected function getRevisionActionDescription() {
+ protected function getRevisionActionDescription(
+ DifferentialRevision $revision) {
return null;
}
@@ -103,7 +104,7 @@
if ($label !== null) {
$field->setCommentActionLabel($label);
- $description = $this->getRevisionActionDescription();
+ $description = $this->getRevisionActionDescription($revision);
$field->setActionDescription($description);
$group_key = $this->getRevisionActionGroupKey();
diff --git a/src/applications/differential/xaction/DifferentialRevisionCloseTransaction.php b/src/applications/differential/xaction/DifferentialRevisionCloseTransaction.php
--- a/src/applications/differential/xaction/DifferentialRevisionCloseTransaction.php
+++ b/src/applications/differential/xaction/DifferentialRevisionCloseTransaction.php
@@ -10,7 +10,8 @@
return pht('Close Revision');
}
- protected function getRevisionActionDescription() {
+ protected function getRevisionActionDescription(
+ DifferentialRevision $revision) {
return pht('This revision will be closed.');
}
diff --git a/src/applications/differential/xaction/DifferentialRevisionCommandeerTransaction.php b/src/applications/differential/xaction/DifferentialRevisionCommandeerTransaction.php
--- a/src/applications/differential/xaction/DifferentialRevisionCommandeerTransaction.php
+++ b/src/applications/differential/xaction/DifferentialRevisionCommandeerTransaction.php
@@ -10,7 +10,8 @@
return pht('Commandeer Revision');
}
- protected function getRevisionActionDescription() {
+ protected function getRevisionActionDescription(
+ DifferentialRevision $revision) {
return pht('You will take control of this revision and become its author.');
}
@@ -65,6 +66,11 @@
'been closed. You can only commandeer open revisions.'));
}
+ if ($object->isDraft()) {
+ throw new Exception(
+ pht('You can not commandeer a draft revision.'));
+ }
+
if ($this->isViewerRevisionAuthor($object, $viewer)) {
throw new Exception(
pht(
diff --git a/src/applications/differential/xaction/DifferentialRevisionPlanChangesTransaction.php b/src/applications/differential/xaction/DifferentialRevisionPlanChangesTransaction.php
--- a/src/applications/differential/xaction/DifferentialRevisionPlanChangesTransaction.php
+++ b/src/applications/differential/xaction/DifferentialRevisionPlanChangesTransaction.php
@@ -10,7 +10,8 @@
return pht('Plan Changes');
}
- protected function getRevisionActionDescription() {
+ protected function getRevisionActionDescription(
+ DifferentialRevision $revision) {
return pht(
'This revision will be removed from review queues until it is revised.');
}
@@ -55,6 +56,11 @@
}
protected function validateAction($object, PhabricatorUser $viewer) {
+ if ($object->isDraft()) {
+ throw new Exception(
+ pht('You can not plan changes to a draft revision.'));
+ }
+
if ($object->isChangePlanned()) {
throw new Exception(
pht(
diff --git a/src/applications/differential/xaction/DifferentialRevisionReclaimTransaction.php b/src/applications/differential/xaction/DifferentialRevisionReclaimTransaction.php
--- a/src/applications/differential/xaction/DifferentialRevisionReclaimTransaction.php
+++ b/src/applications/differential/xaction/DifferentialRevisionReclaimTransaction.php
@@ -10,7 +10,8 @@
return pht('Reclaim Revision');
}
- protected function getRevisionActionDescription() {
+ protected function getRevisionActionDescription(
+ DifferentialRevision $revision) {
return pht('This revision will be reclaimed and reopened.');
}
diff --git a/src/applications/differential/xaction/DifferentialRevisionRejectTransaction.php b/src/applications/differential/xaction/DifferentialRevisionRejectTransaction.php
--- a/src/applications/differential/xaction/DifferentialRevisionRejectTransaction.php
+++ b/src/applications/differential/xaction/DifferentialRevisionRejectTransaction.php
@@ -10,7 +10,8 @@
return pht("Request Changes \xE2\x9C\x98");
}
- protected function getRevisionActionDescription() {
+ protected function getRevisionActionDescription(
+ DifferentialRevision $revision) {
return pht('This revision will be returned to the author for updates.');
}
@@ -72,6 +73,11 @@
'not own.'));
}
+ if ($object->isDraft()) {
+ throw new Exception(
+ pht('You can not request changes to a draft revision.'));
+ }
+
if ($this->isViewerFullyRejected($object, $viewer)) {
throw new Exception(
pht(
diff --git a/src/applications/differential/xaction/DifferentialRevisionReopenTransaction.php b/src/applications/differential/xaction/DifferentialRevisionReopenTransaction.php
--- a/src/applications/differential/xaction/DifferentialRevisionReopenTransaction.php
+++ b/src/applications/differential/xaction/DifferentialRevisionReopenTransaction.php
@@ -10,7 +10,8 @@
return pht('Reopen Revision');
}
- protected function getRevisionActionDescription() {
+ protected function getRevisionActionDescription(
+ DifferentialRevision $revision) {
return pht('This revision will be reopened for review.');
}
diff --git a/src/applications/differential/xaction/DifferentialRevisionRequestReviewTransaction.php b/src/applications/differential/xaction/DifferentialRevisionRequestReviewTransaction.php
--- a/src/applications/differential/xaction/DifferentialRevisionRequestReviewTransaction.php
+++ b/src/applications/differential/xaction/DifferentialRevisionRequestReviewTransaction.php
@@ -10,8 +10,13 @@
return pht('Request Review');
}
- protected function getRevisionActionDescription() {
- return pht('This revision will be returned to reviewers for feedback.');
+ protected function getRevisionActionDescription(
+ DifferentialRevision $revision) {
+ if ($revision->isDraft()) {
+ return pht('This revision will be submitted to reviewers for feedback.');
+ } else {
+ return pht('This revision will be returned to reviewers for feedback.');
+ }
}
public function getColor() {
diff --git a/src/applications/differential/xaction/DifferentialRevisionResignTransaction.php b/src/applications/differential/xaction/DifferentialRevisionResignTransaction.php
--- a/src/applications/differential/xaction/DifferentialRevisionResignTransaction.php
+++ b/src/applications/differential/xaction/DifferentialRevisionResignTransaction.php
@@ -10,7 +10,8 @@
return pht('Resign as Reviewer');
}
- protected function getRevisionActionDescription() {
+ protected function getRevisionActionDescription(
+ DifferentialRevision $revision) {
return pht('You will resign as a reviewer for this change.');
}
@@ -63,6 +64,11 @@
'been closed. You can only resign from open revisions.'));
}
+ if ($object->isDraft()) {
+ throw new Exception(
+ pht('You can not resign from a draft revision.'));
+ }
+
$resigned = DifferentialReviewerStatus::STATUS_RESIGNED;
if ($this->getViewerReviewerStatus($object, $viewer) == $resigned) {
throw new Exception(

File Metadata

Mime Type
text/plain
Expires
Fri, Mar 21, 10:55 AM (18 h, 21 m ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7387733
Default Alt Text
D18626.id44720.diff (8 KB)

Event Timeline