X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fedit%2Fsvc_phone.cgi;h=2c19d2cd9026e7b284ea7cd6fac9da03c745a070;hp=ca62b641636ca49f189332f6234d553a9ada350c;hb=4665d5af02f915679207a369222472a25e137c9d;hpb=c8cccb4a92adceb943c635fe62dad0d034462ce0 diff --git a/httemplate/edit/svc_phone.cgi b/httemplate/edit/svc_phone.cgi index ca62b6416..2c19d2cd9 100644 --- a/httemplate/edit/svc_phone.cgi +++ b/httemplate/edit/svc_phone.cgi @@ -1,11 +1,93 @@ <% include( 'elements/svc_Common.html', - 'name' => 'Phone number', 'table' => 'svc_phone', - 'fields' => [qw( countrycode phonenum )], #pin - 'labels' => { - 'countrycode' => 'Country code', - 'phonenum' => 'Phone number', - 'pin' => 'PIN', - }, + 'fields' => \@fields, + 'svc_new_callback' => sub { + my( $cgi, $svc_x, $part_svc, $cust_pkg, $fields, $opt ) = @_; + $svc_x->locationnum($cust_pkg->locationnum) if $cust_pkg; + }, ) %> +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Provision customer service'); #something else more specific? + +my $conf = new FS::Conf; + +my @fields = ( 'countrycode', + { field => 'phonenum', + type => 'select-did', + label => 'Phone number', + }, + ); + +push @fields, { field => 'domsvc', + type => 'select-svc-domain', + label => 'Domain', + } + if $conf->exists('svc_phone-domain'); + +push @fields, { field => 'pbxsvc', + type => 'select-svc_pbx', + label => 'PBX', + }, + 'sip_password', + 'pin', + { field => 'phone_name', + type => 'text', + maxlength => $conf->config('svc_phone-phone_name-max_length'), + }, + 'forwarddst', + 'email', + + { value => 'E911 Information', + type => 'tablebreak-tr-title', + colspan => 8, + }, + { field => 'locationnum', + type => 'select-cust_location', + label => 'E911 location', + include_opt_callback => sub { + my $svc_phone = shift; + my $pkgnum = $svc_phone->get('pkgnum') + || $cgi->param('pkgnum') + || $svc_phone->cust_svc->pkgnum; #hua? + #cross agent location exposure? sheesh + my $cust_pkg = qsearchs('cust_pkg', {'pkgnum' => $pkgnum}); + my $cust_main = $cust_pkg ? $cust_pkg->cust_main : ''; + ( 'no_bold' => 1, + 'cust_pkg' => $cust_pkg, + 'cust_main' => $cust_main, + ); + }, + }, + { field => 'custnum', type=> 'hidden' }, #for new cust_locations +; + +if ( $conf->exists('svc_phone-lnp') ) { + push @fields, + { value => 'Number Portability', + type => 'tablebreak-tr-title', + colspan => 8, + }, + { field => 'lnp_status', + type => 'select-lnp_status', + }, + 'lnp_reject_reason', + { field => 'portable', + type => 'checkbox', + }, + 'lrn', + { field => 'lnp_desired_due_date', + type => 'input-date-field', + }, + { field => 'lnp_due_date', + type => 'input-date-field', + noinit => 1, + }, + 'lnp_other_provider', + 'lnp_other_provider_account', +; +} + +