Projekt

Allgemein

Profil

Herunterladen (2,2 KB) Statistiken
| Zweig: | Markierung: | Revision:
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;