X-Git-Url: http://wagnertech.de/git?a=blobdiff_plain;f=SL%2FDB%2FHelper%2FPaginated.pm;h=a0ad02cb8b0098be092e7f165ef3afdba7c999fa;hb=9dfc16f26bf07c977bbfdfb0986cd96aaa8a2ed2;hp=c490e2ab6dfb088db28b8bde99c79510bbc30a41;hpb=fd0c89ad6d22b99e2fe0c7532f4416916b75cf98;p=kivitendo-erp.git diff --git a/SL/DB/Helper/Paginated.pm b/SL/DB/Helper/Paginated.pm index c490e2ab6..a0ad02cb8 100644 --- a/SL/DB/Helper/Paginated.pm +++ b/SL/DB/Helper/Paginated.pm @@ -4,23 +4,23 @@ use strict; require Exporter; our @ISA = qw(Exporter); -our @EXPORT = qw(paginate); +our @EXPORT = qw(paginate disable_paginating); use List::MoreUtils qw(any); sub paginate { - my ($self, %params) = @_; - my $page = $params{page} || 1; - my %args = %{ $params{args} || {} }; + my ($self, %params) = @_; + my $page = $params{page} || 1; + my %args = %{ $params{args} || {} }; - my $ret = { }; + my $ret = { }; - $ret->{per_page} = per_page($self, %params); - $ret->{max} = ceil($self->get_all_count(%args), $ret->{per_page}) || 1; - $ret->{cur} = $page < 1 ? 1 - : $page > $ret->{max} ? $ret->{max} - : $page; - $ret->{common} = make_common_pages($ret->{cur}, $ret->{max}); + $ret->{per_page} = per_page($self, %params); + $ret->{max} = ceil($self->get_all_count(%args), $ret->{per_page}) || 1; + $ret->{cur} = $page < 1 ? 1 + : $page > $ret->{max} ? $ret->{max} + : $page; + $ret->{common} = make_common_pages($ret->{cur}, $ret->{max}); $params{args}{page} = $ret->{cur}; $params{args}{per_page} = $ret->{per_page}; @@ -64,6 +64,13 @@ sub calc_visibility { any { abs ($cur - $this) == $_ } 10, 50, 100, 500, 1000, 5000; } +sub disable_paginating { + my ($self, %params) = @_; + + delete $params{args}{page}; + delete $params{args}{per_page}; +} + 1; __END__