# methods
sub items { goto &orderitems; }
+sub add_items { goto &add_orderitems; }
sub items_sorted {
my ($self) = @_;
$args{shipto_id} = $source->shipto_id;
}
- my $delivery_order = $class->new(%args, %{ $params{attributes} || {} });
+ my $delivery_order = $class->new(%args);
+ $delivery_order->assign_attributes(%{ $params{attributes} }) if $params{attributes};
my $items = delete($params{items}) || $source->items_sorted;
my %item_parents;
} @{ $items };
@items = grep { $_->qty * 1 } @items if $params{skip_items_zero_qty};
+ @items = grep { $_->qty >=0 } @items if $params{skip_items_negative_qty};
$delivery_order->items(\@items);
return ($delivery_order, $custom_shipto);
}
+sub customervendor {
+ $_[0]->is_sales ? $_[0]->customer : $_[0]->vendor;
+}
+
1;
__END__
C<$source>. This option can be used to override the sorting, to
exclude certain positions or to add additional ones.
+=item C<skip_items_negative_qty>
+
+If trueish then items with a negative quantity are skipped. Items with
+a quantity of 0 are not affected by this option.
+
=item C<skip_items_zero_qty>
If trueish then items with a quantity of 0 are skipped.