X-Git-Url: http://git.freeside.biz/gitweb/?p=freeside.git;a=blobdiff_plain;f=httemplate%2Fedit%2Fprocess%2Fsvc_phone.html;h=09398fdfbc1d17689a8121502b5332477df63ef8;hp=c1d4b754798a53cbd370bd2ce4b8f09d16e874a0;hb=3f2a7b01b59902faed5767d81e2959e131bdbdfd;hpb=1053db7f76169cbbc87840539959a4c362aff242 diff --git a/httemplate/edit/process/svc_phone.html b/httemplate/edit/process/svc_phone.html index c1d4b7547..09398fdfb 100644 --- a/httemplate/edit/process/svc_phone.html +++ b/httemplate/edit/process/svc_phone.html @@ -1,4 +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($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*'; +}; + +