kivitendo/SL/Presenter/Order.pm @ dd9732d8
5b5dbec0 | Moritz Bunkus | package SL::Presenter::Order;
|
||
use strict;
|
||||
0e5e3501 | Sven Schöling | use SL::Presenter::EscapedText qw(escape is_escaped);
|
||
ee51b82f | Tamino Steinert | use SL::Presenter::Tag qw(link_tag);
|
||
5b5dbec0 | Moritz Bunkus | |||
use Exporter qw(import);
|
||||
60cba3e3 | Tamino Steinert | our @EXPORT_OK = qw(show order sales_quotation sales_order_intake sales_order request_quotation purchase_quotation_intake purchase_order purchase_order_confirmation);
|
||
5b5dbec0 | Moritz Bunkus | |||
use Carp;
|
||||
60cba3e3 | Tamino Steinert | sub show {goto &order}
|
||
5b5dbec0 | Moritz Bunkus | |||
60cba3e3 | Tamino Steinert | sub sales_quotation {goto &order}
|
||
5b5dbec0 | Moritz Bunkus | |||
60cba3e3 | Tamino Steinert | sub sales_order_intake {goto &order}
|
||
5b5dbec0 | Moritz Bunkus | |||
60cba3e3 | Tamino Steinert | sub sales_order {goto &order}
|
||
5b5dbec0 | Moritz Bunkus | |||
60cba3e3 | Tamino Steinert | sub request_quotation {goto &order}
|
||
e023704a | Bernd Bleßmann | |||
60cba3e3 | Tamino Steinert | sub purchase_quotation_intake {goto &order}
|
||
e023704a | Bernd Bleßmann | |||
60cba3e3 | Tamino Steinert | sub purchase_order {goto &order}
|
||
5b5dbec0 | Moritz Bunkus | |||
60cba3e3 | Tamino Steinert | sub purchase_order_confirmation {goto &order}
|
||
5b5dbec0 | Moritz Bunkus | |||
60cba3e3 | Tamino Steinert | sub order {
|
||
c7ca3573 | Bernd Bleßmann | my ($order, %params) = @_;
|
||
60cba3e3 | Tamino Steinert | my $type = $order->record_type;
|
||
5b5dbec0 | Moritz Bunkus | |||
$params{display} ||= 'inline';
|
||||
croak "Unknown display type '$params{display}'" unless $params{display} =~ m/^(?:inline|table-cell)$/;
|
||||
6c8eb668 | Tamino Steinert | my $text = escape($order->record_number);
|
||
ee51b82f | Tamino Steinert | if (! delete $params{no_link}) {
|
||
984f6322 | Bernd Bleßmann | my $action = $::instance_conf->get_feature_experimental_order
|
||
f825d995 | Bernd Bleßmann | ? 'controller.pl?action=Order/edit'
|
||
: 'oe.pl?action=edit';
|
||||
ee51b82f | Tamino Steinert | my $href = $action
|
||
. '&type=' . $type
|
||||
. '&id=' . escape($order->id);
|
||||
$text = link_tag($href, $text, %params);
|
||||
f825d995 | Bernd Bleßmann | }
|
||
0e5e3501 | Sven Schöling | is_escaped($text);
|
||
5b5dbec0 | Moritz Bunkus | }
|
||
1;
|
||||
__END__
|
||||
=pod
|
||||
=encoding utf8
|
||||
=head1 NAME
|
||||
SL::Presenter::Order - Presenter module for Rose::DB objects for sales
|
||||
7d40c44b | Bernd Bleßmann | quotations, sales order_intakes, sales orders,
|
||
c7ca3573 | Bernd Bleßmann | requests for quotations, purchase_quotation_intakes,
|
||
purchase orders and purchase order confirmations
|
||||
5b5dbec0 | Moritz Bunkus | |||
=head1 SYNOPSIS
|
||||
# Sales quotations:
|
||||
my $object = SL::DB::Manager::Order->get_first(where => [ SL::DB::Manager::Order->type_filter('sales_quotation') ]);
|
||||
0e5e3501 | Sven Schöling | my $html = SL::Presenter::Order::sales_quotation($object, display => 'inline');
|
||
5b5dbec0 | Moritz Bunkus | |||
# Sales orders:
|
||||
my $object = SL::DB::Manager::Order->get_first(where => [ SL::DB::Manager::Order->type_filter('sales_order') ]);
|
||||
0e5e3501 | Sven Schöling | my $html = SL::Presenter::Order::sales_order($object, display => 'inline');
|
||
5b5dbec0 | Moritz Bunkus | |||
# Requests for quotations:
|
||||
my $object = SL::DB::Manager::Order->get_first(where => [ SL::DB::Manager::Order->type_filter('request_quotation') ]);
|
||||
0e5e3501 | Sven Schöling | my $html = SL::Presenter::Order::request_quotation($object, display => 'inline');
|
||
5b5dbec0 | Moritz Bunkus | |||
# Purchase orders:
|
||||
my $object = SL::DB::Manager::Order->get_first(where => [ SL::DB::Manager::Order->type_filter('purchase_order') ]);
|
||||
0e5e3501 | Sven Schöling | my $html = SL::Presenter::Order::purchase_order($object, display => 'inline');
|
||
5b5dbec0 | Moritz Bunkus | |||
60cba3e3 | Tamino Steinert | # or for all types:
|
||
my $html = SL::Presenter::Order::order($object);
|
||||
my $html = $object->presenter->show();
|
||||
5b5dbec0 | Moritz Bunkus | =head1 FUNCTIONS
|
||
=over 4
|
||||
60cba3e3 | Tamino Steinert | =item C<show $object %params>
|
||
5b5dbec0 | Moritz Bunkus | |||
60cba3e3 | Tamino Steinert | Alias for C<order $object %params>.
|
||
5b5dbec0 | Moritz Bunkus | |||
60cba3e3 | Tamino Steinert | =item C<sales_quotation $object %params>
|
||
5b5dbec0 | Moritz Bunkus | |||
60cba3e3 | Tamino Steinert | Alias for C<order $object %params>.
|
||
5b5dbec0 | Moritz Bunkus | |||
60cba3e3 | Tamino Steinert | =item C<sales_order_intake $object %params>
|
||
5b5dbec0 | Moritz Bunkus | |||
60cba3e3 | Tamino Steinert | Alias for C<order $object %params>.
|
||
5b5dbec0 | Moritz Bunkus | |||
60cba3e3 | Tamino Steinert | =item C<sales_order $object %params>
|
||
5b5dbec0 | Moritz Bunkus | |||
60cba3e3 | Tamino Steinert | Alias for C<order $object %params>.
|
||
5b5dbec0 | Moritz Bunkus | |||
60cba3e3 | Tamino Steinert | =item C<request_quotation $object %params>
|
||
5b5dbec0 | Moritz Bunkus | |||
60cba3e3 | Tamino Steinert | Alias for C<order $object %params>.
|
||
5b5dbec0 | Moritz Bunkus | |||
60cba3e3 | Tamino Steinert | =item C<purchase_quotation_intake $object %params>
|
||
5b5dbec0 | Moritz Bunkus | |||
60cba3e3 | Tamino Steinert | Alias for C<order $object %params>.
|
||
5b5dbec0 | Moritz Bunkus | |||
60cba3e3 | Tamino Steinert | =item C<purchase_order $object %params>
|
||
5b5dbec0 | Moritz Bunkus | |||
60cba3e3 | Tamino Steinert | Alias for C<order $object %params>.
|
||
5b5dbec0 | Moritz Bunkus | |||
60cba3e3 | Tamino Steinert | =item C<order $object %params>
|
||
5b5dbec0 | Moritz Bunkus | |||
Returns a rendered version (actually an instance of
|
||||
L<SL::Presenter::EscapedText>) of the purchase order object
|
||||
C<$object>.
|
||||
ee51b82f | Tamino Steinert | Remaining C<%params> are passed to the function
|
||
C<SL::Presenter::Tag::link_tag>. It can include:
|
||||
5b5dbec0 | Moritz Bunkus | |||
=over 2
|
||||
=item * display
|
||||
ee51b82f | Tamino Steinert | Either C<inline> (the default) or C<table-cell>. Is passed to the function
|
||
C<SL::Presenter::Tag::link_tag>.
|
||||
5b5dbec0 | Moritz Bunkus | |||
=item * no_link
|
||||
If falsish (the default) then the order number will be linked
|
||||
60cba3e3 | Tamino Steinert | to the "edit order" dialog.
|
||
5b5dbec0 | Moritz Bunkus | |||
=back
|
||||
=back
|
||||
=head1 BUGS
|
||||
Nothing here yet.
|
||||
=head1 AUTHOR
|
||||
Moritz Bunkus E<lt>m.bunkus@linet-services.deE<gt>
|
||||
=cut
|