projects
/
kivitendo-erp.git
/ commitdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
| commitdiff |
tree
raw
|
patch
|
inline
| side by side (parent:
fb1a574
)
Csv: mappings übersetzen jetzt auch header
author
Sven Schöling
<s.schoeling@linet-services.de>
Fri, 17 Jun 2016 12:45:09 +0000
(14:45 +0200)
committer
Sven Schöling
<s.schoeling@linet-services.de>
Fri, 17 Jun 2016 12:45:09 +0000
(14:45 +0200)
SL/Helper/Csv.pm
patch
|
blob
|
history
diff --git
a/SL/Helper/Csv.pm
b/SL/Helper/Csv.pm
index
145b7db
..
c58575a
100644
(file)
--- a/
SL/Helper/Csv.pm
+++ b/
SL/Helper/Csv.pm
@@
-202,13
+202,13
@@
sub _check_header {
my $h_aref = ($self->is_multiplexed)? $header : [ $header ];
my $p_num = 0;
foreach my $h (@{ $h_aref }) {
my $h_aref = ($self->is_multiplexed)? $header : [ $header ];
my $p_num = 0;
foreach my $h (@{ $h_aref }) {
- my
@
names = (
-
keys %{ $self->profile->[$p_num]->{profile} || {} }
,
-
keys %{ $self->profile->[$p_num]->{mapping} || {} }
,
+ my
%
names = (
+
(map { $_ => $_ } keys %{ $self->profile->[$p_num]->{profile} || {} })
,
+
(map { $_ => $self->profile->[$p_num]{mapping}{$_} } keys %{ $self->profile->[$p_num]->{mapping} || {} })
,
);
);
- for my $name (
@
names) {
+ for my $name (
keys %
names) {
for my $i (0..$#$h) {
for my $i (0..$#$h) {
- $h->[$i] = $name if lc $h->[$i] eq lc $name;
+ $h->[$i] = $name
s{$name}
if lc $h->[$i] eq lc $name;
}
}
$p_num++;
}
}
$p_num++;
@@
-584,6
+584,9
@@
comply with the expected header identities.
Without strict profiles, mappings can also directly map header fields that
should end up in the same accessor.
Without strict profiles, mappings can also directly map header fields that
should end up in the same accessor.
+With case insensitive headings, mappings will also modify the headers, to fit
+the expected profile.
+
Mappings can be identical to known fields and will be prefered during lookup,
but will not replace the field, meaning that:
Mappings can be identical to known fields and will be prefered during lookup,
but will not replace the field, meaning that: