arap.pl: merge conflict hatte broken Pod hinterlassen.
[kivitendo-erp.git] / bin / mozilla / admin.pl
index 3a5e810..eac4d08 100755 (executable)
@@ -43,6 +43,7 @@ use Sys::Hostname;
 
 use SL::Auth;
 use SL::Form;
+use SL::Iconv;
 use SL::Mailer;
 use SL::User;
 use SL::Common;
@@ -83,14 +84,11 @@ sub run {
       if ($auth->session_tables_present()) {
         $::auth->set_session_value('rpw', $::form->{rpw});
         $::auth->create_or_refresh_session();
+        _apply_dbupgrade_scripts();
       }
+
       call_sub($locale->findsub($form->{action}));
     }
-  } elsif ($auth->authenticate_root($form->{rpw}, 0) == $auth->OK()) {
-
-    $auth->create_or_refresh_session() if ($auth->session_tables_present());
-
-    login();
   } else {
     # if there are no drivers bail out
     $form->error($locale->text('No Database Drivers available!'))
@@ -364,8 +362,12 @@ sub add_user {
     "dateformat"   => "dd.mm.yy",
     "stylesheet"   => "lx-office-erp.css",
     "menustyle"    => "old",
+    dbport         => $::auth->{DB_config}->{port} || 5432,
+    dbuser         => $::auth->{DB_config}->{user} || 'lxoffice',
+    dbhost         => $::auth->{DB_config}->{host} || 'localhost',
   };
 
+
   edit_user_form($myconfig);
 }
 
@@ -651,10 +653,10 @@ sub dbselect_source {
   my $form           = $main::form;
   my $locale         = $main::locale;
 
-  $form->{dbport}    = '5432';
-  $form->{dbuser}    = 'lxoffice';
+  $form->{dbport}    = $::auth->{DB_config}->{port} || 5432;
+  $form->{dbuser}    = $::auth->{DB_config}->{user} || 'lxoffice';
   $form->{dbdefault} = 'template1';
-  $form->{dbhost}    = 'localhost';
+  $form->{dbhost}    = $::auth->{DB_config}->{host} || 'localhost';
 
   $form->{title}     = "Lx-Office ERP / " . $locale->text('Database Administration');
 
@@ -724,15 +726,13 @@ sub dbupdate {
 
     map { $form->{$_} = $form->{"${_}_${i}"} } qw(dbname dbdriver dbhost dbport dbuser dbpasswd);
 
-    my $controls = parse_dbupdate_controls($form, $form->{dbdriver});
-
     print $form->parse_html_template("admin/dbupgrade_header");
 
     $form->{dbupdate}        = $form->{dbname};
     $form->{$form->{dbname}} = 1;
 
     User->dbupdate($form);
-    User->dbupdate2($form, $controls);
+    User->dbupdate2($form, SL::DBUpgrade2->new(form => $form, dbdriver => $form->{dbdriver})->parse_dbupdate_controls);
 
     print $form->parse_html_template("admin/dbupgrade_footer");
   }
@@ -1169,4 +1169,8 @@ sub dispatcher {
   $form->error($locale->text('No action defined.'));
 }
 
+sub _apply_dbupgrade_scripts {
+  ::end_of_request() if SL::DBUpgrade2->new(form => $::form, dbdriver => 'Pg', auth => 1)->apply_admin_dbupgrade_scripts(1);
+}
+
 1;