X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fview%2Fsvc_phone.cgi;h=ebde4222850685c7e046d195f2d8e121fa2f13f4;hb=4bd9d3d9dc5325f0d7bd498e457140b15d01866c;hp=6f39860836216943cdc695d51362a1a404a3e030;hpb=1203e278e2ec38fcf1468da2e4f10862004bebeb;p=freeside.git diff --git a/httemplate/view/svc_phone.cgi b/httemplate/view/svc_phone.cgi index 6f3986083..ebde42228 100644 --- a/httemplate/view/svc_phone.cgi +++ b/httemplate/view/svc_phone.cgi @@ -1,19 +1,122 @@ <% include('elements/svc_Common.html', 'table' => 'svc_phone', - 'fields' => [qw( countrycode phonenum pin )], + 'fields' => \@fields, 'labels' => { - 'countrycode' => 'Country code', - 'phonenum' => 'Phone number', - 'pin' => 'PIN', + 'countrycode' => 'Country code', + 'phonenum' => 'Phone number', + 'domain' => 'Domain', + 'pbx_title' => 'PBX', + 'sip_password' => 'SIP password', + 'pin' => 'PIN', + 'phone_name' => 'Name', }, 'html_foot' => $html_foot, ) %> <%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 $loc = $svc_phone->cust_location_or_main; + + my $e911 = + 'E911 Information'. + &ntable("#cccccc"). ''. ntable("#cccccc",2). + 'Location'. + ''. + $loc->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', @@ -23,17 +126,29 @@ my $html_foot = sub { #XXX handle toll free too my $number = $svc_phone->phonenum; + $number = $svc_phone->countrycode. $number + unless $svc_phone->countrycode eq '1'; #my @links = map { # qq(). # "View $_ CDRs"; #} keys(%what); my @links = map { - qq(). + qq(). "View $_ CDRs"; } keys(%what); - join(' | ', @links). '
'; + my @ilinks = ( qq(). + 'View incoming CDRs' ); + + ### + # concatenate & return + ### + + $e911. + $devices. + join(' | ', @links ). '
'. + join(' | ', @ilinks). '
'; };