1 package SL::Presenter::DeliveryOrder;
5 use SL::Presenter::EscapedText qw(escape is_escaped);
7 use Exporter qw(import);
8 our @EXPORT_OK = qw(sales_delivery_order purchase_delivery_order);
12 sub sales_delivery_order {
13 my ($delivery_order, %params) = @_;
15 return _do_record($delivery_order, 'sales_delivery_order', %params);
18 sub rma_delivery_order {
19 my ($delivery_order, %params) = @_;
21 return _do_new_record($delivery_order, 'rma_delivery_order', %params);
24 sub purchase_delivery_order {
25 my ($delivery_order, %params) = @_;
27 return _do_record($delivery_order, 'purchase_delivery_order', %params);
30 sub supplier_delivery_order {
31 my ($delivery_order, %params) = @_;
33 return _do_new_record($delivery_order, 'supplier_delivery_order', %params);
37 my ($delivery_order, $type, %params) = @_;
39 $params{display} ||= 'inline';
41 croak "Unknown display type '$params{display}'" unless $params{display} =~ m/^(?:inline|table-cell)$/;
44 $params{no_link} ? '' : '<a href="contoller.pl?action=DeliveryOrder/edit&type=' . $type . '&id=' . escape($delivery_order->id) . '">',
45 escape($delivery_order->donumber),
46 $params{no_link} ? '' : '</a>',
52 my ($delivery_order, $type, %params) = @_;
54 $params{display} ||= 'inline';
56 croak "Unknown display type '$params{display}'" unless $params{display} =~ m/^(?:inline|table-cell)$/;
59 $params{no_link} ? '' : '<a href="do.pl?action=edit&type=' . $type . '&id=' . escape($delivery_order->id) . '">',
60 escape($delivery_order->donumber),
61 $params{no_link} ? '' : '</a>',
76 SL::Presenter::DeliveryOrder - Presenter module for Rose::DB objects
77 for sales and purchase delivery orders
81 # Sales delivery orders:
82 my $object = SL::DB::Manager::DeliveryOrder->get_first(where => [ is_sales => 1 ]);
83 my $html = SL::Presenter::DeliveryOrder::sales_delivery_order($object, display => 'inline');
85 # Purchase delivery orders:
86 my $object = SL::DB::Manager::DeliveryOrder->get_first(where => [ or => [ is_sales => undef, is_sales => 0 ]]);
87 my $html = SL::Presenter::DeliveryOrder::purchase_delivery_order($object, display => 'inline');
93 =item C<sales_delivery_order $object, %params>
95 Returns a rendered version (actually an instance of
96 L<SL::Presenter::EscapedText>) of the sales delivery order object
99 C<%params> can include:
105 Either C<inline> (the default) or C<table-cell>. At the moment both
106 representations are identical and produce the objects's delivery
107 order number linked to the corresponding 'edit' action.
111 If falsish (the default) then the delivery order number will be linked
112 to the "edit delivery order" dialog from the sales menu.
116 =item C<purchase_delivery_order $object, %params>
118 Returns a rendered version (actually an instance of
119 L<SL::Presenter::EscapedText>) of the purchase delivery order object
122 C<%params> can include:
128 Either C<inline> (the default) or C<table-cell>. At the moment both
129 representations are identical and produce the objects's delivery
130 order number linked to the corresponding 'edit' action.
134 If falsish (the default) then the delivery order number will be linked
135 to the "edit delivery order" dialog from the purchase menu.
147 Moritz Bunkus E<lt>m.bunkus@linet-services.deE<gt>