X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fview%2Fsvc_phone.cgi;h=6e40fea54d0a3036a48a3e9b679bf9a879c6b7d9;hb=b5c4237a34aef94976bc343c8d9e138664fc3984;hp=3424d34f3193614c7d4f99ae2f4f41480267edd4;hpb=39a2828f29728d34af96fc6e0aef23ea01f7a7a2;p=freeside.git diff --git a/httemplate/view/svc_phone.cgi b/httemplate/view/svc_phone.cgi index 3424d34f3..6e40fea54 100644 --- a/httemplate/view/svc_phone.cgi +++ b/httemplate/view/svc_phone.cgi @@ -1,15 +1,7 @@ <% include('elements/svc_Common.html', 'table' => 'svc_phone', 'fields' => \@fields, - 'labels' => { - 'countrycode' => 'Country code', - 'phonenum' => 'Phone number', - 'domain' => 'Domain', - 'pbx_title' => 'PBX', - 'sip_password' => 'SIP password', - 'pin' => 'PIN', - 'phone_name' => 'Name', - }, + 'labels' => \%labels, 'html_foot' => $html_foot, ) %> @@ -18,9 +10,27 @@ 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 ); +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; @@ -125,21 +135,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_or_src=$number"; - } else { - $search = "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";