X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fview%2Fsvc_phone.cgi;h=ffb6fcc4aac2c859d4feb5b35720e8fa06b0dbbe;hb=fb8915cce4be9520c00cc53c659e34abfb6172e1;hp=c5fce62d9bb8c1f839a64de248d03076c1a89263;hpb=457cf05ffc31212de613249c95a8ab05aed34f47;p=freeside.git
diff --git a/httemplate/view/svc_phone.cgi b/httemplate/view/svc_phone.cgi
index c5fce62d9..ffb6fcc4a 100644
--- a/httemplate/view/svc_phone.cgi
+++ b/httemplate/view/svc_phone.cgi
@@ -1,27 +1,58 @@
-<% include('elements/svc_Common.html',
+<& elements/svc_Common.html,
'table' => 'svc_phone',
- 'fields' => [qw(
- countrycode
- phonenum
- sip_password
- pin
- phone_name
- )],
- 'labels' => {
- 'countrycode' => 'Country code',
- 'phonenum' => 'Phone number',
- 'sip_password' => 'SIP password',
- 'pin' => 'PIN',
- 'phone_name' => 'Name',
- },
+ 'fields' => \@fields,
+ 'labels' => \%labels,
'html_foot' => $html_foot,
- )
-%>
+&>
<%init>
+my $conf = new FS::Conf;
+my $countrydefault = $conf->config('countrydefault') || 'US';
+
+my $fields = FS::svc_phone->table_info->{'fields'};
+my %labels = map { $_ => ( ref($fields->{$_})
+ ? $fields->{$_}{'label'}
+ : $fields->{$_}
+ );
+ } keys %$fields;
+
+my @fields = qw( countrycode phonenum );
+push @fields, 'domain' if $conf->exists('svc_phone-domain');
+push @fields, qw( pbx_title sip_password pin phone_name forwarddst email );
+
+if ( $conf->exists('svc_phone-lnp') ) {
+push @fields, 'lnp_status',
+ 'lnp_reject_reason',
+ { field => 'portable', type => 'checkbox', },
+ 'lrn',
+ { field => 'lnp_desired_due_date', type => 'date', },
+ { field => 'lnp_due_date', type => 'date', },
+ 'lnp_other_provider',
+ 'lnp_other_provider_account';
+}
+
my $html_foot = sub {
my $svc_phone = shift;
+ ###
+ # E911 Info
+ ###
+
+ my $e911 =
+ emt('E911 Information').
+ &ntable("#cccccc"). '
'. ntable("#cccccc",2).
+ ' |
'.emt('Location').' | '.
+ ''.
+ $svc_phone->location_label( 'join_string' => ' ',
+ 'double_space' => ' ',
+ 'escape_function' => \&encode_entities,
+ 'countrydefault' => $countrydefault,
+ ).
+ ' |
'.
+ ''.
+ '
'
+ ;
+
###
# Devices
###
@@ -56,6 +87,7 @@ my $html_foot = sub {
'Type | '.
'MAC Addr | '.
' | '.
+ ' | '.
'';
my $bgcolor1 = '#eeeeee';
my $bgcolor2 = '#ffffff';
@@ -71,10 +103,12 @@ my $html_foot = sub {
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).
@@ -95,19 +129,37 @@ my $html_foot = sub {
'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';
- #my @links = map {
- # qq().
- # "View $_ CDRs";
- #} keys(%what);
+ #src & charged party as per voip_cdr.pm
+ #XXX handle toll free too
+
+ my $search = "charged_party_or_src=";
+
+ my $cust_pkg = $svc_phone->cust_svc->cust_pkg;
+
+ if ( $cust_pkg ) {
+
+ #XXX handle voip_inbound too
+
+ my @part_pkg = grep { $_->plan eq 'voip_cdr' }
+ $cust_pkg->part_pkg->self_and_bill_linked;
+
+ foreach my $prefix (grep $_, map $_->option('default_prefix'), @part_pkg) {
+ $number .= ",$prefix$number";
+ }
+
+ $search = 'charged_party='
+ unless !@part_pkg || grep { ! $_->option('disable_src',1) } @part_pkg;
+
+ }
+
+ $search .= $number;
+
my @links = map {
- qq().
+ qq().
"View $_ CDRs";
} keys(%what);
@@ -118,6 +170,7 @@ my $html_foot = sub {
# concatenate & return
###
+ $e911.
$devices.
join(' | ', @links ). '
'.
join(' | ', @ilinks). '
';