X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fview%2Fsvc_phone.cgi;h=27d270c89b1fc416f79e7c8e74ef7875534defd5;hb=874ad675da1321638b374d0b574231d7fa577196;hp=12b246297a49c3f344489b50f2cb64ae851c5b04;hpb=5a218e8d28a8fd7c486ca84413b13bae5a987f76;p=freeside.git
diff --git a/httemplate/view/svc_phone.cgi b/httemplate/view/svc_phone.cgi
index 12b246297..27d270c89 100644
--- a/httemplate/view/svc_phone.cgi
+++ b/httemplate/view/svc_phone.cgi
@@ -1,15 +1,11 @@
<% include('elements/svc_Common.html',
'table' => 'svc_phone',
- 'fields' => [qw(
- countrycode
- phonenum
- sip_password
- pin
- phone_name
- )],
+ 'fields' => \@fields,
'labels' => {
'countrycode' => 'Country code',
'phonenum' => 'Phone number',
+ 'domain' => 'Domain',
+ 'pbx_title' => 'PBX',
'sip_password' => 'SIP password',
'pin' => 'PIN',
'phone_name' => 'Name',
@@ -19,31 +15,145 @@
%>
<%init>
+my $conf = new FS::Conf;
+my $countrydefault = $conf->config('countrydefault') || 'US';
+
+my @fields = qw( countrycode phonenum );
+push @fields, 'domain' if $conf->exists('svc_phone-domain');
+push @fields, qw( pbx_title sip_password pin phone_name );
+
my $html_foot = sub {
my $svc_phone = shift;
+ ###
+ # E911 Info
+ ###
+
+ my $e911 =
+ 'E911 Information'.
+ &ntable("#cccccc"). '
'. ntable("#cccccc",2).
+ ' |
Location | '.
+ ''.
+ $svc_phone->location_label( 'join_string' => ' ',
+ 'double_space' => ' ',
+ 'escape_function' => \&encode_entities,
+ 'countrydefault' => $countrydefault,
+ ).
+ ' |
'.
+ ''.
+ '
'
+ ;
+
+ ###
+ # Devices
+ ###
+
+ my $devices = '';
+
+ my $sth = dbh->prepare("SELECT COUNT(*) FROM part_device") #WHERE disabled = '' OR disabled IS NULL;");
+ or die dbh->errstr;
+ $sth->execute or die $sth->errstr;
+ my $num_part_device = $sth->fetchrow_arrayref->[0];
+
+ my @phone_device = $svc_phone->phone_device;
+ if ( @phone_device || $num_part_device ) {
+ my $svcnum = $svc_phone->svcnum;
+ $devices .=
+ qq[Devices (Add device)
];
+ if ( @phone_device ) {
+
+ $devices .= qq!
+
+ !;
+
+
+ $devices .=
+ include('/elements/table-grid.html').
+ ''.
+ 'Type | '.
+ 'MAC Addr | '.
+ ' | '.
+ ' | '.
+ '
';
+ my $bgcolor1 = '#eeeeee';
+ my $bgcolor2 = '#ffffff';
+ my $bgcolor = '';
+
+ foreach my $phone_device ( @phone_device ) {
+
+ if ( $bgcolor eq $bgcolor1 ) {
+ $bgcolor = $bgcolor2;
+ } else {
+ $bgcolor = $bgcolor1;
+ }
+ my $td = qq();
+
+ my $devicenum = $phone_device->devicenum;
+ my $export_links = join( ' ', @{ $phone_device->export_links } );
+
+ $devices .= ' | '.
+ $td. $phone_device->part_device->devicename. ''.
+ $td. $phone_device->mac_addr. ''.
+ $td. $export_links. ''.
+ "$td( ".
+ qq(edit | ).
+ qq(delete).
+ ' )'.
+ '
';
+ }
+ $devices .= '
';
+ }
+ $devices .= '
';
+ }
+
+ ##
+ # CDR links
+ ##
+
tie my %what, 'Tie::IxHash',
'pending' => 'NULL',
'billed' => 'done',
;
- #XXX src & charged party (& default prefix) as per voip_cdr.pm
- #XXX handle toll free too
-
my $number = $svc_phone->phonenum;
+ $number = $svc_phone->countrycode. $number
+ unless $svc_phone->countrycode eq '1';
+
+ #src & charged party as per voip_cdr.pm
+ my $search;
+ my $cust_pkg = $svc_phone->cust_svc->cust_pkg;
+ if ( $cust_pkg && $cust_pkg->part_pkg->option('disable_src') ) {
+ $search = "charged_party=$number";
+ } else {
+ $search = "charged_party_or_src=$number";
+ }
+
+ #XXX default prefix as per voip_cdr.pm
+ #XXX handle toll free too
#my @links = map {
# qq().
# "View $_ CDRs";
#} keys(%what);
my @links = map {
- qq().
+ qq().
"View $_ CDRs";
} keys(%what);
- my @ilinks = ( qq().
+ my @ilinks = ( qq().
'View incoming CDRs' );
+ ###
+ # concatenate & return
+ ###
+
+ $e911.
+ $devices.
join(' | ', @links ). '
'.
join(' | ', @ilinks). '
';