diff options
| author | Oliver Tappe | 2007-03-26 13:54:52 +0200 |
|---|---|---|
| committer | Oliver Tappe | 2007-03-26 13:54:52 +0200 |
| commit | 991374ded9eb4c29bc4a7f2b805465fc199bf3e5 (patch) | |
| tree | 080808925a2d864f44f2f42e796160dfce6af833 /config-db | |
| parent | * do not list rsync temp folders any longer when showing all exported vendor-... (diff) | |
| download | core-991374ded9eb4c29bc4a7f2b805465fc199bf3e5.tar.gz core-991374ded9eb4c29bc4a7f2b805465fc199bf3e5.tar.xz core-991374ded9eb4c29bc4a7f2b805465fc199bf3e5.zip | |
* --list-systems now shows the names of the respective systems' clients, too
* --list-clients now shows the names of the respective clients' systems, too
* --list-exports now shows the names of the respective exports' vendor-OS, too
git-svn-id: http://svn.openslx.org/svn/openslx/trunk@822 95ad53e4-c205-0410-b2fa-d234c58c8868
Diffstat (limited to 'config-db')
| -rwxr-xr-x | config-db/slxconfig | 63 |
1 files changed, 51 insertions, 12 deletions
diff --git a/config-db/slxconfig b/config-db/slxconfig index 447f6758..e0e88bea 100755 --- a/config-db/slxconfig +++ b/config-db/slxconfig @@ -135,9 +135,12 @@ sub dumpElements print join( '', map { + my $spc = ' 'x25; + my $val = $elem->{$_}; + $val =~ s[\n][\n\t$spc ]g; "\t$_" - .substr(' ',length($_)) - ." = $elem->{$_}\n"; + .substr($spc, length($_)) + ." = $val\n"; } sort keys %$elem ); @@ -155,9 +158,20 @@ sub listClients my $clientData = parseKeyValueArgs(\@clientKeys, 'client', @_); - dumpElements('client', - sort { $a->{name} cmp $b->{name} } - $openslxDB->fetchClientByFilter($clientData)); + + dumpElements( + 'client', + map { + my @sysIDs = $openslxDB->aggregatedSystemIDsOfClient($_); + $_->{systems} + = join "\n", + map { $_->{name} } + $openslxDB->fetchSystemByID(\@sysIDs, 'name'); + $_; + } + sort { $a->{name} cmp $b->{name} } + $openslxDB->fetchClientByFilter($clientData) + ); } sub listExports @@ -168,9 +182,19 @@ sub listExports my $exportData = parseKeyValueArgs(\@exportKeys, 'export', @_); - dumpElements('export', - sort { $a->{name} cmp $b->{name} } - $openslxDB->fetchExportByFilter($exportData)); + dumpElements( + 'export', + map { + my $vendorOS + = $openslxDB->fetchVendorOSByID($_->{vendor_os_id}, 'name'); + if (defined $vendorOS) { + $_->{vendor_os_id} .= " ($vendorOS->{name})"; + } + $_; + } + sort { $a->{name} cmp $b->{name} } + $openslxDB->fetchExportByFilter($exportData) + ); } sub listSystems @@ -181,9 +205,23 @@ sub listSystems my $systemData = parseKeyValueArgs(\@systemKeys, 'system', @_); - dumpElements('system', - sort { $a->{name} cmp $b->{name} } - $openslxDB->fetchSystemByFilter($systemData)); + dumpElements( + 'system', + map { + my @clientIDs = $openslxDB->aggregatedClientIDsOfSystem($_); + $_->{clients} + = join "\n", + map { $_->{name} } + $openslxDB->fetchClientByID(\@clientIDs, 'name'); + my $export = $openslxDB->fetchExportByID($_->{export_id}, 'name'); + if (defined $export) { + $_->{export_id} .= " ($export->{name})"; + } + $_; + } + sort { $a->{name} cmp $b->{name} } + $openslxDB->fetchSystemByFilter($systemData) + ); } sub listVendorOSes @@ -365,7 +403,8 @@ sub changeClientInConfigDB $clientData->{name}); } - if ($clientData->{mac} !~ m[^(?:[[:xdigit:]][[:xdigit:]]:){5}?[[:xdigit:]][[:xdigit:]]$]) { + if (length($clientData->{mac}) + && $clientData->{mac} !~ m[^(?:[[:xdigit:]][[:xdigit:]]:){5}?[[:xdigit:]][[:xdigit:]]$]) { die _tr("unknown MAC-format given, expected something like '01:02:03:04:05:06'!\n"); } |
