diff options
Diffstat (limited to 'ldap/admin/src/scripts/setup-ds.pl.in')
-rw-r--r-- | ldap/admin/src/scripts/setup-ds.pl.in | 47 |
1 files changed, 37 insertions, 10 deletions
diff --git a/ldap/admin/src/scripts/setup-ds.pl.in b/ldap/admin/src/scripts/setup-ds.pl.in index 7fdc9772..aad6bfc8 100644 --- a/ldap/admin/src/scripts/setup-ds.pl.in +++ b/ldap/admin/src/scripts/setup-ds.pl.in @@ -48,6 +48,7 @@ use Resource; use DialogManager; use Util; use DSCreate; +use DSUpdate; my $res = new Resource("@propertydir@/setup-ds.res"); @@ -56,11 +57,16 @@ my $setup = new Setup($res); if (!$setup->{silent}) { my $dialogmgr = new DialogManager($setup, $res, $TYPICAL); - require SetupDialogs; - require DSDialogs; - - my @dialogs = SetupDialogs->getDialogs(); - push @dialogs, DSDialogs->getDialogs(); + my @dialogs; + if ($setup->{update}) { + require DSUpdateDialogs; + push @dialogs, DSUpdateDialogs->getDialogs(); + } else { + require SetupDialogs; + require DSDialogs; + push @dialogs, SetupDialogs->getDialogs(); + push @dialogs, DSDialogs->getDialogs(); + } $dialogmgr->addDialog(@dialogs); @@ -71,15 +77,29 @@ if (!$setup->{silent}) { $setup->{inf}->write(); } -my @errs = createDSInstance($setup->{inf}); +my @errs; +if ($setup->{update}) { + @errs = updateDS($setup); +} else { + @errs = createDSInstance($setup->{inf}); +} + if (@errs) { $setup->msg(@errs); - $setup->msg($FATAL, 'error_creating_dsinstance', - $setup->{inf}->{slapd}->{ServerIdentifier}); + if ($setup->{update}) { + $setup->msg($FATAL, 'error_updating'); + } else { + $setup->msg($FATAL, 'error_creating_dsinstance', + $setup->{inf}->{slapd}->{ServerIdentifier}); + } $setup->doExit(1); } else { - $setup->msg('created_dsinstance', - $setup->{inf}->{slapd}->{ServerIdentifier}); + if ($setup->{update}) { + $setup->msg('update_successful'); + } else { + $setup->msg('created_dsinstance', + $setup->{inf}->{slapd}->{ServerIdentifier}); + } } $setup->doExit(0); @@ -91,3 +111,10 @@ END { } } } + +# emacs settings +# Local Variables: +# mode:perl +# indent-tabs-mode: nil +# tab-width: 4 +# End: |