From: Moritz Bunkus Date: Mon, 22 Jun 2015 10:52:43 +0000 (+0200) Subject: SL::DB::{Invoice,DeliveryOrder}->new_from: manuelles Filtern von Items via coderef X-Git-Tag: release-3.3.0beta~36^2~1 X-Git-Url: http://wagnertech.de/git?a=commitdiff_plain;h=bbb98e034f3fe6f7ca508f3482a51c6d8a120c92;p=kivitendo-erp.git SL::DB::{Invoice,DeliveryOrder}->new_from: manuelles Filtern von Items via coderef --- diff --git a/SL/DB/DeliveryOrder.pm b/SL/DB/DeliveryOrder.pm index 3afd59162..94725a8d0 100644 --- a/SL/DB/DeliveryOrder.pm +++ b/SL/DB/DeliveryOrder.pm @@ -160,6 +160,7 @@ sub new_from { } @{ $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}; @@ -245,6 +246,12 @@ a quantity of 0 are not affected by this option. If trueish then items with a quantity of 0 are skipped. +=item C + +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 An optional hash reference. If it exists then it is passed to C diff --git a/SL/DB/Invoice.pm b/SL/DB/Invoice.pm index 82cf66b5e..8bfc918e8 100644 --- a/SL/DB/Invoice.pm +++ b/SL/DB/Invoice.pm @@ -203,6 +203,7 @@ sub new_from { $current_invoice_item; } @{ $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}; @@ -411,6 +412,12 @@ a quantity of 0 are not affected by this option. If trueish then items with a quantity of 0 are skipped. +=item C + +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 An optional hash reference. If it exists then it is passed to C