From c2fc766953ea372540f01a9b24222a2a202fbf88 Mon Sep 17 00:00:00 2001 From: Oliver Tappe Date: Sun, 27 Jan 2008 14:41:30 +0000 Subject: * fixed bug that left orphaned installed_plugins when removing a vendor-OS git-svn-id: http://svn.openslx.org/svn/openslx/trunk@1499 95ad53e4-c205-0410-b2fa-d234c58c8868 --- config-db/OpenSLX/ConfigDB.pm | 9 +++++++++ 1 file changed, 9 insertions(+) (limited to 'config-db') diff --git a/config-db/OpenSLX/ConfigDB.pm b/config-db/OpenSLX/ConfigDB.pm index 8ec9983b..9d876880 100644 --- a/config-db/OpenSLX/ConfigDB.pm +++ b/config-db/OpenSLX/ConfigDB.pm @@ -1029,6 +1029,15 @@ sub removeVendorOS my $self = shift; my $vendorOSIDs = _aref(shift); + # drop all installed plugins before removing the vendor-OS + foreach my $vendorOSID (@$vendorOSIDs) { + my @installedPlugins + = $self->{'meta-db'}->fetchInstalledPlugins($vendorOSID); + foreach my $plugin (@installedPlugins) { + my $pluginName = $plugin->{plugin_name}; + $self->{'meta-db'}->removeInstalledPlugin($vendorOSID, $pluginName); + } + } return $self->{'meta-db'}->removeVendorOS($vendorOSIDs); } -- cgit v1.2.3-55-g7522