X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/85d9159e944df2ea79b5a32f19fa61531053afda..0b34e29fb04ad9ac9912f67b767f9f401700ca97:/SL/User.pm diff --git a/SL/User.pm b/SL/User.pm index 42622f8fd..7a8d303e5 100644 --- a/SL/User.pm +++ b/SL/User.pm @@ -46,6 +46,7 @@ use SL::DBUtils; use SL::Iconv; use SL::Inifile; use SL::System::InstallationLock; +use SL::DefaultManager; use strict; @@ -124,10 +125,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 +143,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(); } @@ -283,11 +284,18 @@ sub dbcreate { # create the tables $dbupdater->process_query($dbh, "sql/lx-office.sql"); + # process update-scripts needed before 1st user-login + $self->create_schema_info_table($form, $dbh); + $dbupdater->process_query($dbh, "sql/Pg-upgrade2/defaults_add_precision.sql"); + $dbh->do("INSERT INTO schema_info (tag, login) VALUES ('defaults_add_precision', 'admin')"); + $dbupdater->process_query($dbh, "sql/Pg-upgrade2/defaults_add_country_mode.sql"); + $dbh->do("INSERT INTO schema_info (tag, login) VALUES ('defaults_add_country_mode', 'admin')"); + # load chart of accounts $dbupdater->process_query($dbh, "sql/$form->{chart}-chart.sql"); - $query = qq|UPDATE defaults SET coa = ?, accounting_method = ?, profit_determination = ?, inventory_system = ?, curr = ?|; - do_query($form, $dbh, $query, map { $form->{$_} } qw(chart accounting_method profit_determination inventory_system defaultcurrency)); + $query = qq|UPDATE defaults SET coa = ?, accounting_method = ?, profit_determination = ?, inventory_system = ?, curr = ?, precision = ?, country_mode = ?|; + do_query($form, $dbh, $query, map { $form->{$_} } qw(chart accounting_method profit_determination inventory_system defaultcurrency precision countrymode)); $dbh->disconnect; @@ -412,4 +420,19 @@ sub data { +{ %{ $_[0] } } } +sub get_default_myconfig { + my ($self_or_class, %user_config) = @_; + my $defaults = SL::DefaultManager->new($::lx_office_conf{system}->{default_manager}); + + return ( + countrycode => $defaults->language('de'), + css_path => 'css', # Needed for menunew, see SL::Layout::Base::get_stylesheet_for_user + dateformat => $defaults->dateformat('dd.mm.yy'), + numberformat => $defaults->numberformat('1.000,00'), + stylesheet => 'kivitendo.css', + timeformat => $defaults->timeformat('hh:mm'), + %user_config, + ); +} + 1;