Bug 433514: Renaming a saved search with the same name of different case causes db error - Patch by Frédéric Buclin <LpSolit@gmail.com> r/a=mkanat

git-svn-id: svn://10.0.0.236/trunk@251586 18797224-902f-48f8-a5cc-f745e15eee43
This commit is contained in:
lpsolit%gmail.com
2008-05-13 21:44:31 +00:00
parent 31170b6bd0
commit c2acb47e40
2 changed files with 6 additions and 2 deletions

View File

@@ -55,7 +55,7 @@ use constant VALIDATORS => {
link_in_footer => \&_check_link_in_footer,
};
use constant UPDATE_COLUMNS => qw(query query_type);
use constant UPDATE_COLUMNS => qw(name query query_type);
##############
# Validators #
@@ -79,6 +79,8 @@ sub _check_query {
$query || ThrowUserError("buglist_parameters_required");
my $cgi = new Bugzilla::CGI($query);
$cgi->clean_search_url;
# Don't store the query name as a parameter.
$cgi->delete('known_name');
return $cgi->query_string;
}
@@ -204,6 +206,7 @@ sub user {
# Mutators #
############
sub set_name { $_[0]->set('name', $_[1]); }
sub set_url { $_[0]->set('query', $_[1]); }
sub set_query_type { $_[0]->set('query_type', $_[1]); }

View File

@@ -298,9 +298,10 @@ sub InsertNamedQuery {
my $dbh = Bugzilla->dbh;
$query_name = trim($query_name);
my ($query_obj) = grep {$_->name eq $query_name} @{Bugzilla->user->queries};
my ($query_obj) = grep {lc($_->name) eq lc($query_name)} @{Bugzilla->user->queries};
if ($query_obj) {
$query_obj->set_name($query_name);
$query_obj->set_url($query);
$query_obj->set_query_type($query_type);
$query_obj->update();