diff options
author | ivan <ivan> | 2009-11-30 00:04:21 +0000 |
---|---|---|
committer | ivan <ivan> | 2009-11-30 00:04:21 +0000 |
commit | 20c9ad0d871b072d0ed15e461156c0d73307db7c (patch) | |
tree | e1780f448bbb600b167c86b4c090d855b42bb418 /httemplate/edit/process/REAL_cust_pkg.cgi | |
parent | 752ed76d717d305b12e32fd2a68b1a253f63008d (diff) |
UI changes to make it impossible to add a start date to a package that already has a setup fee (can still remove an existing start date causing problems), RT#6712
Diffstat (limited to 'httemplate/edit/process/REAL_cust_pkg.cgi')
-rwxr-xr-x | httemplate/edit/process/REAL_cust_pkg.cgi | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/httemplate/edit/process/REAL_cust_pkg.cgi b/httemplate/edit/process/REAL_cust_pkg.cgi index d4ba976c4..22aab44e8 100755 --- a/httemplate/edit/process/REAL_cust_pkg.cgi +++ b/httemplate/edit/process/REAL_cust_pkg.cgi @@ -27,14 +27,25 @@ $hash{'last_bill'} = $hash{'adjourn'} = $cgi->param('adjourn') ? str2time($cgi->param('adjourn')) : ''; $hash{'expire'} = $cgi->param('expire') ? str2time($cgi->param('expire')) : ''; +my @errors = (); + +push @errors, '_bill_areyousure' + 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 + +push @errors, '_setup_areyousure' + if ! $hash{'setup'} && $old->setup # if the setup date was removed + && ! $cgi->param('setup_areyousure'); # and it wasn't confirmed + +push @errors, '_start' + if $hash{'start_date'} && $old->start_date # if a start date was added + && $hash{'setup'}; # but there's a setup date + 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'; +if ( @errors ) { + $error = join(',', @errors); } else { $new = new FS::cust_pkg \%hash; $error = $new->replace($old); |