X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDB%2FHelper%2FPresenter.pm;h=1dae8ccbdac531fddfbc83e01eb020c158c5f200;hb=a66cafd980c44371fd29b0383f665125d85b1cc7;hp=240d18ff2462340bfe518171af0658b1bf9edc9c;hpb=1918cfae42cdc2732863f1f7184bd8643b1b9358;p=kivitendo-erp.git diff --git a/SL/DB/Helper/Presenter.pm b/SL/DB/Helper/Presenter.pm index 240d18ff2..1dae8ccbd 100644 --- a/SL/DB/Helper/Presenter.pm +++ b/SL/DB/Helper/Presenter.pm @@ -17,7 +17,19 @@ sub AUTOLOAD { return if $method eq 'DESTROY'; - return $self->[0]->$method($self->[1], @args); + eval "require $self->[0]"; + + splice @args, -1, 1, %{ $args[-1] } if @args && (ref($args[-1]) eq 'HASH'); + + if (my $sub = $self->[0]->can($method)) { + return $sub->($self->[1], @args); + } +} + +sub can { + my ($self, $method) = @_; + eval "require $self->[0]"; + $self->[0]->can($method); } 1;