X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=SL%2FUser.pm;h=742cb3a2aacabc166174c1e11675320a9ede3b96;hb=7349649bae8d80eabfd253592d59f8455f9ef6b0;hp=fe2152ecea8086317285a7c83570f8257a8509bf;hpb=1e67e523b192b0284630975dccb6ece2a897d9aa;p=kivitendo-erp.git diff --git a/SL/User.pm b/SL/User.pm index fe2152ece..742cb3a2a 100644 --- a/SL/User.pm +++ b/SL/User.pm @@ -133,6 +133,11 @@ sub login { return LOGIN_OK(); } + # Store the fact that we're applying database upgrades at the + # moment. That way functions called from the layout modules that may + # require updated tables can chose only to use basic features. + $::request->applying_database_upgrades(1); + $form->{$_} = $::auth->client->{$_} for qw(dbname dbhost dbport dbuser dbpasswd); $form->{$_} = $myconfig{$_} for qw(datestyle); @@ -144,7 +149,7 @@ sub login { if ($form->{"show_dbupdate_warning"}) { print $form->parse_html_template("dbupgrade/warning", { unapplied_scripts => \@unapplied_scripts }); - ::end_of_request(); + $::dispatcher->end_request; } # update the tables @@ -159,7 +164,7 @@ sub login { # If $self->dbupdate2 returns than this means all upgrade scripts # have been applied successfully, none required user # interaction. Otherwise the deeper layers would have called - # ::end_of_request() already, and return would not have returned to + # $::dispatcher->end_request already, and return would not have returned to # us. Therefore we can now use RDBO instances because their supposed # table structures do match the actual structures. So let's ensure # that the "employee" table contains the appropriate entries for all @@ -307,13 +312,29 @@ sub dbcreate { $curr = selectfirst_hashref_query($form, $dbh, $query, $form->{defaultcurrency}); } - $query = qq|UPDATE defaults SET accounting_method = ?, profit_determination = ?, inventory_system = ?, precision = ?, currency_id = ?|; + $query = qq|UPDATE defaults SET + accounting_method = ?, + profit_determination = ?, + inventory_system = ?, + precision = ?, + currency_id = ?, + feature_balance = ?, + feature_datev = ?, + feature_erfolgsrechnung = ?, + feature_eurechnung = ?, + feature_ustva = ? + |; do_query($form, $dbh, $query, $form->{accounting_method}, $form->{profit_determination}, $form->{inventory_system}, $form->parse_amount(\%::myconfig, $form->{precision_as_number}), $curr->{id}, + $form->{feature_balance}, + $form->{feature_datev}, + $form->{feature_erfolgsrechnung}, + $form->{feature_eurechnung}, + $form->{feature_ustva} ); $dbh->disconnect;