From ba84ffa3c85f05ca48b678902eeb5b72951cf0c2 Mon Sep 17 00:00:00 2001 From: "lpsolit%gmail.com" <> Date: Mon, 21 Jan 2008 04:12:50 +0000 Subject: Bug 413258: When setting a flag on an attachment on bug creation, an incorrect message is displayed - Patch by Frédéric Buclin a=LpSolit MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Bugzilla/Flag.pm | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) (limited to 'Bugzilla') diff --git a/Bugzilla/Flag.pm b/Bugzilla/Flag.pm index adc92cfd4..9dc6a2ef5 100644 --- a/Bugzilla/Flag.pm +++ b/Bugzilla/Flag.pm @@ -963,10 +963,9 @@ sub FormToNewFlags { return () unless scalar(@type_ids); - # Get a list of active flag types available for this target. + # Get a list of active flag types available for this product/component. my $flag_types = Bugzilla::FlagType::match( - { 'target_type' => $attachment ? 'attachment' : 'bug', - 'product_id' => $bug->{'product_id'}, + { 'product_id' => $bug->{'product_id'}, 'component_id' => $bug->{'component_id'}, 'is_active' => 1 }); @@ -982,6 +981,10 @@ sub FormToNewFlags { foreach my $flag_type (@$flag_types) { my $type_id = $flag_type->id; + # Bug flags are only valid for bugs, and attachment flags are + # only valid for attachments. So don't mix both. + next unless ($flag_type->target_type eq 'bug' xor $attachment); + # We are only interested in flags the user tries to create. next unless scalar(grep { $_ == $type_id } @type_ids); -- cgit v1.2.3-24-g4f1b