sub canonicalise_query {
my ($self, @exclude) = @_;
+ $self->convert_old_params();
# Reconstruct the URL by concatenating the sorted param=value pairs
my @parameters;
foreach my $key (sort($self->param())) {
return join("&", @parameters);
}
+sub convert_old_params {
+ my $self = shift;
+
+ # bugidtype is now bug_id_type.
+ if ($self->param('bugidtype')) {
+ my $value = $self->param('bugidtype') eq 'exclude' ? 'nowords' : 'anyexact';
+ $self->param('bug_id_type', $value);
+ $self->delete('bugidtype');
+ }
+}
+
sub clean_search_url {
my $self = shift;
# Delete any empty URL parameter.
}
}
- # Delete certain parameters if the associated parameter is empty.
- $self->delete('bugidtype') if !$self->param('bug_id');
-
# Delete leftovers from the login form
$self->delete('Bugzilla_remember', 'GoAheadAndLogIn');
my $self = shift;
my @fields = @{ $self->{'fields'} || [] };
my $params = $self->{'params'};
+ $params->convert_old_params();
$self->{'user'} ||= Bugzilla->user;
my $user = $self->{'user'};
}
}
- if ($params->param('bug_id')) {
- my $type = "anyexact";
- if ($params->param('bugidtype') && $params->param('bugidtype') eq 'exclude') {
- $type = "nowords";
- }
- push(@specialchart, ["bug_id", $type, join(',', $params->param('bug_id'))]);
- }
-
# If the user has selected all of either status or resolution, change to
# selecting none. This is functionally equivalent, but quite a lot faster.
# Also, if the status is __open__ or __closed__, translate those
# List of bug numbers.
$cgi->param('bug_id', $searchstring);
$cgi->param('order', 'bugs.bug_id');
- $cgi->param('bugidtype', 'include');
+ $cgi->param('bug_id_type', 'include');
}
}
"longdesc", "longdesc_type", "bug_file_loc",
"bug_file_loc_type", "status_whiteboard",
"status_whiteboard_type", "bug_id",
- "bugidtype", "keywords", "keywords_type",
+ "bug_id_type", "keywords", "keywords_type",
"deadlinefrom", "deadlineto",
"x_axis_field", "y_axis_field", "z_axis_field",
"chart_format", "cumulate", "x_labels_vertical",
<table>
<tr>
<td>
- <select name="bugidtype">
- <option value="include"[% " selected" IF default.bugidtype.0 == "include" %]>Only include</option>
- <option value="exclude"[% " selected" IF default.bugidtype.0 == "exclude" %]>Exclude</option>
+ <select name="bug_id_type">
+ <option value="anyexact"[% " selected" IF default.bug_id_type.0 == "anyexact" %]>Only include</option>
+ <option value="nowords"[% " selected" IF default.bug_id_type.0 == "nowords" %]>Exclude</option>
</select>
<label for="bug_id">[% terms.bugs %] numbered</label>:
</td>