diff options
author | Mark Wells <mark@freeside.biz> | 2015-11-24 12:23:14 -0800 |
---|---|---|
committer | Mark Wells <mark@freeside.biz> | 2015-11-24 12:23:14 -0800 |
commit | d5f8aa5cf1787238224add1a836f0d7577f3b9b7 (patch) | |
tree | f7fea708486a5eb8c6736bc4942d5ba18968429f /rt | |
parent | 9f480e19adb21d793cff899bae5dc80be4746092 (diff) |
add billing address fields to RT ticket search, #19154
Diffstat (limited to 'rt')
-rw-r--r-- | rt/lib/RT/URI/freeside/Internal.pm | 18 | ||||
-rw-r--r-- | rt/share/html/Elements/CustomerFields | 21 |
2 files changed, 34 insertions, 5 deletions
diff --git a/rt/lib/RT/URI/freeside/Internal.pm b/rt/lib/RT/URI/freeside/Internal.pm index d1479b5f9..33831bcac 100644 --- a/rt/lib/RT/URI/freeside/Internal.pm +++ b/rt/lib/RT/URI/freeside/Internal.pm @@ -211,6 +211,8 @@ sub CustomerResolver { sub CustomerInfo { my $self = shift; $self = $self->CustomerResolver; + return $self->{CustomerInfo} if $self->{CustomerInfo}; + my $rec = $self->_FreesideGetRecord() if $self; if (!$rec) { # AsStringLong will report an error; @@ -232,7 +234,11 @@ sub CustomerInfo { my $referral = qsearchs('part_referral', { refnum => $cust_main->refnum }); my @part_tags = $cust_main->part_tag; - return $self->{CustomerInfo} ||= { + my @lf = $cust_main->location_fields; + my $bill_location = $cust_main->bill_location; + my $ship_location = $cust_main->ship_location; + + my $info = { %$rec, AgentName => ($agent ? ($agent->agentnum.': '.$agent->agent) : ''), @@ -246,7 +252,17 @@ sub CustomerInfo { Referral => ($referral ? $referral->referral : ''), InvoiceEmail => $cust_main->invoicing_list_emailonly_scalar, BillingType => FS::payby->longname($cust_main->payby), + }; + + foreach my $field (@lf) { + $info->{"bill_$field"} = $bill_location->get($field); + $info->{"ship_$field"} = $ship_location->get($field); } + $info->{"bill_location"} = $bill_location->location_label(no_prefix => 1); + $info->{"ship_location"} = $ship_location->location_label(no_prefix => 1); + + + return $self->{CustomerInfo} = $info; } sub ServiceInfo { diff --git a/rt/share/html/Elements/CustomerFields b/rt/share/html/Elements/CustomerFields index d5419d213..226378ed8 100644 --- a/rt/share/html/Elements/CustomerFields +++ b/rt/share/html/Elements/CustomerFields @@ -90,16 +90,29 @@ my @customer_fields = ( # ordered # query/sort needed? }, { + Name => 'BillingAddress', + Label => 'Billing Address', + Display => 'bill_location', + }, + { + Name => 'StreetAddress1', + Label => 'Street Address', + Display => 'bill_address1', + }, + { + Name => 'StreetAddress2', + Label => '', + Display => 'bill_address2', + }, + { Name => 'City', Label => 'City', - Display => 'city', - OrderBy => 'Customer.city', + Display => 'bill_city', }, { Name => 'State', Label => 'State', - Display => 'state', - OrderBy => 'Customer.state', + Display => 'bill_state', }, { Name => 'CustomerTags', |