Vorschläge für Kontoauszüge verbessern, fall: remote_account_number
[kivitendo-erp.git] / SL / DB / CsvImportProfile.pm
index ea7b4fe..b816bed 100644 (file)
@@ -4,7 +4,7 @@ use strict;
 
 use List::Util qw(first);
 
-use SL::DB::MetaSetup::CsvImportProfile;
+require SL::DB::MetaSetup::CsvImportProfile;
 
 __PACKAGE__->meta->add_relationship(
   settings => {
@@ -38,25 +38,10 @@ sub set_defaults {
                        escape_char  => '"',
                        charset      => 'CP850',
                        numberformat => $::myconfig{numberformat},
+                       dateformat   => $::myconfig{dateformat},
                        duplicates   => 'no_check',
                       );
 
-  if ($self->type eq 'parts') {
-    my $bugru = SL::DB::Manager::Buchungsgruppe->find_by(description => { like => 'Standard%19%' });
-
-    $self->_set_defaults(sellprice_places          => 2,
-                         sellprice_adjustment      => 0,
-                         sellprice_adjustment_type => 'percent',
-                         article_number_policy     => 'update_prices',
-                         shoparticle_if_missing    => '0',
-                         parts_type                => 'part',
-                         default_buchungsgruppe    => ($bugru ? $bugru->id : undef),
-                         apply_buchungsgruppe      => 'all',
-                        );
-  } else {
-    $self->_set_defaults(table => 'customer');
-  }
-
   return $self;
 }
 
@@ -94,6 +79,24 @@ sub _set_defaults {
   return $self;
 }
 
+sub clone_and_reset_deep {
+  my ($self) = @_;
+
+  my $clone = $self->clone_and_reset;
+  $clone->settings(map { $_->clone_and_reset } $self->settings);
+  $clone->is_default(0);
+  $clone->name('');
+  return $clone;
+}
+
+sub flatten {
+  my ($self) = @_;
+
+  return map {
+    $_->key => $_->value
+  } $self->settings;
+}
+
 #
 # hooks
 #