X-Git-Url: http://git.freeside.biz/gitweb/?a=blobdiff_plain;f=httemplate%2Fedit%2FREAL_cust_pkg.cgi;h=fea85456f540212e1b26946d9f7ce162700e50aa;hb=0930d22ffc440f80c1b222b2e750cadbabd9e8f6;hp=0d2f1c23804e5155aecc15e5024dc9059b01c263;hpb=1f8d7610c245ecb21667aa656ce083420e5bb797;p=freeside.git diff --git a/httemplate/edit/REAL_cust_pkg.cgi b/httemplate/edit/REAL_cust_pkg.cgi index 0d2f1c238..fea85456f 100755 --- a/httemplate/edit/REAL_cust_pkg.cgi +++ b/httemplate/edit/REAL_cust_pkg.cgi @@ -1,89 +1,181 @@ - -<% -# +<% include("/elements/header.html",'Customer package - Edit dates') %> + +%#, menubar( +%# "View this customer (#$custnum)" => popurl(2). "view/cust_main.cgi?$custnum", +%#)); + + + + + + +
+ +<% include('/elements/footer.html') %> + +<%once> + +#my $format = "%c %z (%Z)"; +my $format = "%m/%d/%Y %T %z (%Z)"; + +#false laziness w/view/cust_main/packages.html +#my( $billed_or_prepaid, + +%once> +<%init> + +die "access denied" + unless $FS::CurrentUser::CurrentUser->access_right('Edit customer package dates'); + +my $error = ''; +my( $pkgnum, $cust_pkg ); -my $error =''; -my $pkgnum = ''; if ( $cgi->param('error') ) { - $error = $cgi->param('error'); + $pkgnum = $cgi->param('pkgnum'); + if ( $cgi->param('error') eq '_bill_areyousure' ) { + if ( $cgi->param('bill') =~ /^([\s\d\/\:\-\(\w\)]*)$/ ) { + my $bill = $1; + $cgi->param('error', ''); + $error = "You are attempting to set the next bill date to $bill, which is + in the past. This will charge the customer for the interval + from $bill until now. Are you sure you want to do this? ". + ''; + } + } + + #get package record + $cust_pkg = qsearchs('cust_pkg',{'pkgnum'=>$pkgnum}); + die "No package!" unless $cust_pkg; + + foreach my $col (qw( setup last_bill bill adjourn expire )) { + my $value = $cgi->param($col); + $cust_pkg->set( $col, $value ? str2time($value) : '' ); + } + } else { + my($query) = $cgi->keywords; $query =~ /^(\d+)$/ or die "no pkgnum"; $pkgnum = $1; + + #get package record + $cust_pkg = qsearchs('cust_pkg',{'pkgnum'=>$pkgnum}); + die "No package!" unless $cust_pkg; + } -#get package record -my $cust_pkg = qsearchs('cust_pkg',{'pkgnum'=>$pkgnum}); -die "No package!" unless $cust_pkg; -my $part_pkg = qsearchs('part_pkg',{'pkgpart'=>$cust_pkg->getfield('pkgpart')}); +my $part_pkg = qsearchs( 'part_pkg', { 'pkgpart' => $cust_pkg->pkgpart } ); -if ( $error ) { - #$cust_pkg->$_(str2time($cgi->param($_)) foreach qw(setup bill); - $cust_pkg->setup(str2time($cgi->param('setup'))); - $cust_pkg->bill(str2time($cgi->param('bill'))); +my( $last_bill_or_renewed, $next_bill_or_prepaid_until ); +unless ( $part_pkg->is_prepaid ) { + #$billed_or_prepaid = 'billed'; + $last_bill_or_renewed = 'Last bill'; + $next_bill_or_prepaid_until = 'Next bill'; +} else { + #$billed_or_prepaid = 'prepaid'; + $last_bill_or_renewed = 'Renewed'; + $next_bill_or_prepaid_until = 'Prepaid until'; } -#my $custnum = $cust_pkg->getfield('custnum'); -print header('Package Edit'); #, menubar( -# "View this customer (#$custnum)" => popurl(2). "view/cust_main.cgi?$custnum", -# 'Main Menu' => popurl(2) -#)); - -#print info -my($susp,$cancel,$expire)=( - $cust_pkg->getfield('susp'), - $cust_pkg->getfield('cancel'), - $cust_pkg->getfield('expire'), -); -my($pkg,$comment)=($part_pkg->getfield('pkg'),$part_pkg->getfield('comment')); -my($setup,$bill)=($cust_pkg->getfield('setup'),$cust_pkg->getfield('bill')); -my $otaker = $cust_pkg->getfield('otaker'); - -print ' -