my $foundone = 0;
# Nothing must be undef, otherwise the template complains.
- foreach my $name ("bug_status", "resolution", "assigned_to",
+ my @list = ("bug_status", "resolution", "assigned_to",
"rep_platform", "priority", "bug_severity",
"classification", "product", "reporter", "op_sys",
"component", "version", "chfield", "chfieldfrom",
"x_axis_field", "y_axis_field", "z_axis_field",
"chart_format", "cumulate", "x_labels_vertical",
"category", "subcategory", "name", "newcategory",
- "newsubcategory", "public", "frequency")
- {
+ "newsubcategory", "public", "frequency");
+ # These fields can also have default values (when used in reports).
+ my @custom_select_fields =
+ grep { $_->type == FIELD_TYPE_SINGLE_SELECT } Bugzilla->active_custom_fields;
+ push(@list, map { $_->name } @custom_select_fields);
+
+ foreach my $name (@list) {
$default{$name} = [];
}
$vars->{'category'} = Bugzilla::Chart::getVisibleSeries();
}
+if ($cgi->param('format') && $cgi->param('format') =~ /^report-(table|graph)$/) {
+ # Get legal custom fields for tabular and graphical reports.
+ my @custom_fields_for_reports =
+ grep { $_->type == FIELD_TYPE_SINGLE_SELECT } Bugzilla->active_custom_fields;
+ $vars->{'custom_fields'} = \@custom_fields_for_reports;
+}
+
$vars->{'known_name'} = $cgi->param('known_name');
$columns{'votes'} = "bugs.votes";
$columns{'keywords'} = "bugs.keywords";
$columns{'target_milestone'} = "bugs.target_milestone";
+# Single-select fields are also accepted as valid column names.
+my @single_select_fields =
+ grep { $_->type == FIELD_TYPE_SINGLE_SELECT } Bugzilla->active_custom_fields;
+
+foreach my $custom_field (@single_select_fields) {
+ my $field_name = $custom_field->name;
+ $columns{$field_name} = "bugs.$field_name";
+}
+
# One which means "nothing". Any number would do, really. It just gets SELECTed
# so that we always select 3 items in the query.
$columns{''} = "42217354";