String used to join location elements
+=item no_prefix
+
+Don't label the default service location as "Default service location".
+May become the default at some point.
+
=back
=cut
my $prefix = $self->label_prefix;
$prefix .= ($opt{join_string} || ': ') if $prefix;
+ $prefix = '' if $opt{'no_prefix'};
$prefix . $self->SUPER::location_label(%opt);
}
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;
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) : ''),
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 {
# 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',