X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;ds=sidebyside;f=SL%2FDB%2FDeliveryOrderItem.pm;fp=SL%2FDB%2FDeliveryOrderItem.pm;h=7850a6445576a8355885cb56631b29109a408f01;hb=53593baa211863fbf66540cf1bcc36c8fb37257f;hp=ba2c2e09923e6d5495cdea3108f172c73cce9ccf;hpb=deb4d2dbb676d7d6f69dfe7815d6e0cb09bd4a44;p=kivitendo-erp.git diff --git a/SL/DB/DeliveryOrderItem.pm b/SL/DB/DeliveryOrderItem.pm index ba2c2e099..7850a6445 100644 --- a/SL/DB/DeliveryOrderItem.pm +++ b/SL/DB/DeliveryOrderItem.pm @@ -19,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)]); @@ -27,4 +38,65 @@ __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 . ")"; +}; + +sub effective_project { + my ($self) = @_; + + $self->project // $self->delivery_order->globalproject; +} + +__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;