diff options
-rwxr-xr-x | attachment.cgi | 7 | ||||
-rw-r--r-- | bug_form.pl | 25 | ||||
-rw-r--r-- | template/en/default/attachment/list.html.tmpl | 9 | ||||
-rw-r--r-- | template/en/default/flag/list.html.tmpl | 10 |
4 files changed, 29 insertions, 22 deletions
diff --git a/attachment.cgi b/attachment.cgi index 33f8c8542..04b86dc33 100755 --- a/attachment.cgi +++ b/attachment.cgi @@ -555,12 +555,11 @@ sub edit SendSQL("SELECT product_id, component_id FROM bugs WHERE bug_id = $bugid"); my ($product_id, $component_id) = FetchSQLData(); my $flag_types = Bugzilla::FlagType::match({ 'target_type' => 'attachment' , - 'product_id' => $product_id , - 'component_id' => $component_id , - 'is_active' => 1}); + 'product_id' => $product_id , + 'component_id' => $component_id }); foreach my $flag_type (@$flag_types) { $flag_type->{'flags'} = Bugzilla::Flag::match({ 'type_id' => $flag_type->{'id'}, - 'attach_id' => $::FORM{'id'} }); + 'attach_id' => $::FORM{'id'} }); } $vars->{'flag_types'} = $flag_types; diff --git a/bug_form.pl b/bug_form.pl index 0e6b4547d..946dc4a31 100644 --- a/bug_form.pl +++ b/bug_form.pl @@ -209,8 +209,7 @@ sub show_bug { my $flag_types = Bugzilla::FlagType::match({ 'target_type' => 'bug', 'product_id' => $bug{'product_id'}, - 'component_id' => $bug{'component_id'}, - 'is_active' => 1 }); + 'component_id' => $bug{'component_id'}); foreach my $flag_type (@$flag_types) { $flag_type->{'flags'} = Bugzilla::Flag::match({ 'bug_id' => $id , @@ -219,13 +218,21 @@ sub show_bug { } $vars->{'flag_types'} = $flag_types; - # The number of types of flags that can be set on attachments - # to this bug. If none, flags won't be shown in the list of attachments. - $vars->{'num_attachment_flag_types'} = - Bugzilla::FlagType::count({ 'target_type' => 'a', - 'product_id' => $bug{'product_id'}, - 'component_id' => $bug{'component_id'}, - 'is_active' => 1 }); + # The number of types of flags that can be set on attachments to this bug + # and the number of flags on those attachments. One of these counts must be + # greater than zero in order for the "flags" column to appear in the table + # of attachments. + my $num_attachment_flag_types = + Bugzilla::FlagType::count({ 'target_type' => 'attachment', + 'product_id' => $bug{'product_id'}, + 'component_id' => $bug{'component_id'}, + 'is_active' => 1 }); + my $num_attachment_flags = + Bugzilla::Flag::count({ 'target_type' => 'attachment', + 'bug_id' => $id }); + + $vars->{'show_attachment_flags'} + = $num_attachment_flag_types || $num_attachment_flags; # Dependencies my @list; diff --git a/template/en/default/attachment/list.html.tmpl b/template/en/default/attachment/list.html.tmpl index 59f749695..265803602 100644 --- a/template/en/default/attachment/list.html.tmpl +++ b/template/en/default/attachment/list.html.tmpl @@ -19,16 +19,13 @@ # Contributor(s): Myk Melez <myk@mozilla.org> #%] -[%# Whether or not to include flags. %] -[% display_flags = num_attachment_flag_types > 0 %] - <br> <table cellspacing="0" cellpadding="4" border="1"> <tr> <th bgcolor="#cccccc" align="left">Attachment</th> <th bgcolor="#cccccc" align="left">Type</th> <th bgcolor="#cccccc" align="left">Created</th> - [% IF display_flags %] + [% IF show_attachment_flags %] <th bgcolor="#cccccc" align="left">Flags</th> [% END %] <th bgcolor="#cccccc" align="left">Actions</th> @@ -55,7 +52,7 @@ <td valign="top">[% attachment.date %]</td> - [% IF display_flags %] + [% IF show_attachment_flags %] <td valign="top"> [% IF attachment.flags.size == 0 %] <i>none</i> @@ -85,7 +82,7 @@ [% END %] <tr> - <td colspan="[% display_flags ? 4 : 3 %]"> + <td colspan="[% show_attachment_flags ? 4 : 3 %]"> <a href="attachment.cgi?bugid=[% bugid %]&action=enter">Create a New Attachment</a> (proposed patch, testcase, etc.) </td> <td colspan="1"> diff --git a/template/en/default/flag/list.html.tmpl b/template/en/default/flag/list.html.tmpl index f809a4e0e..abfac6fcc 100644 --- a/template/en/default/flag/list.html.tmpl +++ b/template/en/default/flag/list.html.tmpl @@ -33,9 +33,13 @@ <td> <select name="flag-[% flag.id %]"> <option value="X"></option> - <option value="+" [% "selected" IF flag.status == "+" %]>+</option> - <option value="-" [% "selected" IF flag.status == "-" %]>-</option> - <option value="?" [% "selected" IF flag.status == "?" %]>?</option> + [% IF flag.is_active %] + <option value="+" [% "selected" IF flag.status == "+" %]>+</option> + <option value="-" [% "selected" IF flag.status == "-" %]>-</option> + <option value="?" [% "selected" IF flag.status == "?" %]>?</option> + [% ELSE %] + <option value="[% flag.status %]" selected>[% flag.status %]</option> + [% END %] </select> </td> <td> |