Typos in LinkedRecords Dokumentation
[kivitendo-erp.git] / SL / DB / CsvImportProfile.pm
index e0dfe16..1902a51 100644 (file)
@@ -4,7 +4,8 @@ use strict;
 
 use List::Util qw(first);
 
-use SL::DB::MetaSetup::CsvImportProfile;
+require SL::DB::MetaSetup::CsvImportProfile;
+use Rose::DB::Object::Helpers qw(clone_and_reset);
 
 __PACKAGE__->meta->add_relationship(
   settings => {
@@ -48,12 +49,16 @@ sub set_defaults {
                          sellprice_adjustment      => 0,
                          sellprice_adjustment_type => 'percent',
                          article_number_policy     => 'update_prices',
-                         part_group_sep_char       => '!',
                          shoparticle_if_missing    => '0',
                          parts_type                => 'part',
                          default_buchungsgruppe    => ($bugru ? $bugru->id : undef),
                          apply_buchungsgruppe      => 'all',
                         );
+  } elsif ($self->type eq 'orders') {
+    $self->_set_defaults(order_column    => $::locale->text('Order'),
+                         item_column     => $::locale->text('OrderItem'),
+                         max_amount_diff => 0.02,
+                        );
   } else {
     $self->_set_defaults(table => 'customer');
   }
@@ -95,6 +100,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->name('');
+
+  return $clone;
+}
+
+sub flatten {
+  my ($self) = @_;
+
+  return map {
+    $_->key => $_->value
+  } $self->settings;
+}
+
 #
 # hooks
 #