projects
/
kivitendo-erp.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Nutzung der Tabelle currencies
[kivitendo-erp.git]
/
SL
/
Controller
/
CsvImport
/
Base.pm
diff --git
a/SL/Controller/CsvImport/Base.pm
b/SL/Controller/CsvImport/Base.pm
index
fa3e4f4
..
7f4326a
100644
(file)
--- a/
SL/Controller/CsvImport/Base.pm
+++ b/
SL/Controller/CsvImport/Base.pm
@@
-153,6
+153,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
+226,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};
@@
-422,5
+428,20
@@
sub fix_field_lengths {
}
}
}
}
-1;
+sub clean_fields {
+ my ($self, $illegal_chars, $object, @fields) = @_;
+
+ my @cleaned_fields;
+ foreach my $field (grep { $object->can($_) } @fields) {
+ my $value = $object->$field;
+ next unless defined($value) && ($value =~ s/$illegal_chars/ /g);
+
+ $object->$field($value);
+ push @cleaned_fields, $field;
+ }
+
+ return @cleaned_fields;
+}
+
+1;