From 79787734395e3180f83f6f0edfa1718dd4f250cf Mon Sep 17 00:00:00 2001 From: Oliver Tappe Date: Fri, 11 Jan 2008 14:16:50 +0000 Subject: * fixed bug where changing an attribute of a client or system would drop all other (pre-existing) attributes * now detailed info about the active plugins are shown when listing a system * the default attributes of the plugins are now synchronized against the default system whenever a plugin is installed into a vendor-OS (otherwise, the respective plugin would not be activated automatically) git-svn-id: http://svn.openslx.org/svn/openslx/trunk@1464 95ad53e4-c205-0410-b2fa-d234c58c8868 --- config-db/OpenSLX/ConfigDB.pm | 3 +++ config-db/OpenSLX/DBSchema.pm | 6 +++--- 2 files changed, 6 insertions(+), 3 deletions(-) (limited to 'config-db/OpenSLX') diff --git a/config-db/OpenSLX/ConfigDB.pm b/config-db/OpenSLX/ConfigDB.pm index 2acffa91..e8d0f560 100644 --- a/config-db/OpenSLX/ConfigDB.pm +++ b/config-db/OpenSLX/ConfigDB.pm @@ -1091,6 +1091,9 @@ sub addInstalledPlugin my $vendorOSID = shift; my $pluginName = shift; + # make sure the attributes of this plugin are available via default system + $self->{'db-schema'}->synchronizeAttributesWithDefaultSystem($self); + return $self->{'meta-db'}->addInstalledPlugin($vendorOSID, $pluginName); } diff --git a/config-db/OpenSLX/DBSchema.pm b/config-db/OpenSLX/DBSchema.pm index e533fe56..195649b9 100644 --- a/config-db/OpenSLX/DBSchema.pm +++ b/config-db/OpenSLX/DBSchema.pm @@ -271,7 +271,7 @@ sub checkAndUpgradeDBSchemaIfNecessary ); } $metaDB->schemaSetDBVersion($DbSchema->{version}); - $self->_synchronizeAttributesWithDefaultSystem($configDB); + $self->synchronizeAttributesWithDefaultSystem($configDB); vlog(1, _tr('DB has been created successfully')); } elsif ($currVersion < $DbSchema->{version}) { vlog( @@ -282,7 +282,7 @@ sub checkAndUpgradeDBSchemaIfNecessary ) ); $self->_schemaUpgradeDBFrom($metaDB, $currVersion); - $self->_synchronizeAttributesWithDefaultSystem($configDB); + $self->synchronizeAttributesWithDefaultSystem($configDB); vlog(1, _tr('upgrade done')); } else { vlog(1, _tr('DB matches current schema version (%s)', $currVersion)); @@ -301,7 +301,7 @@ sub getColumnsOfTable @{$DbSchema->{tables}->{$tableName}->{cols}}; } -sub _synchronizeAttributesWithDefaultSystem +sub synchronizeAttributesWithDefaultSystem { my $self = shift; my $configDB = shift; -- cgit v1.2.3-55-g7522