diff options
author | Oliver Tappe | 2008-01-27 15:41:30 +0100 |
---|---|---|
committer | Oliver Tappe | 2008-01-27 15:41:30 +0100 |
commit | c2fc766953ea372540f01a9b24222a2a202fbf88 (patch) | |
tree | 339d66f6aadc57688483a905c8fc013fb4820d72 /config-db | |
parent | * renamed all plugins to lowercase in order to be consistent with (diff) | |
download | core-c2fc766953ea372540f01a9b24222a2a202fbf88.tar.gz core-c2fc766953ea372540f01a9b24222a2a202fbf88.tar.xz core-c2fc766953ea372540f01a9b24222a2a202fbf88.zip |
* 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
Diffstat (limited to 'config-db')
-rw-r--r-- | config-db/OpenSLX/ConfigDB.pm | 9 |
1 files changed, 9 insertions, 0 deletions
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); } |