From: lpsolit%gmail.com <> Date: Wed, 14 May 2008 02:44:30 +0000 (+0000) Subject: Bug 433514: Renaming a saved search with the same name of different case causes db... X-Git-Tag: bugzilla-3.0.5~25 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=ec4f69d3cc66a2ab09f889840b133c197210cfc7;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 9162276d45..4afbbcdb69 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; } @@ -188,6 +190,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 749bce3d2c..5e6936b1f4 100755 --- a/buglist.cgi +++ b/buglist.cgi @@ -301,9 +301,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();