X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fview%2Fsvc_phone.cgi;h=2a2ef243b36f1b323e425ee37c4412d208e46121;hp=94948a78bc6e88712b730b825c02b87370ed6c12;hb=4d81e21107622f8731a6301c3c811108840582fd;hpb=7353f670ef61e617a9dfb6c258907eb70e0345f6 diff --git a/httemplate/view/svc_phone.cgi b/httemplate/view/svc_phone.cgi index 94948a78b..2a2ef243b 100644 --- a/httemplate/view/svc_phone.cgi +++ b/httemplate/view/svc_phone.cgi @@ -1,10 +1,9 @@ -<% include('elements/svc_Common.html', +<& elements/svc_Common.html, 'table' => 'svc_phone', 'fields' => \@fields, - 'labels' => \%labels, + 'labels' => \%labels, 'html_foot' => $html_foot, - ) -%> +&> <%init> my $conf = new FS::Conf; @@ -17,18 +16,41 @@ my %labels = map { $_ => ( ref($fields->{$_}) ); } keys %$fields; -my @fields = qw( countrycode phonenum ); +my @fields = qw( countrycode phonenum sim_imsi ); push @fields, 'domain' if $conf->exists('svc_phone-domain'); -push @fields, qw( pbx_title sip_password pin phone_name ); +push @fields, qw( pbx_title ); + +if ( $conf->exists('showpasswords') ) { + push @fields, qw( sip_password ); +} else { + push @fields, { 'field' => 'sip_password', #'_HIDDEN_sip_password', + 'type' => 'fixed', + 'value' => '('. mt('hidden') .')', + }; +} + +push @fields, qw( pin phone_name forwarddst email ); + +push @fields, { field => 'sms_carrierid', + #type=>'cdr_carrier', + value_callback => sub { + $_[0]->sms_carriername, + }, + }, + 'sms_account', + 'max_simultaneous', +; if ( $conf->exists('svc_phone-lnp') ) { -push @fields, 'lnp_status', - { 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'; + 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 { @@ -39,9 +61,9 @@ my $html_foot = sub { ### my $e911 = - 'E911 Information'. + emt('E911 Information'). &ntable("#cccccc"). ''. ntable("#cccccc",2). - 'Location'. + ''.emt('Location').''. ''. $svc_phone->location_label( 'join_string' => '
', 'double_space' => '   ', @@ -56,69 +78,13 @@ my $html_foot = sub { ### # Devices ### + #remove this when svc_phone isa device_Common, as elements/svc_Common will display it + my $devices = include('/view/elements/svc_devices.html', + 'svc_x' => $svc_phone, + 'table' => 'phone_device', + ); - 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 .= '
'; - } + my $status = include('/view/elements/svc_export_status.html', $svc_phone ); ## # CDR links @@ -127,6 +93,7 @@ my $html_foot = sub { tie my %what, 'Tie::IxHash', 'pending' => 'NULL', 'billed' => 'done', + 'skipped' => 'failed', ; my $number = $svc_phone->phonenum; @@ -134,21 +101,30 @@ my $html_foot = sub { unless $svc_phone->countrycode eq '1'; #src & charged party as per voip_cdr.pm - my $search; + #XXX handle toll free too + + my $search = "charged_party_or_src="; + 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"; + + 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; + } - #XXX default prefix as per voip_cdr.pm - #XXX handle toll free too + $search .= $number; - #my @links = map { - # qq(). - # "View $_ CDRs"; - #} keys(%what); my @links = map { qq(). "View $_ CDRs"; @@ -163,6 +139,7 @@ my $html_foot = sub { $e911. $devices. + $status. join(' | ', @links ). '
'. join(' | ', @ilinks). '
';