+sub save_additions {
+ my ($self, $object) = @_;
+
+ # Can be overridden by derived specialized importer classes to save
+ # additional tables (e.g. record links).
+ # This sub is called after the object is saved successfully in an transaction.
+
+ return;
+}
+
+sub _save_history {
+ my ($self, $object) = @_;
+
+ if (any { $self->controller->{type} && $_ eq $self->controller->{type} } qw(parts customers_vendors orders delivery_orders ar_transactions)) {
+ 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)
+ : $self->controller->{type} eq 'orders' ? 'ordnumber_' . $object->ordnumber
+ : $self->controller->{type} eq 'delivery_orders' ? 'donumber_' . $object->donumber
+ : $self->controller->{type} eq 'ar_transactions' ? 'invnumber_' . $object->invnumber
+ : '';
+
+ my $what_done = '';
+ if ($self->controller->{type} eq 'orders') {
+ $what_done = $object->customer_id ? 'sales_order' : 'purchase_order';
+ }
+ if ($self->controller->{type} eq 'delivery_orders') {
+ $what_done = $object->customer_id ? 'sales_delivery_order' : 'purchase_delivery_order';
+ }
+
+ SL::DB::History->new(
+ trans_id => $object->id,
+ snumbers => $snumbers,
+ employee_id => $self->controller->{employee_id},
+ addition => 'SAVED',
+ what_done => $what_done,
+ )->save();
+ }
+}
+