From 6c14face26954e4e2b537ba5342c71ae37a6b9b8 Mon Sep 17 00:00:00 2001 From: Frédéric Buclin Date: Tue, 5 Apr 2016 17:21:22 +0200 Subject: Bug 1261124: When deleting a component, this component is listed again r=dkl --- Bugzilla/Component.pm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'Bugzilla') diff --git a/Bugzilla/Component.pm b/Bugzilla/Component.pm index 22c424599..77d07e4c2 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(); -- cgit v1.2.3-24-g4f1b