$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 {
$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,
'h_svc_phone' => $svc_labelsub,
#'h_phone_device'
#'h_cust_tag' => $tag_labelsub,
+ 'h_contact' => $contact_labelsub,
);
my $tag_descripsub = sub {
'cust_pkg_discount' => 'Discount',
#? it gets provisioned anyway 'phone_avail' => 'Phone',
'cust_tag' => 'Tag',
+ 'contact' => 'Contact',
;
my $pkg_join = "JOIN cust_pkg USING ( pkgnum )";
'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);
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/;