projects
/
kivitendo-erp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Cuddled else
[kivitendo-erp.git]
/
SL
/
Controller
/
CsvImport
/
Base.pm
diff --git
a/SL/Controller/CsvImport/Base.pm
b/SL/Controller/CsvImport/Base.pm
index
eb46b26
..
db6dc4d
100644
(file)
--- 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 List::MoreUtils qw(pairwise);
use SL::Helper::Csv;
+use SL::DB::Currency;
use SL::DB::Customer;
use SL::DB::Language;
use SL::DB::PaymentTerm;
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) ],
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 {
);
sub run {
@@
-139,6
+140,18
@@
sub init_all_languages {
return SL::DB::Manager::Language->get_all;
}
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) = @_;
sub init_payment_terms_by {
my ($self) = @_;
@@
-153,6
+166,10
@@
sub init_all_vc {
vendors => SL::DB::Manager::Vendor->get_all };
}
vendors => SL::DB::Manager::Vendor->get_all };
}
+sub force_allow_columns {
+ return ();
+}
+
sub init_vc_by {
my ($self) = @_;
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 });
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};
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;
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);
next unless defined($value) && ($value =~ s/$illegal_chars/ /g);