From 2966b6f4662d0fa76ed49e1eac9d3f6ed1ea5b22 Mon Sep 17 00:00:00 2001 From: ivan Date: Mon, 30 Nov 2009 00:04:23 +0000 Subject: 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 --- httemplate/edit/process/REAL_cust_pkg.cgi | 23 +++++++++++++++++------ 1 file changed, 17 insertions(+), 6 deletions(-) (limited to 'httemplate/edit/process/REAL_cust_pkg.cgi') 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); -- cgit v1.2.1