From: ivan Date: Wed, 22 Dec 2004 14:06:45 +0000 (+0000) Subject: warn and require confirmation when editing next bill dates to a date in the past... X-Git-Tag: SQL_LEDGER_2_4_4~1^2~539 X-Git-Url: http://git.freeside.biz/gitweb/?a=commitdiff_plain;h=0715590a107d7e17a37b2f4235b6c8a540783d1e;p=freeside.git warn and require confirmation when editing next bill dates to a date in the past, closes; Bug#430 --- 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);