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 {
my $old_sql = $old;
$old_sql =~ s/([_\%])/\\$1/g;
my $table = $class->DB_TABLE;
my $id_field = $class->ID_FIELD;
my $dbh = Bugzilla->dbh;
$dbh->bz_start_transaction();
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\%") };
foreach my $id (keys %queries) {
my $query = $queries{$id};
......@@ -198,7 +201,7 @@ sub rename_field_value {
# 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;
}
$dbh->do("UPDATE namedqueries SET query = ? WHERE id = ?",
$dbh->do("UPDATE $table SET query = ? WHERE $id_field = ?",
undef, $query, $id);
}
......
......@@ -34,6 +34,11 @@ package Bugzilla::Series;
use Bugzilla::Error;
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 {
my $invocant = shift;
my $class = ref($invocant) || $invocant;
......
......@@ -102,6 +102,8 @@ foreach my $pair (@translation) {
}
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();
......
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