X-Git-Url: http://wagnertech.de/gitweb/gitweb.cgi/mfinanz.git/blobdiff_plain/911756998b29079f7f566c6ef70b938f03a5dbb3..ec4aa5bbad60c76fd7b898fcbbdf2de705a055c4:/SL/Controller/CsvImport/Base.pm diff --git a/SL/Controller/CsvImport/Base.pm b/SL/Controller/CsvImport/Base.pm index db6dc4d87..b3b9368c7 100644 --- a/SL/Controller/CsvImport/Base.pm +++ b/SL/Controller/CsvImport/Base.pm @@ -2,7 +2,7 @@ package SL::Controller::CsvImport::Base; use strict; -use List::MoreUtils qw(pairwise); +use List::MoreUtils qw(pairwise any); use SL::Helper::Csv; use SL::DB::Currency; @@ -11,6 +11,7 @@ use SL::DB::Language; use SL::DB::PaymentTerm; use SL::DB::Vendor; use SL::DB::Contact; +use SL::DB::History; use parent qw(Rose::Object); @@ -415,6 +416,7 @@ sub save_objects { if ( !$object->save(cascade => !!$self->save_with_cascade()) ) { push @{ $entry->{errors} }, $::locale->text('Error when saving: #1', $entry->{object}->db->error); } else { + $self->_save_history($object); $self->controller->num_imported($self->controller->num_imported + 1); } } continue { @@ -457,4 +459,22 @@ sub clean_fields { return @cleaned_fields; } +sub _save_history { + my ($self, $object) = @_; + + if (any { $_ eq $self->controller->{type} } qw(parts customers_vendors)) { + my $snumbers = $self->controller->{type} eq 'parts' ? 'partnumber_' . $object->partnumber + : $self->controller->{type} eq 'customers_vendors' ? + ($self->table eq 'customer' ? 'customernumber_' . $object->customernumber : 'vendornumber_' . $object->vendornumber) + : ''; + + SL::DB::History->new( + trans_id => $object->id, + snumbers => $snumbers, + employee_id => $self->controller->{employee_id}, + addition => 'SAVED', + )->save(); + } +} + 1;