* PhabBugz: Fix the unaccepted revision comment
Summary:
Currently, we're sending the "User removed from revision" comment when
the Accept flag has been removed from a revision. This could happen in a
number of use cases:
1. The reviewer resigned from being a reviewer.
2. The reviewer has been removed from reviewers list.
3. Someone (author, reviewer) removed acceptance of the revision by changing
its status to "Needs Review".
This patch is sending a "flag is deactivated" or "reviewer removed from
revision" depending on the current status of the reviewer.
Test Plan:
Accept a revision.
Change the revision to "Needs Review".
Check the bug comment.
Accept the revision.
Remove the user from reviewers list.
Check the bug comment.
Reviewers: dkl
Bug #:
1441063
Differential Revision: https://phabricator.services.mozilla.com/D809
* Styling fixed as requested in review.
* Perl style fixes
$phab_users = get_phab_bmo_ids({ phids => \@denied_phids });
@denied_user_ids = map { $_->{id} } @$phab_users;
+ my %reviewers_hash = map { $_->name => 1 } @{ $revision->reviewers };
+
foreach my $attachment (@attachments) {
my ($attach_revision_id) = ($attachment->filename =~ PHAB_ATTACHMENT_PATTERN);
next if $revision->id != $attach_revision_id;
$comment .= $flag_data->{setter}->name . " has requested changes to the revision.\n";
}
foreach my $flag_data (@removed_flags) {
- $comment .= $flag_data->{setter}->name . " has been removed from the revision.\n";
+ if ( exists $reviewers_hash{$flag_data->{setter}->name} ) {
+ $comment .= "Flag set by " . $flag_data->{setter}->name . " is no longer active.\n";
+ } else {
+ $comment .= $flag_data->{setter}->name . " has been removed from the revision.\n";
+ }
}
if ($comment) {