From 8dc4b874a314a9ff4b32d3223fe481ef32a6a475 Mon Sep 17 00:00:00 2001 From: "lpsolit%gmail.com" <> Date: Thu, 6 Aug 2009 02:18:49 +0000 Subject: [PATCH] =?utf8?q?Bug=20305993:=20The=20requestee=20field=20may=20?= =?utf8?q?be=20omitted=20even=20when=20a=20requestee=20is=20already=20set?= =?utf8?q?=20-=20Patch=20by=20Fr=C3=83=C2=A9d=C3=83=C2=A9ric=20Buclin=20=20a=3DLpSolit?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit --- Bugzilla/Bug.pm | 8 ++++++-- attachment.cgi | 10 ++++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/Bugzilla/Bug.pm b/Bugzilla/Bug.pm index 64627f4e91..567c130f4a 100644 --- a/Bugzilla/Bug.pm +++ b/Bugzilla/Bug.pm @@ -2519,8 +2519,12 @@ sub any_flags_requesteeble { if exists $self->{'any_flags_requesteeble'}; return 0 if $self->{'error'}; - $self->{'any_flags_requesteeble'} = - grep($_->{'is_requesteeble'}, @{$self->flag_types}); + my $any_flags_requesteeble = + grep { $_->is_requestable && $_->is_requesteeble } @{$self->flag_types}; + # Useful in case a flagtype is no longer requestable but a requestee + # has been set before we turned off that bit. + $any_flags_requesteeble ||= grep { $_->requestee_id } @{$self->flags}; + $self->{'any_flags_requesteeble'} = $any_flags_requesteeble; return $self->{'any_flags_requesteeble'}; } diff --git a/attachment.cgi b/attachment.cgi index b62e4f23cc..8614026db5 100755 --- a/attachment.cgi +++ b/attachment.cgi @@ -400,7 +400,8 @@ sub enter { 'product_id' => $bug->product_id, 'component_id' => $bug->component_id}); $vars->{'flag_types'} = $flag_types; - $vars->{'any_flags_requesteeble'} = grep($_->is_requesteeble, @$flag_types); + $vars->{'any_flags_requesteeble'} = + grep { $_->is_requestable && $_->is_requesteeble } @$flag_types; $vars->{'token'} = issue_session_token('create_attachment:'); print $cgi->header(); @@ -542,7 +543,12 @@ sub edit { # We only want attachment IDs. @$bugattachments = map { $_->id } @$bugattachments; - $vars->{'any_flags_requesteeble'} = grep($_->is_requesteeble, @{$attachment->flag_types}); + my $any_flags_requesteeble = + grep { $_->is_requestable && $_->is_requesteeble } @{$attachment->flag_types}; + # Useful in case a flagtype is no longer requestable but a requestee + # has been set before we turned off that bit. + $any_flags_requesteeble ||= grep { $_->requestee_id } @{$attachment->flags}; + $vars->{'any_flags_requesteeble'} = $any_flags_requesteeble; $vars->{'attachment'} = $attachment; $vars->{'attachments'} = $bugattachments; -- 2.47.3