RT#41394: Add advertising source to customer fields selection [new solution, for...
[freeside.git] / FS / FS / cust_main / Search.pm
index 8e6d185..cc23f50 100644 (file)
@@ -620,6 +620,10 @@ listref (list returned by FS::UI::Web::parse_lt_gt($cgi, 'current_balance'))
 
 bool
 
+=item select_referral
+
+bool, join to part_referral and select part_referral.referral
+
 =back
 
 =cut
@@ -1013,10 +1017,6 @@ sub search {
       'ON (cust_main.'.$pre.'locationnum = '.$pre.'location.locationnum) ';
   }
 
-  # always make referral available in results
-  #   (maybe we should be using FS::UI::Web::join_cust_main instead?)
-  $addl_from .= ' LEFT JOIN part_referral ON (cust_main.refnum = part_referral.refnum) ';
-
   my $count_query = "SELECT COUNT(*) FROM cust_main $addl_from $extra_sql";
 
   my @select = (
@@ -1031,6 +1031,13 @@ sub search {
   my(@extra_headers) = ();
   my(@extra_fields)  = ();
 
+  if ($params->{'select_referral'}) {
+    $addl_from .= ' LEFT JOIN part_referral ON ( cust_main.refnum = part_referral.refnum ) ';
+    push @select, 'part_referral.referral';
+    push @extra_headers, 'Advertising Source';
+    push @extra_fields, 'referral';
+  }
+    
   if ($params->{'flattened_pkgs'}) {
 
     #my $pkg_join = '';