summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xattachment.cgi7
-rw-r--r--bug_form.pl25
-rw-r--r--template/en/default/attachment/list.html.tmpl9
-rw-r--r--template/en/default/flag/list.html.tmpl10
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 %]&amp;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>