From 0715590a107d7e17a37b2f4235b6c8a540783d1e Mon Sep 17 00:00:00 2001 From: ivan Date: Wed, 22 Dec 2004 14:06:45 +0000 Subject: [PATCH] warn and require confirmation when editing next bill dates to a date in the past, closes; Bug#430 --- httemplate/edit/REAL_cust_pkg.cgi | 9 ++++++++- httemplate/edit/process/REAL_cust_pkg.cgi | 14 ++++++++++++-- 2 files changed, 20 insertions(+), 3 deletions(-) diff --git a/httemplate/edit/REAL_cust_pkg.cgi b/httemplate/edit/REAL_cust_pkg.cgi index d9b7579f6..9cbab2a16 100755 --- a/httemplate/edit/REAL_cust_pkg.cgi +++ b/httemplate/edit/REAL_cust_pkg.cgi @@ -1,12 +1,19 @@ <% -# +# my $error =''; my $pkgnum = ''; if ( $cgi->param('error') ) { $error = $cgi->param('error'); $pkgnum = $cgi->param('pkgnum'); + if ( $error eq '_bill_areyousure' ) { + my $bill = $cgi->param('bill'); + $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? ". + ''; + } } else { my($query) = $cgi->keywords; $query =~ /^(\d+)$/ or die "no pkgnum"; diff --git a/httemplate/edit/process/REAL_cust_pkg.cgi b/httemplate/edit/process/REAL_cust_pkg.cgi index 3d697ddfd..84d0cc129 100755 --- a/httemplate/edit/process/REAL_cust_pkg.cgi +++ b/httemplate/edit/process/REAL_cust_pkg.cgi @@ -8,9 +8,19 @@ $hash{'bill'} = $cgi->param('bill') ? str2time($cgi->param('bill')) : ''; $hash{'last_bill'} = $cgi->param('last_bill') ? str2time($cgi->param('last_bill')) : ''; $hash{'expire'} = $cgi->param('expire') ? str2time($cgi->param('expire')) : ''; -my $new = new FS::cust_pkg \%hash; -my $error = $new->replace($old); +my $new; +my $error; +if ( $hash{'bill'} != $old->bill # if the next bill date was changed + && $hash{'bill'} < time # to a date in the past + && ! $cgi->param('bill_areyousure') # and it wasn't confirmed + ) +{ + $error = '_bill_areyousure'; +} else { + $new = new FS::cust_pkg \%hash; + $error = $new->replace($old); +} if ( $error ) { $cgi->param('error', $error); -- 2.20.1