Page MenuHomePhabricator

D18757.id45023.diff
No OneTemporary

D18757.id45023.diff

diff --git a/src/applications/differential/query/DifferentialRevisionRequiredActionResultBucket.php b/src/applications/differential/query/DifferentialRevisionRequiredActionResultBucket.php
--- a/src/applications/differential/query/DifferentialRevisionRequiredActionResultBucket.php
+++ b/src/applications/differential/query/DifferentialRevisionRequiredActionResultBucket.php
@@ -123,6 +123,14 @@
$reviewing = array(
DifferentialReviewerStatus::STATUS_ADDED,
DifferentialReviewerStatus::STATUS_COMMENTED,
+
+ // If an author has used "Request Review" to put an accepted revision
+ // back into the "Needs Review" state, include "Accepted" reviewers
+ // whose reviews have been voided in the "Should Review" bucket.
+
+ // If we don't do this, they end up in "Waiting on Other Reviewers",
+ // even if there are no other reviewers.
+ DifferentialReviewerStatus::STATUS_ACCEPTED,
);
$reviewing = array_fuse($reviewing);
@@ -130,7 +138,7 @@
$results = array();
foreach ($objects as $key => $object) {
- if (!$this->hasReviewersWithStatus($object, $phids, $reviewing)) {
+ if (!$this->hasReviewersWithStatus($object, $phids, $reviewing, false)) {
continue;
}
diff --git a/src/applications/differential/query/DifferentialRevisionResultBucket.php b/src/applications/differential/query/DifferentialRevisionResultBucket.php
--- a/src/applications/differential/query/DifferentialRevisionResultBucket.php
+++ b/src/applications/differential/query/DifferentialRevisionResultBucket.php
@@ -53,7 +53,8 @@
protected function hasReviewersWithStatus(
DifferentialRevision $revision,
array $phids,
- array $statuses) {
+ array $statuses,
+ $current = null) {
foreach ($revision->getReviewers() as $reviewer) {
$reviewer_phid = $reviewer->getReviewerPHID();
@@ -66,6 +67,16 @@
continue;
}
+ if ($current !== null) {
+ if ($status == DifferentialReviewerStatus::STATUS_ACCEPTED) {
+ $diff_phid = $revision->getActiveDiffPHID();
+ $is_current = $reviewer->isAccepted($diff_phid);
+ if ($is_current !== $current) {
+ continue;
+ }
+ }
+ }
+
return true;
}

File Metadata

Mime Type
text/plain
Expires
Tue, Mar 18, 7:56 AM (3 d, 23 h ago)
Storage Engine
blob
Storage Format
Encrypted (AES-256-CBC)
Storage Handle
7709515
Default Alt Text
D18757.id45023.diff (2 KB)

Event Timeline