$self->class(['SL::DB::Order', 'SL::DB::OrderItem']);
}
+sub set_profile_defaults {
+ my ($self) = @_;
+
+ $self->controller->profile->_set_defaults(
+ order_column => $::locale->text('Order'),
+ item_column => $::locale->text('OrderItem'),
+ max_amount_diff => 0.02,
+ );
+};
+
sub init_settings {
my ($self) = @_;
my $object = $entry->{object};
- # Check wether or non part ID is valid.
+ # Check wether or not part ID is valid.
if ($object->parts_id && !$self->parts_by->{id}->{ $object->parts_id }) {
push @{ $entry->{errors} }, $::locale->text('Error: Invalid part');
return 0;
$object->parts_id($part->id);
}
+ # Map description to ID if given.
+ if (!$object->parts_id && $entry->{raw_data}->{description}) {
+ my $part = $self->parts_by->{description}->{ $entry->{raw_data}->{description} };
+ if (!$part) {
+ push @{ $entry->{errors} }, $::locale->text('Error: Invalid part');
+ return 0;
+ }
+
+ $object->parts_id($part->id);
+ }
+
if ($object->parts_id) {
$entry->{info_data}->{partnumber} = $self->parts_by->{id}->{ $object->parts_id }->partnumber;
} else {
my $order_entry;
my @orderitems;
foreach my $entry (@{ $self->controller->data }) {
- # search first order
+ # search first/next order
if ($entry->{raw_data}->{datatype} eq $self->_order_column) {
- # new order entry: add collected orderitems to the previous one
+ # next order entry: add collected orderitems to the previous one
if (defined $order_entry) {
$order_entry->{object}->orderitems(@orderitems);
@orderitems = ();