Commit 609806d1 authored by Max Kanat-Alexander's avatar Max Kanat-Alexander

Bug 577089: Make convert-workflow fix the query values for series

r=LpSolit, a=LpSolit
parent ab04fe6c
...@@ -182,11 +182,14 @@ sub rename_field_value { ...@@ -182,11 +182,14 @@ sub rename_field_value {
my $old_sql = $old; my $old_sql = $old;
$old_sql =~ s/([_\%])/\\$1/g; $old_sql =~ s/([_\%])/\\$1/g;
my $table = $class->DB_TABLE;
my $id_field = $class->ID_FIELD;
my $dbh = Bugzilla->dbh; my $dbh = Bugzilla->dbh;
$dbh->bz_start_transaction(); $dbh->bz_start_transaction();
my %queries = @{ $dbh->selectcol_arrayref( my %queries = @{ $dbh->selectcol_arrayref(
"SELECT id, query FROM namedqueries WHERE query LIKE ?", "SELECT $id_field, query FROM $table WHERE query LIKE ?",
{Columns=>[1,2]}, "\%$old_sql\%") }; {Columns=>[1,2]}, "\%$old_sql\%") };
foreach my $id (keys %queries) { foreach my $id (keys %queries) {
my $query = $queries{$id}; my $query = $queries{$id};
...@@ -198,7 +201,7 @@ sub rename_field_value { ...@@ -198,7 +201,7 @@ sub rename_field_value {
# boolean charts. Users will have to fix those themselves. # boolean charts. Users will have to fix those themselves.
$query =~ s/\bvalue\Q$chart_id\E=\Q$old\E\b/value$chart_id=$new/i; $query =~ s/\bvalue\Q$chart_id\E=\Q$old\E\b/value$chart_id=$new/i;
} }
$dbh->do("UPDATE namedqueries SET query = ? WHERE id = ?", $dbh->do("UPDATE $table SET query = ? WHERE $id_field = ?",
undef, $query, $id); undef, $query, $id);
} }
......
...@@ -34,6 +34,11 @@ package Bugzilla::Series; ...@@ -34,6 +34,11 @@ package Bugzilla::Series;
use Bugzilla::Error; use Bugzilla::Error;
use Bugzilla::Util; use Bugzilla::Util;
# This is a hack so that we can re-use the rename_field_value
# code from Bugzilla::Search::Saved.
use constant DB_TABLE => 'series';
use constant ID_FIELD => 'series_id';
sub new { sub new {
my $invocant = shift; my $invocant = shift;
my $class = ref($invocant) || $invocant; my $class = ref($invocant) || $invocant;
......
...@@ -102,6 +102,8 @@ foreach my $pair (@translation) { ...@@ -102,6 +102,8 @@ foreach my $pair (@translation) {
} }
Bugzilla::Search::Saved->rename_field_value('bug_status', $from, $to); Bugzilla::Search::Saved->rename_field_value('bug_status', $from, $to);
Bugzilla::Series->Bugzilla::Search::Saved::rename_field_value('bug_status',
$from, $to);
} }
$dbh->bz_commit_transaction(); $dbh->bz_commit_transaction();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment