X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fedit%2Fprocess%2Fsvc_phone.html;h=09398fdfbc1d17689a8121502b5332477df63ef8;hp=27a703cdf125033f8eed4d9fe847ea657c8fda6f;hb=3f2a7b01b59902faed5767d81e2959e131bdbdfd;hpb=0930d22ffc440f80c1b222b2e750cadbabd9e8f6 diff --git a/httemplate/edit/process/svc_phone.html b/httemplate/edit/process/svc_phone.html index 27a703cdf..09398fdfb 100644 --- a/httemplate/edit/process/svc_phone.html +++ b/httemplate/edit/process/svc_phone.html @@ -1,10 +1,64 @@ -<% include( 'elements/svc_Common.html', - 'table' => 'svc_phone', - ) -%> +<& elements/svc_Common.html, + 'table' => 'svc_phone', + 'args_callback' => $args_callback, + 'value_callback' => $value_callback, + 'edit_callback' => $edit_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('Provision customer service'); #something else more specific? + unless $FS::CurrentUser::CurrentUser->access_right($right); + +$cgi->param('phonenum', $cgi->param('phonenum_manual') ) + if $cgi->param('phonenum_which') eq 'phonenum_manual'; + +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 = FS::cust_location->new({ + 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; +}; + +my $edit_callback = sub { + my( $new, $old ) = @_; + $new->sip_password( $old->sip_password ) if $new->sip_password eq '*HIDDEN*'; +};