Skip to content

Commit 2ae2e5a

Browse files
committed
Bug 1984452 - When processing the list of reviewers to assign to a new revision, PhabBugz needs to skip a reviewer if they are the author of the revision
1 parent 5f50f3e commit 2ae2e5a

File tree

1 file changed

+5
-12
lines changed

1 file changed

+5
-12
lines changed

extensions/PhabBugz/lib/Util.pm

Lines changed: 5 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -392,7 +392,8 @@ PROJECT: foreach my $project (@review_projects) {
392392
if (scalar @project_members == 1) {
393393
my $lone_reviewer = $project_members[0];
394394

395-
if ( $lone_reviewer->bugzilla_user->can_see_bug($revision->bug->id)
395+
if ( $lone_reviewer->phid ne $revision->author->phid
396+
&& $lone_reviewer->bugzilla_user->can_see_bug($revision->bug->id)
396397
&& $lone_reviewer->bugzilla_user->settings->{block_reviews}->{value} ne 'on')
397398
{
398399
INFO('Single project member found: ' . $lone_reviewer->name);
@@ -406,6 +407,7 @@ PROJECT: foreach my $project (@review_projects) {
406407
if (@stack_reviewers) {
407408
foreach my $member (@project_members) {
408409
next if none { $_->id == $member->id } @stack_reviewers;
410+
next if $member->phid eq $revision->author->phid;
409411
INFO('Found a previous stack reviewer: ' . $member->name);
410412
set_new_reviewer($revision, $project, $member, $is_blocking, \@review_users);
411413
next PROJECT;
@@ -426,16 +428,6 @@ PROJECT: foreach my $project (@review_projects) {
426428
}
427429
}
428430

429-
# If we still have not found a reviewer and there is no member that was the
430-
# last reviewer, then just pick the first member in the list
431-
if (!$last_reviewer_phid) {
432-
INFO('Last reviewer not found so picking first member: '
433-
. $project_members[0]->name);
434-
set_new_reviewer($revision, $project, $project_members[0], $is_blocking,
435-
\@review_users);
436-
next;
437-
}
438-
439431
# Loop through all members and pick the next one in line after last selected
440432
foreach my $member (@project_members) {
441433
INFO('Considering candidate reviewer: ' . $member->name);
@@ -449,7 +441,8 @@ PROJECT: foreach my $project (@review_projects) {
449441
# Here we look to see if they can see the bug, and they are not set to away
450442
# (not accepting reviews). If both are positive, we have found our reviewer
451443
# and exit the loop.
452-
if ( $member->bugzilla_user->can_see_bug($revision->bug->id)
444+
if ($member->phid ne $revision->author->phid
445+
&& $member->bugzilla_user->can_see_bug($revision->bug->id)
453446
&& $member->bugzilla_user->settings->{block_reviews}->{value} ne 'on')
454447
{
455448
INFO('Promoting member to reviewer: ' . $member->name);

0 commit comments

Comments
 (0)