kivitendo/SL/Presenter/ALL.pm @ 8f07fac1
0e5e3501 | Sven Schöling | package SL::Presenter::ALL;
|
|
use strict;
|
|||
use SL::Presenter::Chart;
|
|||
use SL::Presenter::CustomerVendor;
|
|||
use SL::Presenter::DeliveryOrder;
|
|||
use SL::Presenter::EscapedText;
|
|||
use SL::Presenter::Invoice;
|
|||
use SL::Presenter::GL;
|
|||
use SL::Presenter::Letter;
|
|||
use SL::Presenter::Order;
|
|||
use SL::Presenter::Part;
|
|||
use SL::Presenter::Project;
|
|||
use SL::Presenter::Record;
|
|||
use SL::Presenter::RequirementSpec;
|
|||
use SL::Presenter::RequirementSpecItem;
|
|||
use SL::Presenter::RequirementSpecTextBlock;
|
|||
use SL::Presenter::SepaExport;
|
|||
use SL::Presenter::ShopOrder;
|
|||
use SL::Presenter::Text;
|
|||
use SL::Presenter::Tag;
|
|||
use SL::Presenter::BankAccount;
|
|||
our %presenters = (
|
|||
chart => 'SL::Presenter::Chart',
|
|||
customer_vendor => 'SL::Presenter::CustomerVendor',
|
|||
delivery_order => 'SL::Presenter::DeliveryOrder',
|
|||
escaped_text => 'SL::Presenter::EscapedText',
|
|||
invoice => 'SL::Presenter::Invoice',
|
|||
gl => 'SL::Presenter::GL',
|
|||
letter => 'SL::Presenter::Letter',
|
|||
order => 'SL::Presenter::Order',
|
|||
part => 'SL::Presenter::Part',
|
|||
project => 'SL::Presenter::Project',
|
|||
record => 'SL::Presenter::Record',
|
|||
requirement_spec => 'SL::Presenter::RequirementSpec',
|
|||
requirement_spec_item => 'SL::Presenter::RequirementSpecItem',
|
|||
requirement_spec_text_block => 'SL::Presenter::RequirementSpecTextBlock',
|
|||
sepa_export => 'SL::Presenter::SepaExport',
|
|||
shop_order => 'SL::Presenter::ShopOrder',
|
|||
text => 'SL::Presenter::Text',
|
|||
tag => 'SL::Presenter::Tag',
|
|||
bank_account => 'SL::Presenter::BankAccount',
|
|||
);
|
|||
sub wrap {
|
|||
bless [ $_[0] ], 'SL::Presenter::ALL::Wrapper';
|
|||
}
|
|||
package SL::Presenter::ALL::Wrapper;
|
|||
sub AUTOLOAD {
|
|||
our $AUTOLOAD;
|
|||
my ($self, @args) = @_;
|
|||
my $method = $AUTOLOAD;
|
|||
$method =~ s/.*:://;
|
|||
return if $method eq 'DESTROY';
|
|||
splice @args, -1, 1, %{ $args[-1] } if @args && (ref($args[-1]) eq 'HASH');
|
|||
if (my $sub = $self->[0]->can($method)) {
|
|||
return $sub->(@args);
|
|||
}
|
|||
}
|
|||
1;
|