X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=SL%2FUser.pm;h=f077eefe8d399571dd616c2044efb77c9d452d8a;hb=075499b035a29c2144f8fa066d65575b4bde755c;hp=8bb9b997bd68475b7518ad4fe1b9fa2e86a165dc;hpb=f6b3cfa664cccb1acc8444a824443498f15b7bb2;p=kivitendo-erp.git 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});