X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/ce651068ffd6d20ef408dbc45d8a04a69a3dc3ed..a47155b8430974b25bea606b068cd6ed4f067757:/SL/User.pm diff --git a/SL/User.pm b/SL/User.pm index 8bb9b997b..f077eefe8 100644 --- a/SL/User.pm +++ b/SL/User.pm @@ -124,10 +124,10 @@ sub login { $self->create_schema_info_table($form, $dbh); my $dbupdater = SL::DBUpgrade2->new(form => $form)->parse_dbupdate_controls; - my $update_available = $dbupdater->update2_available($dbh); + my @unapplied_scripts = $dbupdater->unapplied_upgrade_scripts($dbh); $dbh->disconnect; - if (!$update_available) { + if (!@unapplied_scripts) { SL::DB::Manager::Employee->update_entries_for_authorized_users; return LOGIN_OK(); } @@ -142,7 +142,7 @@ sub login { $form->{dbupdate} = "db" . $::auth->client->{dbname}; if ($form->{"show_dbupdate_warning"}) { - print $form->parse_html_template("dbupgrade/warning"); + print $form->parse_html_template("dbupgrade/warning", { unapplied_scripts => \@unapplied_scripts }); ::end_of_request(); } @@ -384,6 +384,9 @@ sub dbupdate2 { &dbconnect_vars($form, $db); + # Flush potentially held database locks. + $form->get_standard_dbh->commit; + my $dbh = SL::DBConnect->connect($form->{dbconnect}, $form->{dbuser}, $form->{dbpasswd}, SL::DBConnect->get_options) or $form->dberror; $dbh->do($form->{dboptions}) if ($form->{dboptions});