From: lpsolit%gmail.com <> Date: Wed, 14 May 2008 02:41:50 +0000 (+0000) Subject: Bug 433514: Renaming a saved search with the same name of different case causes db... X-Git-Tag: bugzilla-3.3~12 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=c9406294e5e843aa311db65a49e1d8def6356c13;p=thirdparty%2Fbugzilla.git Bug 433514: Renaming a saved search with the same name of different case causes db error - Patch by Frédéric Buclin r/a=mkanat --- diff --git a/Bugzilla/Search/Saved.pm b/Bugzilla/Search/Saved.pm index 3484eb3bce..9aa27714d3 100644 --- a/Bugzilla/Search/Saved.pm +++ b/Bugzilla/Search/Saved.pm @@ -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]); } diff --git a/buglist.cgi b/buglist.cgi index c40e65aed3..0cf659c3dc 100755 --- a/buglist.cgi +++ b/buglist.cgi @@ -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();