use SL::Iconv;
use SL::Inifile;
use SL::System::InstallationLock;
+use SL::DefaultManager;
use strict;
$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();
}
$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();
}
# 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;
&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});
+{ %{ $_[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;