kivitendo/SL/DB/DeliveryOrderItem.pm @ d74edabe
82515b2d | Sven Schöling | package SL::DB::DeliveryOrderItem;
|
||
use strict;
|
||||
use SL::DB::MetaSetup::DeliveryOrderItem;
|
||||
b945837f | Bernd Bleßmann | use SL::DB::Manager::DeliveryOrderItem;
|
||
3954d14b | Bernd Bleßmann | use SL::DB::Helper::ActsAsList;
|
||
ca808f20 | Geoffrey Richardson | use SL::DB::Helper::LinkedRecords;
|
||
1904d8c6 | Sven Schöling | use SL::DB::Helper::RecordItem;
|
||
e1bf173b | Sven Schöling | use SL::DB::Helper::CustomVariables (
|
||
03b6d9ab | Bernd Bleßmann | sub_module => 'delivery_order_items',
|
||
e1bf173b | Sven Schöling | cvars_alias => 1,
|
||
overloads => {
|
||||
5a7ae14c | Sven Schöling | parts_id => {
|
||
class => 'SL::DB::Part',
|
||||
module => 'IC',
|
||||
}
|
||||
e1bf173b | Sven Schöling | },
|
||
);
|
||||
82515b2d | Sven Schöling | |||
201c9038 | Geoffrey Richardson | __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' ]
|
||||
},
|
||||
},
|
||||
);
|
||||
f1d475ff | Moritz Bunkus | __PACKAGE__->meta->initialize;
|
||
3954d14b | Bernd Bleßmann | __PACKAGE__->configure_acts_as_list(group_by => [qw(delivery_order_id)]);
|
||
82515b2d | Sven Schöling | # methods
|
||
073ee541 | Geoffrey Richardson | sub record { goto &delivery_order }
|
||
19c3be79 | Geoffrey Richardson | sub displayable_delivery_order_info {
|
||
my ($self, $dec) = @_;
|
||||
$dec //= 2;
|
||||
0aa885f4 | Sven Schöling | $self->delivery_order->presenter->sales_delivery_order(display => 'inline')
|
||
19c3be79 | Geoffrey Richardson | . " " . $::form->format_amount(\%::myconfig, $self->qty, $dec) . " " . $self->unit
|
||
. " (" . $self->delivery_order->transdate->to_kivitendo . ")";
|
||||
};
|
||||
b24583b6 | Sven Schöling | sub effective_project {
|
||
my ($self) = @_;
|
||||
e73048f9 | Sven Schöling | $self->project // $self->delivery_order->globalproject;
|
||
b24583b6 | Sven Schöling | }
|
||
19c3be79 | Geoffrey Richardson | __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<displayable_delivery_order_info DEC>
|
||||
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 E<lt>grichardson@kivitendo-premium.deE<gt>
|
||||
=cut
|
||||
82515b2d | Sven Schöling | 1;
|