1 package SL::DB::DeliveryOrderItem;
 
   5 use SL::DB::MetaSetup::DeliveryOrderItem;
 
   6 use SL::DB::Helper::ActsAsList;
 
   7 use SL::DB::Helper::LinkedRecords;
 
   8 use SL::DB::Helper::RecordItem;
 
   9 use SL::DB::Helper::CustomVariables (
 
  10   sub_module  => 'delivery_order_items',
 
  14       class => 'SL::DB::Part',
 
  20 __PACKAGE__->meta->make_manager_class;
 
  22 __PACKAGE__->meta->add_relationship(
 
  23   delivery_order_stock_entries => {
 
  24     type         => 'one to many',
 
  25     class        => 'SL::DB::DeliveryOrderItemsStock',
 
  26     column_map   => { id => 'delivery_order_item_id' },
 
  28       with_objects => [ 'inventory' ]
 
  33 __PACKAGE__->meta->initialize;
 
  35 __PACKAGE__->configure_acts_as_list(group_by => [qw(delivery_order_id)]);
 
  39 sub record { goto &delivery_order }
 
  41 sub displayable_delivery_order_info {
 
  42   my ($self, $dec) = @_;
 
  46   $self->delivery_order->presenter->sales_delivery_order(display => 'inline')
 
  47          . " " . $::form->format_amount(\%::myconfig, $self->qty, $dec) . " " . $self->unit
 
  48          . " (" . $self->delivery_order->transdate->to_kivitendo . ")";
 
  51 sub effective_project {
 
  54   $self->project // $self->delivery_order->globalproject;
 
  65 SL::DB::DeliveryOrderItem Model for the 'delivery_order_items' table
 
  69 This is a standard Rose::DB::Object based model and can be used as one.
 
  75 =item C<displayable_delivery_order_info DEC>
 
  77 Returns a string with information about the delivery order item in relation to
 
  78 its delivery order, specifically
 
  80 * the (HTML-linked) delivery order number
 
  82 * the qty and unit of the part in the delivery order
 
  84 * the date of the delivery order
 
  86 Doesn't include any part information, it is assumed that is already shown elsewhere.
 
  88 The method takes an optional argument "dec" which determines how many decimals to
 
  89 round to, as used by format_amount.
 
  91   SL::DB::Manager::DeliveryOrderItem->get_first->displayable_delivery_order_info(0);
 
  92   # 201601234 5 Stck (12.12.2016)
 
  98 G. Richardson E<lt>grichardson@kivitendo-premium.deE<gt>