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') -%]
+
+
+
+
+