diff options
author | ivan <ivan> | 2004-12-22 14:06:45 +0000 |
---|---|---|
committer | ivan <ivan> | 2004-12-22 14:06:45 +0000 |
commit | 0715590a107d7e17a37b2f4235b6c8a540783d1e (patch) | |
tree | 0b4b6867d2a16ffacd0a6941c8c6688243872745 /httemplate | |
parent | 5073a0d77b624018600f7fc01c7da2fee2849c18 (diff) |
warn and require confirmation when editing next bill dates to a date in the past, closes; Bug#430
Diffstat (limited to 'httemplate')
-rwxr-xr-x | httemplate/edit/REAL_cust_pkg.cgi | 9 | ||||
-rwxr-xr-x | 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 @@ <!-- mason kludge --> <% -# <!-- $Id: REAL_cust_pkg.cgi,v 1.7 2003-11-19 12:21:09 ivan Exp $ --> +# <!-- $Id: REAL_cust_pkg.cgi,v 1.8 2004-12-22 14:06:45 ivan Exp $ --> 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? ". + '<INPUT TYPE="checkbox" NAME="bill_areyousure" VALUE="1">'; + } } 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); |