X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDB%2FCsvImportProfile.pm;h=1902a51ec4ca5cba76eee76cb25a9b4289db19d0;hb=843de7839af752ec61b80616aaca6af5aadbf7fc;hp=c7c0f91ea87a15aca593f35d9b85f04c83139ccb;hpb=7f1f5efedc0b738f8e8faaeca52f649150448e32;p=kivitendo-erp.git diff --git a/SL/DB/CsvImportProfile.pm b/SL/DB/CsvImportProfile.pm index c7c0f91ea..1902a51ec 100644 --- a/SL/DB/CsvImportProfile.pm +++ b/SL/DB/CsvImportProfile.pm @@ -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 => { @@ -38,19 +39,25 @@ sub set_defaults { escape_char => '"', charset => 'CP850', numberformat => $::myconfig{numberformat}, + duplicates => 'no_check', ); if ($self->type eq 'parts') { - my $bugru = SL::DB::Manager::Buchungsgruppe->find_by(name => { like => 'Standard%19%' }); + 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_price', - price_group_sep_char => '!', - shoparticle_if_missing => 0, + article_number_policy => 'update_prices', + shoparticle_if_missing => '0', parts_type => 'part', - default_buchungsgruppe => ($bugru ? $bugru->name : undef), + 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'); @@ -93,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 #