diff --git a/lib/admin/Controller/subscriber.pm b/lib/admin/Controller/subscriber.pm index 64c7b50..454374d 100644 --- a/lib/admin/Controller/subscriber.pm +++ b/lib/admin/Controller/subscriber.pm @@ -1339,6 +1339,8 @@ sub call_data : Local { } } + my $listlimit = $c->request->params->{list_limit} || 100; + my $calls; return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_cdrs', { username => $$subscriber{username}, @@ -1350,6 +1352,8 @@ sub call_data : Local { \$calls ); + splice @$calls, $listlimit if ($listlimit && $listlimit =~ /^[0-9]+$/); + my $account; return unless $c->model('Provisioning')->call_prov( $c, 'billing', 'get_voip_account_by_id', { id => $$subscriber{account_id} }, @@ -1366,6 +1370,7 @@ sub call_data : Local { $c->stash->{cdr_list} = $calls; $c->stash->{call_list} = admin::Utils::prepare_call_list($c, $subscriber, $calls, $listfilter, $bilprof); $c->stash->{subscriber}{list_filter} = $listfilter if defined $listfilter; + $c->stash->{subscriber}{list_limit} = $listlimit if defined $listlimit; undef $c->stash->{call_list} unless eval { @{$c->stash->{call_list}} }; diff --git a/root/tt/subscriber_call_data.tt b/root/tt/subscriber_call_data.tt index 00b7975..54ff73b 100644 --- a/root/tt/subscriber_call_data.tt +++ b/root/tt/subscriber_call_data.tt @@ -120,6 +120,21 @@

+ [% limit_entries = [] -%] + [% limit_entries.push('100') -%] + [% limit_entries.push('1000') -%] + [% limit_entries.push('5000') -%] + [% limit_entries.push('10000') -%] + [% limit_entries.push('Unlimited') -%] +
+ +
+
+