diff options
author | Frédéric Buclin <LpSolit@gmail.com> | 2016-04-05 17:22:25 +0200 |
---|---|---|
committer | Frédéric Buclin <LpSolit@gmail.com> | 2016-04-05 17:22:25 +0200 |
commit | aa5f64e15b5db9ef728032b21a3d85835bec0598 (patch) | |
tree | 5f1f38d7c9ef74930e260baa21dfe7a80d727dcd /Bugzilla | |
parent | Bug 1260027: Document how to compile the documentation on Windows (diff) | |
download | bugzilla-aa5f64e15b5db9ef728032b21a3d85835bec0598.tar.gz bugzilla-aa5f64e15b5db9ef728032b21a3d85835bec0598.tar.bz2 bugzilla-aa5f64e15b5db9ef728032b21a3d85835bec0598.zip |
Bug 1261124: When deleting a component, this component is listed again
r/a=dkl
Diffstat (limited to 'Bugzilla')
-rw-r--r-- | Bugzilla/Component.pm | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/Bugzilla/Component.pm b/Bugzilla/Component.pm index 9bc0a4493..d5a6ece5d 100644 --- a/Bugzilla/Component.pm +++ b/Bugzilla/Component.pm @@ -148,7 +148,8 @@ sub remove_from_db { $dbh->bz_start_transaction(); # Products must have at least one component. - if (scalar(@{$self->product->components}) == 1) { + my @components = @{ $self->product->components }; + if (scalar(@components) == 1) { ThrowUserError('component_is_last', { comp => $self }); } @@ -165,6 +166,8 @@ sub remove_from_db { ThrowUserError('component_has_bugs', {nb => $self->bug_count}); } } + # Update the list of components in the product object. + $self->product->{components} = [grep { $_->id != $self->id } @components]; $self->SUPER::remove_from_db(); $dbh->bz_commit_transaction(); |