X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/kivitendo-erp.git/blobdiff_plain/4249eeff3d68e15d74cbba40529a73f6b06e971e..2a8df53fac09e95c9199021399e2343ff766535d:/SL/Controller/CsvImport/Base.pm?ds=sidebyside diff --git a/SL/Controller/CsvImport/Base.pm b/SL/Controller/CsvImport/Base.pm index eb46b26d5..db6dc4d87 100644 --- a/SL/Controller/CsvImport/Base.pm +++ b/SL/Controller/CsvImport/Base.pm @@ -5,6 +5,7 @@ use strict; use List::MoreUtils qw(pairwise); use SL::Helper::Csv; +use SL::DB::Currency; use SL::DB::Customer; use SL::DB::Language; use SL::DB::PaymentTerm; @@ -16,7 +17,7 @@ use parent qw(Rose::Object); use Rose::Object::MakeMethods::Generic ( scalar => [ qw(controller file csv test_run save_with_cascade) ], - 'scalar --get_set_init' => [ qw(profile displayable_columns existing_objects class manager_class cvar_columns all_cvar_configs all_languages payment_terms_by all_vc vc_by) ], + 'scalar --get_set_init' => [ qw(profile displayable_columns existing_objects class manager_class cvar_columns all_cvar_configs all_languages payment_terms_by all_currencies default_currency_id all_vc vc_by) ], ); sub run { @@ -139,6 +140,18 @@ sub init_all_languages { return SL::DB::Manager::Language->get_all; } +sub init_all_currencies { + my ($self) = @_; + + return SL::DB::Manager::Currency->get_all; +} + +sub init_default_currency_id { + my ($self) = @_; + + return SL::DB::Default->get->currency_id; +} + sub init_payment_terms_by { my ($self) = @_; @@ -153,6 +166,10 @@ sub init_all_vc { vendors => SL::DB::Manager::Vendor->get_all }; } +sub force_allow_columns { + return (); +} + sub init_vc_by { my ($self) = @_; @@ -222,6 +239,8 @@ sub init_profile { eval "require " . $self->class; my %unwanted = map { ( $_ => 1 ) } (qw(itime mtime), map { $_->name } @{ $self->class->meta->primary_key_columns }); + delete $unwanted{$_} for ($self->force_allow_columns); + my %profile; for my $col ($self->class->meta->columns) { next if $unwanted{$col}; @@ -428,7 +447,6 @@ sub clean_fields { my @cleaned_fields; foreach my $field (grep { $object->can($_) } @fields) { my $value = $object->$field; - $::lxdebug->message(0, "field $field value $value ill $illegal_chars"); next unless defined($value) && ($value =~ s/$illegal_chars/ /g);