[freeside-commits] branch FREESIDE_2_3_BRANCH updated. 3dfaae28ab98903599de926e3bbd01a6479872f7
Mark Wells
mark at 420.am
Thu Apr 26 17:10:42 PDT 2012
The branch, FREESIDE_2_3_BRANCH has been updated
via 3dfaae28ab98903599de926e3bbd01a6479872f7 (commit)
from 7a4799ade451508cea6423ac2a90d3b1b1c0f1e0 (commit)
Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.
- Log -----------------------------------------------------------------
commit 3dfaae28ab98903599de926e3bbd01a6479872f7
Author: Mark Wells <mark at freeside.biz>
Date: Thu Apr 26 17:10:28 2012 -0700
site id in cust_location labels, #16815
diff --git a/FS/FS/Conf.pm b/FS/FS/Conf.pm
index c195e4f..535504c 100644
--- a/FS/FS/Conf.pm
+++ b/FS/FS/Conf.pm
@@ -3030,6 +3030,24 @@ and customer address. Include units.',
},
{
+ 'key' => 'cust_location-label_prefix',
+ 'section' => 'UI',
+ 'description' => 'Optional "site ID" to show in the location label',
+ 'type' => 'select',
+ 'select_hash' => [ '' => '',
+ 'CoStAg' => 'CoStAgXXXXX (country, state, agent name, locationnum)',
+ ],
+ },
+
+ {
+ 'key' => 'cust_location-agent_code',
+ 'section' => 'UI',
+ 'description' => 'Optional agent string for cust_location-label_prefix',
+ 'type' => 'text',
+ 'per_agent' => 1,
+ },
+
+ {
'key' => 'cust_pkg-display_times',
'section' => 'UI',
'description' => 'Display full timestamps (not just dates) for customer packages. Useful if you are doing real-time things like hourly prepaid.',
diff --git a/FS/FS/cust_location.pm b/FS/FS/cust_location.pm
index a5250ec..a99fa17 100644
--- a/FS/FS/cust_location.pm
+++ b/FS/FS/cust_location.pm
@@ -408,6 +408,42 @@ sub dealternize {
'';
}
+=item location_label
+
+Returns the label of the location object, with an optional site ID
+string (based on the cust_location-label_prefix config option).
+
+=cut
+
+sub location_label {
+ my $self = shift;
+ my %opt = @_;
+ my $conf = new FS::Conf;
+ my $prefix = '';
+ my $format = $conf->config('cust_location-label_prefix') || '';
+ if ( $format eq 'CoStAg' ) {
+ my $cust_or_prospect;
+ if ( $self->custnum ) {
+ $cust_or_prospect = FS::cust_main->by_key($self->custnum);
+ }
+ elsif ( $self->prospectnum ) {
+ $cust_or_prospect = FS::prospect_main->by_key($self->prospectnum);
+ }
+ my $agent = $conf->config('cust_location-agent_code',
+ $cust_or_prospect->agentnum)
+ || $cust_or_prospect->agent->agent;
+ # else this location is invalid
+ $prefix = uc( join('',
+ $self->country,
+ ($self->state =~ /^(..)/),
+ ($agent =~ /^(..)/),
+ sprintf('%05d', $self->locationnum)
+ ) );
+ }
+ $prefix .= ($opt{join_string} || ': ') if $prefix;
+ $prefix . $self->SUPER::location_label(%opt);
+}
+
=back
=head1 BUGS
-----------------------------------------------------------------------
Summary of changes:
FS/FS/Conf.pm | 18 ++++++++++++++++++
FS/FS/cust_location.pm | 36 ++++++++++++++++++++++++++++++++++++
2 files changed, 54 insertions(+), 0 deletions(-)
More information about the freeside-commits
mailing list