CSV-Import: Neu anlegen gefixt
authorMoritz Bunkus <m.bunkus@linet-services.de>
Tue, 30 Apr 2013 15:07:32 +0000 (17:07 +0200)
committerMoritz Bunkus <m.bunkus@linet-services.de>
Tue, 30 Apr 2013 15:21:42 +0000 (17:21 +0200)
Wenn noch kein Objekt existierte und auch keine Nummernspalte
angegeben war, so wurde nur der allererste Eintrag neu angelegt, der
Rest als angeblich schon existierend nicht behandelt.

SL/Controller/CsvImport/Contact.pm
SL/Controller/CsvImport/CustomerVendor.pm

index 5ca2ae8..2eb877e 100644 (file)
@@ -47,7 +47,7 @@ sub check_objects {
     if ($object->cp_id) {
       my $existing_contact = $contacts_by_id{ $object->cp_id };
       if (!$existing_contact) {
-        $contacts_by_id{ $object->cp_id } = $object;
+        $contacts_by_id{ $object->cp_id } = $object if $object->cp_id;
 
       } elsif ($update_policy eq 'skip') {
         push(@{ $entry->{errors} }, $::locale->text('Skipping due to existing entry in database'));
index f8774dc..96eb696 100644 (file)
@@ -77,7 +77,7 @@ sub check_objects {
 
     my $existing_vc = $vcs_by_number{ $object->$numbercolumn };
     if (!$existing_vc) {
-      $vcs_by_number{ $object->$numbercolumn } = $object;
+      $vcs_by_number{ $object->$numbercolumn } = $object if $object->$numbercolumn;
 
     } elsif ($update_policy eq 'skip') {
       push(@{$entry->{errors}}, $::locale->text('Skipping due to existing entry in database'));