<& 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*'; };