CsvImport: CustomerVendor: Nummer vom Helper des Objekts vergeben lassen.
authorBernd Bleßmann <bernd@kivitendo-premium.de>
Tue, 15 Aug 2017 14:14:07 +0000 (16:14 +0200)
committerBernd Bleßmann <bernd@kivitendo-premium.de>
Tue, 6 Apr 2021 14:19:30 +0000 (16:19 +0200)
Vorher wurde hier SL::TransNumber verwendet - das ist kein Problem, aber die
es den Helper gibt, ist das hier einfacher.

Zudem wurde vorher auch eine neue Nummer für die zu aktualisierenden Objekte
geholt - aber das Objekt selber wurde nicht gespeichert, sondern object_to_save.
Da war dann die Report-Anzeige nach dem Speichern falsch, das Objekt aber
richtig. Aber der Nummernkreis wurde falscheweise hochgesetzt.

behebt #287 (redmine)

SL/Controller/CsvImport/CustomerVendor.pm

index 0f2b529..5a3a863 100644 (file)
@@ -244,18 +244,7 @@ sub save_objects {
   my $with_number    = [ grep { $_->{object}->$numbercolumn ne '####' } @{ $self->controller->data } ];
   my $without_number = [ grep { $_->{object}->$numbercolumn eq '####' } @{ $self->controller->data } ];
 
-  foreach my $entry (@{$with_number}, @{$without_number}) {
-    my $object = $entry->{object};
-
-    my $number = SL::TransNumber->new(type        => $self->table(),
-                                      number      => $object->$numbercolumn(),
-                                      business_id => $object->business_id(),
-                                      save        => 1);
-
-    if ( $object->$numbercolumn eq '####' || !$number->is_unique() ) {
-      $object->$numbercolumn($number->create_unique());
-    }
-  }
+  $_->{object}->$numbercolumn('') for @{ $without_number };
 
   $self->SUPER::save_objects(data => $with_number);
   $self->SUPER::save_objects(data => $without_number);