diff options
author | Frédéric Buclin <LpSolit@gmail.com> | 2014-02-24 18:14:08 +0100 |
---|---|---|
committer | Frédéric Buclin <LpSolit@gmail.com> | 2014-02-24 18:14:08 +0100 |
commit | ef925d6942a3462a9c1d52406a6145b5e31faefb (patch) | |
tree | 47f6c83ba826cb37e6b318cd5362e6f3b61e732e /Bugzilla/Classification.pm | |
parent | 97cd64dac9b79d5cda2c0f4b6310c52ac3a2b169 (diff) | |
download | bugzilla-ef925d6942a3462a9c1d52406a6145b5e31faefb.tar.gz bugzilla-ef925d6942a3462a9c1d52406a6145b5e31faefb.tar.xz |
Bug 975896: Bugzilla crashes when editing a flag type which is not specifically requestable
r/a=glob
Diffstat (limited to 'Bugzilla/Classification.pm')
-rw-r--r-- | Bugzilla/Classification.pm | 15 |
1 files changed, 8 insertions, 7 deletions
diff --git a/Bugzilla/Classification.pm b/Bugzilla/Classification.pm index 5d488e3b9..6e88bdc63 100644 --- a/Bugzilla/Classification.pm +++ b/Bugzilla/Classification.pm @@ -48,6 +48,7 @@ use constant VALIDATORS => { ############################### #### Constructors ##### ############################### + sub remove_from_db { my $self = shift; my $dbh = Bugzilla->dbh; @@ -57,13 +58,13 @@ sub remove_from_db { $dbh->bz_start_transaction(); # Reclassify products to the default classification, if needed. - my @product_ids = $dbh->selectrow_array( - "SELECT id FROM products WHERE classification_id = ?", - undef, $self->id); - if (@product_ids) { - $dbh->do("UPDATE products SET classification_id = 1 WHERE " . - $dbh->sql_in('id', \@product_ids)); - foreach my $id (@product_ids) { + my $product_ids = $dbh->selectcol_arrayref( + 'SELECT id FROM products WHERE classification_id = ?', undef, $self->id); + + if (@$product_ids) { + $dbh->do('UPDATE products SET classification_id = 1 WHERE ' + . $dbh->sql_in('id', $product_ids)); + foreach my $id (@$product_ids) { Bugzilla->memcached->clear({ table => 'products', id => $id }); } } |