diff options
Diffstat (limited to 'httemplate/edit/process/svc_phone.html')
| -rw-r--r-- | httemplate/edit/process/svc_phone.html | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/httemplate/edit/process/svc_phone.html b/httemplate/edit/process/svc_phone.html new file mode 100644 index 000000000..7a3b43d32 --- /dev/null +++ b/httemplate/edit/process/svc_phone.html @@ -0,0 +1,55 @@ +<& elements/svc_Common.html, + 'table' => 'svc_phone', + 'args_callback' => $args_callback, + 'value_callback' => $value_callback, + %opt, +&> +<%init> + +my %opt = (); +if ( $cgi->param('bulk') ) { + $opt{'bulk'} = 'phonenum'; + + my $cust_pkg = qsearchs('cust_pkg', { pkgnum=>scalar($cgi->param('pkgnum')) }) + or die "unknown pkgnum"; + my $custnum = $cust_pkg->custnum; + + my $show = + $FS::CurrentUser::CurrentUser->default_customer_view =~ /^(jumbo|packages)$/ + ? '' + : ';show=packages'; + #my $frag = "cust_pkg$pkgnum"; #hack for IE ignoring real #fragment + $opt{'redirect'}= popurl(3)."view/cust_main.cgi?custnum=$custnum$show;dummy="; +} + +my $right = $opt{'bulk'} ? 'Bulk provision customer service' + : 'Provision customer service'; + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right($right); + +my $tollfreephonenum = $cgi->param('tollfreephonenum'); +$cgi->param('phonenum',$tollfreephonenum) if $tollfreephonenum =~ /^\d+$/; + +my $args_callback = sub { + my( $cgi, $object ) = @_; + + my %opt = (); + if ( $cgi->param('locationnum') == -1 ) { + my $cust_location = new FS::cust_location { + map { $_ => scalar($cgi->param($_)) } + qw( custnum address1 address2 city county state zip country ) + }; + $opt{'cust_location'} = $cust_location; + } + + %opt; + +}; + +my $value_callback = sub { + my ($field, $value) = @_; + ($field =~ /_date$/) ? parse_datetime($value) : $value; +}; + +</%init> |
