kivitendo/SL/Presenter/ALL.pm @ 90b47258
0e5e3501 | Sven Schöling | package SL::Presenter::ALL;
|
||
use strict;
|
||||
use SL::Presenter::Chart;
|
||||
use SL::Presenter::CustomerVendor;
|
||||
d11ed75b | Cem Aydin | use SL::Presenter::DatePeriod;
|
||
0e5e3501 | Sven Schöling | use SL::Presenter::DeliveryOrder;
|
||
ad4bebf4 | Felix Eichler | use SL::Presenter::Dunning;
|
||
0e5e3501 | Sven Schöling | use SL::Presenter::EscapedText;
|
||
c4ad3f66 | Bernd Bleßmann | use SL::Presenter::FileObject;
|
||
0e5e3501 | Sven Schöling | 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;
|
||||
76cad441 | Sven Schöling | use SL::Presenter::MaterialComponents;
|
||
0e5e3501 | Sven Schöling | |||
our %presenters = (
|
||||
chart => 'SL::Presenter::Chart',
|
||||
customer_vendor => 'SL::Presenter::CustomerVendor',
|
||||
d11ed75b | Cem Aydin | date_period => 'SL::Presenter::DatePeriod',
|
||
0e5e3501 | Sven Schöling | delivery_order => 'SL::Presenter::DeliveryOrder',
|
||
ad4bebf4 | Felix Eichler | dunning => 'SL::Presenter::Dunning',
|
||
0e5e3501 | Sven Schöling | escaped_text => 'SL::Presenter::EscapedText',
|
||
2b6b46fe | Bernd Bleßmann | file_object => 'SL::Presenter::FileObject',
|
||
0e5e3501 | Sven Schöling | 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',
|
||||
76cad441 | Sven Schöling | M => 'SL::Presenter::MaterialComponents',
|
||
0e5e3501 | Sven Schöling | );
|
||
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;
|