From 91e4c0dc7b3e89a6301bdbd698c440ce8776f83d Mon Sep 17 00:00:00 2001 From: Thomas Heck Date: Fri, 17 Aug 2012 13:59:45 +0200 Subject: [PATCH] CSV-Kunden-/Lieferantenimport: Verwendung von TransNumber zur Erzeugung von Nummern implementiert #1972 --- SL/Controller/CsvImport/CustomerVendor.pm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/SL/Controller/CsvImport/CustomerVendor.pm b/SL/Controller/CsvImport/CustomerVendor.pm index 02d84836c..e9b2d3931 100644 --- a/SL/Controller/CsvImport/CustomerVendor.pm +++ b/SL/Controller/CsvImport/CustomerVendor.pm @@ -7,6 +7,7 @@ use SL::DB::Business; use SL::DB::CustomVariable; use SL::DB::CustomVariableConfig; use SL::DB::PaymentTerm; +use SL::TransNumber; use parent qw(SL::Controller::CsvImport::Base); @@ -167,7 +168,18 @@ sub save_objects { my $with_number = [ grep { $_->{object}->$numbercolumn ne '####' } @{ $self->controller->data } ]; my $without_number = [ grep { $_->{object}->$numbercolumn eq '####' } @{ $self->controller->data } ]; - map { $_->{object}->$numbercolumn('') } @{ $without_number }; + 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()); + } + } $self->SUPER::save_objects(data => $with_number); $self->SUPER::save_objects(data => $without_number); -- 2.20.1