[freeside-commits] freeside/httemplate/edit/process REAL_cust_pkg.cgi, 1.12, 1.13

Ivan,,, ivan at wavetail.420.am
Sun Nov 29 16:04:24 PST 2009


Update of /home/cvs/cvsroot/freeside/httemplate/edit/process
In directory wavetail.420.am:/tmp/cvs-serv22378/process

Modified Files:
	REAL_cust_pkg.cgi 
Log Message:
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

Index: REAL_cust_pkg.cgi
===================================================================
RCS file: /home/cvs/cvsroot/freeside/httemplate/edit/process/REAL_cust_pkg.cgi,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- REAL_cust_pkg.cgi	30 Jun 2009 12:28:37 -0000	1.12
+++ REAL_cust_pkg.cgi	30 Nov 2009 00:04:21 -0000	1.13
@@ -27,14 +27,25 @@
 $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);



More information about the freeside-commits mailing list