diff options
author | Byron Jones <glob@mozilla.com> | 2016-04-21 06:50:14 +0200 |
---|---|---|
committer | Byron Jones <glob@mozilla.com> | 2016-04-21 06:50:14 +0200 |
commit | d447aed0cb1672f6c7e99bf98199278dea23702f (patch) | |
tree | d6b613b21ea0292c75d8f2314d80c60d625db5eb /extensions/Needinfo/Extension.pm | |
parent | 8d6c92261ba400f1afdb6231c0c24d731daa2adb (diff) | |
download | bugzilla-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.pm | 14 |
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); } |