summaryrefslogtreecommitdiffstats
path: root/extensions/Needinfo/Extension.pm
diff options
context:
space:
mode:
authorByron Jones <glob@mozilla.com>2016-04-21 06:50:14 +0200
committerByron Jones <glob@mozilla.com>2016-04-21 06:50:14 +0200
commitd447aed0cb1672f6c7e99bf98199278dea23702f (patch)
treed6b613b21ea0292c75d8f2314d80c60d625db5eb /extensions/Needinfo/Extension.pm
parent8d6c92261ba400f1afdb6231c0c24d731daa2adb (diff)
downloadbugzilla-d447aed0cb1672f6c7e99bf98199278dea23702f.tar.gz
bugzilla-d447aed0cb1672f6c7e99bf98199278dea23702f.tar.xz
Bug 1239838 - Don't see a way to redirect a needinfo request (in Experimental UI)
Diffstat (limited to 'extensions/Needinfo/Extension.pm')
-rw-r--r--extensions/Needinfo/Extension.pm14
1 files changed, 14 insertions, 0 deletions
diff --git a/extensions/Needinfo/Extension.pm b/extensions/Needinfo/Extension.pm
index c1659a1eb..a85bad5c6 100644
--- a/extensions/Needinfo/Extension.pm
+++ b/extensions/Needinfo/Extension.pm
@@ -92,6 +92,7 @@ sub bug_start_of_update {
my $add_needinfo = delete $params->{needinfo};
my $needinfo_from = delete $params->{needinfo_from};
my $needinfo_role = delete $params->{needinfo_role};
+ my $is_redirect = delete $params->{needinfo_redirect};
my $is_private = $params->{'comment_is_private'};
my @needinfo_overrides;
@@ -181,6 +182,19 @@ sub bug_start_of_update {
}
}
+ if ($is_redirect && scalar(@new_flags) == 1) {
+ # Find the current user's needinfo request
+ foreach my $flag (@{ $bug->flags }) {
+ next unless $flag->type->name eq 'needinfo'
+ && $flag->requestee
+ && $flag->requestee->id == $user->id;
+ # Setting the id on new_flag updates the existing flag instead of
+ # creating a new one.
+ $new_flags[0]->{id} = $flag->id;
+ last;
+ }
+ }
+
if (@flags || @new_flags) {
$bug->set_flags(\@flags, \@new_flags);
}