Show CDR details in Call list.

3.5
Andreas Granig 13 years ago
parent 753596fc74
commit fe2bc32ff2

@ -1333,7 +1333,7 @@ sub call_data : Local {
}
my $calls;
return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_calls',
return unless $c->model('Provisioning')->call_prov( $c, 'voip', 'get_subscriber_cdrs',
{ username => $$subscriber{username},
domain => $$subscriber{domain},
filter => { start_date => $sdate,
@ -1356,6 +1356,7 @@ sub call_data : Local {
);
}
$c->stash->{cdr_list} = $calls;
$c->stash->{call_list} = admin::Utils::prepare_call_list($c, $$subscriber{username}, $$subscriber{domain}, $calls, $listfilter, $bilprof);
$c->stash->{subscriber}{list_filter} = $listfilter if defined $listfilter;

@ -168,7 +168,7 @@ sub prepare_call_list {
$callentry{duration} = '00:00';
}
if(defined $$call{call_fee}) {
if(defined $$call{customer_cost}) {
# money is allways returned as cents
$callentry{call_fee} = sprintf $$bilprof{data}{currency} . " %.04f", $$call{call_fee}/100;
} else {
@ -203,25 +203,29 @@ sub prepare_call_list {
} else {
$callentry{direction_icon} = 'anruf_ein_err_small.gif';
}
if(!defined $$call{source_cli} or !length $$call{source_cli}
or $$call{source_cli} !~ /^\+?\d+$/)
{
if(!defined $$call{source_user} or !length $$call{source_user}) {
$callentry{partner} = 'anonym';
} elsif($$call{source_user} =~ /^\+?\d+$/) {
my $partner = $$call{source_user};
$partner =~ s/^$ccdp/+/;
$partner =~ s/^\+*/+/;
$callentry{partner} = $partner;
} else {
$callentry{partner} = $$call{source_user} .'@'. $$call{source_domain};
}
} else {
my $partner = $$call{source_cli};
$partner =~ s/^$ccdp/+/;
$partner =~ s/^\+*/+/;
$callentry{partner} = $partner;
}
if(!$$call{source_clir})
{
if($$call{source_cli} !~ /^\+?\d+$/)
{
if($$call{source_user} =~ /^\+?\d+$/) {
my $partner = $$call{source_user};
$partner =~ s/^$ccdp/+/;
$partner =~ s/^\+*/+/;
$callentry{partner} = $partner;
} else {
$callentry{partner} = $$call{source_user} .'@'. $$call{source_domain};
}
} else {
my $partner = $$call{source_cli};
$partner =~ s/^$ccdp/+/;
$partner =~ s/^\+*/+/;
$callentry{partner} = $partner;
}
}
else
{
$callentry{partner} = 'anonymous';
}
$callentry{partner_number} = $callentry{partner};
} else {

@ -1,4 +1,11 @@
<h3> Subscriber
<script type="text/javascript">
$(function() {
[% FOREACH i IN [0 .. cdr_list.max] %]
$('#cdrdialog[% i %]').dialog({autoOpen:false, width:640, title:'CDR Details'});
[% END %]
});
</script>
<h3> Subscriber
<a class="noarrow" href="detail?subscriber_id=[% subscriber.subscriber_id %]">
[% subscriber.username %]@[% subscriber.domain %]</a>
</h3>
@ -30,6 +37,21 @@
<img src="/static/images/anruf_aus_err_small.gif" width="14" height="13" alt=""> failed
</p>
[% FOREACH i IN [0 .. call_list.max] %]
[%
cdrentry = cdr_list.$i
%]
<div id="cdrdialog[% i %]">
<table>
[% FOREACH key IN cdrentry.keys.sort %]
<tr>
<td>[% key %]:</td><td>[% cdrentry.$key %]</td>
</tr>
[% END %]
</table>
</div>
[% END %]
<table class="calllist">
[% IF call_list %]
@ -42,9 +64,14 @@
<td class="callfee">charges</td>
[% END %]
<td class="calldate">date</td>
<td/>
</tr>
[% FOREACH callentry = call_list %]
[% FOREACH i IN [0 .. call_list.max] %]
[%
callentry = call_list.$i
cdrentry = cdr_list.$i
%]
<tr class="[% callentry.background %]">
<td class="calltype"><img src="/static/images/[% callentry.direction_icon %]" width="14" height="13" alt=""></td>
<td class="callnumber">[% callentry.partner %]</td>
@ -53,14 +80,15 @@
<td class="callfee">[% callentry.call_fee %]</td>
[% END %]
<td class="calldate">[% callentry.date %]</td>
<td><a href="#" onclick="$('#cdrdialog[% i %]').dialog('open');">Details</a></td>
</tr>
[% END %]
[% ELSE %]
<tr class="calllistheader"><td colspan="6" /></tr>
<tr class="calllistheader"><td colspan="7" /></tr>
<tr class="alt">
<td colspan="6">No matching calls found.</td>
<td colspan="7">No matching calls found.</td>
</tr>
[% END %]

Loading…
Cancel
Save