X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDB%2FDeliveryOrderItem.pm;h=045e2e6c714b518d716b58a1bc2db029898cc1af;hb=1b7759ed7c474adef6eb75b6cc04431768fff8c3;hp=de7587cfd9b721d90af4956b684c3d020eb4dcb7;hpb=4247547d2a925ddad7006cae89e5f9f1fda7d469;p=kivitendo-erp.git diff --git a/SL/DB/DeliveryOrderItem.pm b/SL/DB/DeliveryOrderItem.pm index de7587cfd..045e2e6c7 100644 --- a/SL/DB/DeliveryOrderItem.pm +++ b/SL/DB/DeliveryOrderItem.pm @@ -5,6 +5,7 @@ use strict; use SL::DB::MetaSetup::DeliveryOrderItem; use SL::DB::Helper::ActsAsList; use SL::DB::Helper::LinkedRecords; +use SL::DB::Helper::RecordItem; use SL::DB::Helper::CustomVariables ( sub_module => 'delivery_order_items', cvars_alias => 1, @@ -18,6 +19,17 @@ use SL::DB::Helper::CustomVariables ( __PACKAGE__->meta->make_manager_class; +__PACKAGE__->meta->add_relationship( + delivery_order_stock_entries => { + type => 'one to many', + class => 'SL::DB::DeliveryOrderItemsStock', + column_map => { id => 'delivery_order_item_id' }, + manager_args => { + with_objects => [ 'inventory' ] + }, + }, +); + __PACKAGE__->meta->initialize; __PACKAGE__->configure_acts_as_list(group_by => [qw(delivery_order_id)]); @@ -26,4 +38,59 @@ __PACKAGE__->configure_acts_as_list(group_by => [qw(delivery_order_id)]); sub record { goto &delivery_order } +sub displayable_delivery_order_info { + my ($self, $dec) = @_; + + $dec //= 2; + + $self->delivery_order->presenter->sales_delivery_order(display => 'inline') + . " " . $::form->format_amount(\%::myconfig, $self->qty, $dec) . " " . $self->unit + . " (" . $self->delivery_order->transdate->to_kivitendo . ")"; +}; + +__END__ + +=pod + +=encoding utf-8 + +=head1 NAME + +SL::DB::DeliveryOrderItem Model for the 'delivery_order_items' table + +=head1 SYNOPSIS + +This is a standard Rose::DB::Object based model and can be used as one. + +=head1 METHODS + +=over 4 + +=item C + +Returns a string with information about the delivery order item in relation to +its delivery order, specifically + +* the (HTML-linked) delivery order number + +* the qty and unit of the part in the delivery order + +* the date of the delivery order + +Doesn't include any part information, it is assumed that is already shown elsewhere. + +The method takes an optional argument "dec" which determines how many decimals to +round to, as used by format_amount. + + SL::DB::Manager::DeliveryOrderItem->get_first->displayable_delivery_order_info(0); + # 201601234 5 Stck (12.12.2016) + +=back + +=head1 AUTHORS + +G. Richardson Egrichardson@kivitendo-premium.deE + +=cut + 1;