[freeside-commits] freeside/FS/FS Conf.pm, 1.205, 1.206 cust_main.pm, 1.299, 1.300

Ivan,,, ivan at wavetail.420.am
Mon Sep 10 18:33:53 PDT 2007


Update of /home/cvs/cvsroot/freeside/FS/FS
In directory wavetail:/tmp/cvs-serv23497

Modified Files:
	Conf.pm cust_main.pm 
Log Message:
add cust_main-require_phone and cust_main-require_invoicing_list_email options

Index: Conf.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/FS/Conf.pm,v
retrieving revision 1.205
retrieving revision 1.206
diff -u -d -r1.205 -r1.206
--- Conf.pm	23 Aug 2007 08:23:29 -0000	1.205
+++ Conf.pm	11 Sep 2007 01:33:50 -0000	1.206
@@ -2054,6 +2054,20 @@
     'type'        => 'textarea',
   },
 
+  {
+    'key'         => 'cust_main-require_phone',
+    'section'     => '',
+    'description' => 'Require daytime or night for all customer records.',
+    'type'        => 'checkbox',
+  },
+
+  {
+    'key'         => 'cust_main-require_invoicing_list_email',
+    'section'     => '',
+    'description' => 'Require at least one invoicing email address for all customer records.',
+    'type'        => 'checkbox',
+  },
+
 );
 
 1;

Index: cust_main.pm
===================================================================
RCS file: /home/cvs/cvsroot/freeside/FS/FS/cust_main.pm,v
retrieving revision 1.299
retrieving revision 1.300
diff -u -d -r1.299 -r1.300
--- cust_main.pm	11 Sep 2007 00:28:03 -0000	1.299
+++ cust_main.pm	11 Sep 2007 01:33:50 -0000	1.300
@@ -350,7 +350,8 @@
     $error = $self->check_invoicing_list( $invoicing_list );
     if ( $error ) {
       $dbh->rollback if $oldAutoCommit;
-      return "checking invoicing_list (transaction rolled back): $error";
+      #return "checking invoicing_list (transaction rolled back): $error";
+      return $error;
     }
     $self->invoicing_list( $invoicing_list );
   }
@@ -1274,6 +1275,21 @@
   ;
   return $error if $error;
 
+  if ( $conf->exists('cust_main-require_phone')
+       && ! length($self->daytime) && ! length($self->night)
+     ) {
+
+    my $daytime_label = FS::Msgcat::_gettext('daytime') =~ /^(daytime)?$/
+                          ? 'Day Phone'
+                          : FS::Msgcat::_gettext('daytime');
+    my $night_label = FS::Msgcat::_gettext('night') =~ /^(night)?$/
+                        ? 'Night Phone'
+                        : FS::Msgcat::_gettext('night');
+  
+    return "$daytime_label or $night_label is required"
+  
+  }
+
   my @addfields = qw(
     last first company address1 address2 city county state zip
     country daytime night fax
@@ -4131,7 +4147,8 @@
 
 sub check_invoicing_list {
   my( $self, $arrayref ) = @_;
-  foreach my $address ( @{$arrayref} ) {
+
+  foreach my $address ( @$arrayref ) {
 
     if ($address eq 'FAX' and $self->getfield('fax') eq '') {
       return 'Can\'t add FAX invoice destination with a blank FAX number.';
@@ -4146,7 +4163,13 @@
                 : $cust_main_invoice->checkdest
     ;
     return $error if $error;
+
   }
+
+  return "Email address required"
+    if $conf->exists('cust_main-require_invoicing_list_email')
+    && ! grep { $_ !~ /^([A-Z]+)$/ } @$arrayref;
+
   '';
 }
 



More information about the freeside-commits mailing list