summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonathan Prykop <jonathan@freeside.biz>2016-05-12 22:37:25 -0500
committerJonathan Prykop <jonathan@freeside.biz>2016-05-13 23:05:07 -0500
commit063ced0a93e31b662d9aef69ee2c10b117f90784 (patch)
tree45d676cc5e93fd8bc92e0dc26760e9509971a10c
parent9f80fd85a1bbe4edeb075fc364da2a03edd294af (diff)
RT#41394: Add advertising source to customer fields selection [safer part_referral join, v3 merge]
-rw-r--r--FS/FS/UI/Web.pm4
-rw-r--r--FS/FS/cust_main/Search.pm2
2 files changed, 3 insertions, 3 deletions
diff --git a/FS/FS/UI/Web.pm b/FS/FS/UI/Web.pm
index 8e34b2c7b..81c4c7b7b 100644
--- a/FS/FS/UI/Web.pm
+++ b/FS/FS/UI/Web.pm
@@ -456,7 +456,7 @@ sub cust_sql_fields {
push @extra_fields, FS::cust_main->balance_sql . " AS current_balance";
}
- push @extra_fields, 'part_referral.referral AS referral'
+ push @extra_fields, 'part_referral_x.referral AS referral'
if grep { $_ eq 'referral' } @cust_fields;
map("cust_main.$_", @fields), @location_fields, @extra_fields;
@@ -524,7 +524,7 @@ sub join_cust_main {
}
if ( !@cust_fields or grep { $_ eq 'referral' } @cust_fields ) {
- $sql .= ' LEFT JOIN part_referral ON (cust_main.refnum = part_referral.refnum) ';
+ $sql .= ' LEFT JOIN (select refnum, referral from part_referral) AS part_referral_x ON (cust_main.refnum = part_referral_x.refnum) ';
}
$sql;
diff --git a/FS/FS/cust_main/Search.pm b/FS/FS/cust_main/Search.pm
index e9a42935d..22b8495bc 100644
--- a/FS/FS/cust_main/Search.pm
+++ b/FS/FS/cust_main/Search.pm
@@ -1061,7 +1061,7 @@ sub search {
# 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) ';
+ $addl_from .= ' LEFT JOIN (select refnum, referral from part_referral) AS part_referral_x ON (cust_main.refnum = part_referral_x.refnum) ';
my $count_query = "SELECT COUNT(*) FROM cust_main $addl_from $extra_sql";