Reapply "country_mode entfernt."
authorRolf Fluehmann <rolf.fluehmann@revamp-it.ch>
Mon, 4 Apr 2016 11:47:46 +0000 (13:47 +0200)
committerSven Schöling <s.schoeling@linet-services.de>
Mon, 4 Apr 2016 11:49:39 +0000 (13:49 +0200)
Mit mit neuem Autor neu.

SL/Controller/Admin.pm
SL/Controller/ClientConfig.pm
SL/DB/MetaSetup/Default.pm
SL/DefaultManager.pm
SL/User.pm
sql/Pg-upgrade2/defaults_add_country_mode.sql [deleted file]
templates/webpages/admin/create_dataset.html

index 634dd27..ab4e24f 100644 (file)
@@ -21,7 +21,7 @@ use SL::Layout::AdminLogin;
 use Rose::Object::MakeMethods::Generic
 (
   'scalar --get_set_init' => [ qw(client user group printer db_cfg is_locked
-                                  all_dateformats all_numberformats all_countrycodes all_countrymodes all_stylesheets all_menustyles all_clients all_groups all_users all_rights all_printers
+                                  all_dateformats all_numberformats all_countrycodes all_stylesheets all_menustyles all_clients all_groups all_users all_rights all_printers
                                   all_dbsources all_used_dbsources all_accounting_methods all_inventory_systems all_profit_determinations all_charts) ],
 );
 
@@ -552,11 +552,6 @@ sub init_all_countrycodes {
   return [ map { id => $_, title => $cc{$_} }, sort { $cc{$a} cmp $cc{$b} } keys %cc ];
 }
 
-sub init_all_countrymodes {
-  my %cm = SL::DefaultManager->country_modes;
-  return [ map { id => $_, title => "$_ ($cm{$_})" }, sort keys %cm ];
-}
-
 #
 # filters
 #
index bd95e3b..4ce4faa 100644 (file)
@@ -30,7 +30,6 @@ sub action_edit {
   my ($self, %params) = @_;
 
   $::form->{use_templates} = $self->defaults->templates ? 'existing' : 'new';
-  $::form->{country_mode} = $self->defaults->country_mode;
   $self->edit_form;
 }
 
index 88ac138..96c4b0f 100644 (file)
@@ -37,7 +37,6 @@ __PACKAGE__->meta->columns(
   customer_hourly_rate                      => { type => 'numeric', precision => 8, scale => 2 },
   customer_projects_only_in_sales           => { type => 'boolean', default => 'false', not_null => 1 },
   customernumber                            => { type => 'text' },
-  country_mode                              => { type => 'text', default => 'DE', not_null => 1 },
   datev_check_on_ap_transaction             => { type => 'boolean', default => 'true' },
   datev_check_on_ar_transaction             => { type => 'boolean', default => 'true' },
   datev_check_on_gl_transaction             => { type => 'boolean', default => 'true' },
index fc9b21a..b9940c0 100644 (file)
@@ -34,14 +34,6 @@ sub _get {
   }
 }
 
-sub country_modes {
-  my ($self) = @_;
-  return (
-    'CH' => 'Switzerland',
-    'DE' => 'Germany',
-  )
-}
-
 sub AUTOLOAD {
   our $AUTOLOAD;
 
index 25a903a..37e1a9b 100644 (file)
@@ -46,6 +46,7 @@ use SL::DBUtils;
 use SL::Iconv;
 use SL::Inifile;
 use SL::System::InstallationLock;
+use SL::DefaultManager;
 
 use strict;
 
@@ -291,12 +292,34 @@ sub dbcreate {
   my $dbupdater = SL::DBUpgrade2->new(form => $form, return_on_error => 1, silent => 1)->parse_dbupdate_controls;
   # create the tables
   $dbupdater->process_query($dbh, "sql/lx-office.sql");
-
-  # 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 = ?|;
+  do_query($form, $dbh, $query, map { $form->{$_} } qw(chart));
+
+  $dbh->disconnect;
+
+  # update new database
+  $self->dbupdate2(form => $form, updater => $dbupdater, database => $form->{db}, silent => 1);
+
+  $dbh = SL::DBConnect->connect($form->{dbconnect}, $form->{dbuser}, $form->{dbpasswd}, SL::DBConnect->get_options)
+    or $form->dberror;
+
+  $query = "SELECT * FROM currencies WHERE name = ?";
+  my $curr = selectfirst_hashref_query($form, $dbh, $query, $form->{defaultcurrency});
+  if (!$curr->{id}) {
+    do_query($form, $dbh, "INSERT INTO currencies (name) VALUES (?)", $form->{defaultcurrency});
+    $curr = selectfirst_hashref_query($form, $dbh, $query, $form->{defaultcurrency});
+  }
+
+  $query = qq|UPDATE defaults SET accounting_method = ?, profit_determination = ?, inventory_system = ?, precision = ?, currency_id = ?|;
+  do_query($form, $dbh, $query,
+    $form->{accounting_method},
+    $form->{profit_determination},
+    $form->{inventory_system},
+    $form->parse_amount(\%::myconfig, $form->{precision_as_number}),
+    $curr->{id},
+  );
 
   $dbh->disconnect;
 
@@ -424,14 +447,15 @@ sub data {
 
 sub get_default_myconfig {
   my ($self_or_class, %user_config) = @_;
+  my $defaults = SL::DefaultManager->new($::lx_office_conf{system}->{default_manager});
 
   return (
-    countrycode  => 'de',
+    countrycode  => $defaults->language('de'),
     css_path     => 'css',      # Needed for menunew, see SL::Layout::Base::get_stylesheet_for_user
-    dateformat   => 'dd.mm.yy',
-    numberformat => '1.000,00',
-    stylesheet   => 'kivitendo.css',
-    timeformat   => 'hh:mm',
+    dateformat   => $defaults->dateformat('dd.mm.yy'),
+    numberformat => $defaults->numberformat('1.000,00'),
+    stylesheet   => $defaults->stylesheet('kivitendo.css'),
+    timeformat   => $defaults->timeformat('hh:mm'),
     %user_config,
   );
 }
diff --git a/sql/Pg-upgrade2/defaults_add_country_mode.sql b/sql/Pg-upgrade2/defaults_add_country_mode.sql
deleted file mode 100644 (file)
index d6495e1..0000000
+++ /dev/null
@@ -1,5 +0,0 @@
--- @tag: defaults_add_country_mode
--- @description: adds new column 'country_mode' (ISO-3166) in table defaults used for erp.ini
--- @depends: release_3_2_0
-ALTER TABLE defaults ADD COLUMN country_mode TEXT NOT NULL DEFAULT('DE');
-
index 00bdf0b..741a941 100644 (file)
    <td>[% L.input_tag('db', FORM.db, class="initial_focus") %]</td>
   </tr>
 
-  <tr>
-   <th valign="top" align="right" nowrap>[% LxERP.t8('Country') %]</th>
-   <td>[% L.select_tag('countrymode', SELF.all_countrymodes, title_key="title", default=(FORM.countrymode), onchange='select_country_defaults(this.value)') %]</td>
-  </tr>
-
   <tr>
    <td colspan="1"> </td>
    <td><hr size="1" noshade></td>