sub items { goto &orderitems; }
sub add_items { goto &add_orderitems; }
sub payment_terms { goto &payment; }
+sub record_number { goto &donumber; }
sub sales_order {
my $self = shift;
return shift->customer_id ? 'sales_delivery_order' : 'purchase_delivery_order';
}
+sub displayable_type {
+ my $type = shift->type;
+
+ return $::locale->text('Sales Delivery Order') if $type eq 'sales_delivery_order';
+ return $::locale->text('Purchase Delivery Order') if $type eq 'purchase_delivery_order';
+
+ die 'invalid type';
+}
+
+
sub displayable_state {
my ($self) = @_;
} @{ $items };
+ @items = grep { $params{item_filter}->($_) } @items if $params{item_filter};
@items = grep { $_->qty * 1 } @items if $params{skip_items_zero_qty};
@items = grep { $_->qty >=0 } @items if $params{skip_items_negative_qty};
If trueish then items with a quantity of 0 are skipped.
+=item C<item_filter>
+
+An optional code reference that is called for each item with the item
+as its sole parameter. Items for which the code reference returns a
+falsish value will be skipped.
+
=item C<attributes>
An optional hash reference. If it exists then it is passed to C<new>