RT# 79497 - Changed email address check to all emails to be seperated by a space...
authorChristopher Burger <burgerc@freeside.biz>
Mon, 26 Feb 2018 17:00:12 +0000 (12:00 -0500)
committerChristopher Burger <burgerc@freeside.biz>
Mon, 26 Feb 2018 20:02:31 +0000 (15:02 -0500)
httemplate/edit/process/cust_main.cgi
httemplate/elements/change_history_common.html
httemplate/view/cust_main/change_history.html

index 088576f..ed285ca 100755 (executable)
@@ -187,7 +187,10 @@ if ( $cgi->param('residential_commercial') eq 'Residential' ) {
     $error = 'Email address required';
   }
 
-  $options{'invoicing_list'} = [ split(/\s*,\s*/, $email) ];
+  #$email =~ s/\s+/\, /g;
+  #$options{'invoicing_list'} = [ split(/\s*,\s*/, $email) ];
+  $options{'invoicing_list'} = [ split(/[,\s]+/, $email) ];
+  #[:,\s\/]+
   # XXX really should include the phone numbers in here also
 
 } else {
index 5fba236..4c05f4e 100644 (file)
@@ -210,6 +210,12 @@ my $tag_labelsub = sub {
   $label. ': <SPAN STYLE="background-color: #'.$part_tag->tagcolor.'">'. encode_entities($part_tag->tagname). '</SPAN>';
 };
 
+my $contact_labelsub = sub {
+  my($item, $label) = @_;
+  my $contact = qsearchs('h_contact',{ contactnum => $item->contactnum });
+  $label. ': <B>'. encode_entities($contact->first). ' ' . encode_entities($contact->last) . '</B>';
+};
+
 my %h_table_labelsub = (
   'h_cust_pkg'      => $pkg_labelsub,
   'h_svc_acct'      => $svc_labelsub,
@@ -222,6 +228,7 @@ my %h_table_labelsub = (
   'h_svc_phone'     => $svc_labelsub,
   #'h_phone_device'
   #'h_cust_tag'      => $tag_labelsub,
+  'h_contact'  => $contact_labelsub,
 );
 
 my $tag_descripsub = sub {
index f28196a..d8f0d1e 100644 (file)
@@ -48,6 +48,7 @@ tie my %tables, 'Tie::IxHash',
   'cust_pkg_discount' => 'Discount',
   #? it gets provisioned anyway 'phone_avail'         => 'Phone',
   'cust_tag'          => 'Tag',
+  'contact'           => 'Contact',
 ;
 
 my $pkg_join = "JOIN cust_pkg USING ( pkgnum )";
@@ -68,6 +69,7 @@ my %table_join = (
   'radius_usergroup' => $svc_join,
   'phone_device'     => $svc_join,
   'cust_pkg_discount'=> $pkg_join,
+  'contact'          => "JOIN cust_contact USING ( contactnum )",
 );
 
 %table_join = (%table_join, map { $_ => $svc_join } @svc_tables);
@@ -141,13 +143,16 @@ my $newer_than = int( time - $years * 31556736 ); #60*60*24*365.24
 
 local($FS::Record::nowarn_classload) = 1;
 
+my $extra_sql = ' AND custnum = '. $cust_main->custnum;
+
 my %foundsvcs;
 foreach my $table ( keys %tables ) {
+  $extra_sql = ' AND cust_contact.custnum = '. $cust_main->custnum if $table eq 'contact';
   my @items = qsearch({
     'table'     => "h_$table",
     'addl_from' => $table_join{$table},
     'hashref'   => { 'history_date' =>  { op=>'>=', value=>$newer_than }, },
-    'extra_sql' => ' AND custnum = '. $cust_main->custnum,
+    'extra_sql' => $extra_sql,
   });
   %foundsvcs = (%foundsvcs, map { $_->svcnum => 1 } @items)
     if $table =~ /^svc/;