% my %addr_label = ('bill' => 'Billing address', 'ship' => 'Service address'); %# Locations (possibly break this out) % my @which = ('bill', 'ship'); % while (@which) { % my $this = shift @which; % my $method = $this.'_location'; % my $location = $cust_main->$method; <% mt( $addr_label{$this} ) |h %> % if ( $this eq 'ship' and % $cust_main->bill_locationnum == $cust_main->ship_locationnum ) % { (<% emt('same as billing') %>) % } % if ( % ($this eq 'ship') % && $cust_main->invoice_ship_address % && !$conf->exists('invoice-ship_address') #it's always on, so hide per-cust config % ) { (<% emt('included on invoices') %>) % } % if ( $this eq 'bill' ) { % #billing contact fields % if ( $conf->exists('show_ss') ) { % } % if ( $conf->exists('cust_main-enable_spouse') and % ($cust_main->spouse_last or $cust_main->spouse_first) ) { % } % % # invoicing email % if ( scalar(@invoicing_list) == 1 ) { # typical individual user; show here % } elsif ( scalar(@invoicing_list) > 1 ) { % # business customer with a contact list % # show nothing here % % } else { # there is no invoice email for them % if ( !$cust_main->postal_invoice or % $conf->exists('cust_main-require_invoicing_list_email', % $cust_main->agentnum) % ) { % # we need a contact email for this customer (either because that's % # policy, or because otherwise they won't receive invoices) but we % # don't have one. % } else { % } % } # end of invoicing email % if ( $cust_main->company ) { % } % } elsif ( $this eq 'ship' ) { % if ( $cust_main->ship_company ) { # mostly obsolete these days... % } % } % if ( $location ) { # now the actual address % if ( $location->locationname ) { % } % if ( $location->get('address2') ) { % my $address2_label = $conf->exists('cust_main-require_address2') % ? emt('Unit #') % : ' '; % } % if ( $location->latitude && $location->longitude ) { <& /elements/tr-coords.html, $location->latitude, $location->longitude, $cust_main->name_short, $cust_main->agentnum, &> % } <& /elements/tr-censustract.html, $location &> % } % if ( $this eq 'bill' ) { % # billing contact phone numbers % foreach my $phone (qw(daytime night mobile)) { % next if !$cust_main->get($phone); % } #foreach $phone % if ( $cust_main->get('fax') ) { % } % % if ( $conf->exists('show_stateid') ) { % } % } #if $this eq 'bill'
<% mt('Contact name') |h %> <% $cust_main->contact |h %><% mt('SS#') |h %> <% $conf->exists('unmask_ss') ? $cust_main->ss : $cust_main->masked('ss') || ' ' %> % if ( !$conf->exists('unmask_ss') && $FS::CurrentUser::CurrentUser->access_right('Unmask customer SSN')) { <& /elements/link-replace_element_text.html, { target_id => 'ss_span', replace_text => $cust_main->ss, element_type => 'span' } &> % }
<% mt('Spouse') |h %> <% join(', ', grep $_, $cust_main->spouse_last, $cust_main->spouse_first) %>
<% mt('Email address') |h %> <% $invoicing_list[0] %>
<% mt('Email address') |h %><% emt('none') %><% emt('no') %>
<% mt('Company') |h %> <% $cust_main->company |h %>
<% mt('Company') |h %> <% $cust_main->ship_company |h %>
<% mt('Location ID') |h %> <% $location->locationname |h %>
<% mt('Address') |h %> <% $location->address1 |h %>
<% $address2_label %> <% $location->address2 |h %>
<% $location->city |h %>\ % if ( $location->county ) { (<% $location->county |h %> county)\ % } <% ($location->city || $location->county) ? ', ' : ''%><% state_label( $location->state, $location->country ) |h %> <% $location->zip |h %>
<% $location->country_full |h %>
<% $phone_label{$phone} %> <& /elements/phonenumber.html, $cust_main->get($phone), callable => 1, calling_list_exempt => $cust_main->calling_list_exempt, &>
<% mt('Fax') |h %> <% $cust_main->get('fax') || ' ' %>
<% $stateid_label %> <% $cust_main->masked('stateid') || ' ' %> % if ( $FS::CurrentUser::CurrentUser->access_right('Unmask customer DL')) { <& /elements/link-replace_element_text.html, { target_id => 'stateid_span', replace_text => $cust_main->stateid, element_type => 'span' } &> % } <% $stateid_state_label %> <% $cust_main->stateid_state || ' ' %>
% if ( @which ) {
% } % } #while @which <%once> my %phone_label = ( 'daytime' => ( FS::Msgcat::_gettext('daytime') =~ /^(daytime)?$/ ? 'Day Phone' : FS::Msgcat::_gettext('daytime') ), 'night' => ( FS::Msgcat::_gettext('night') =~ /^(night)?$/ ? 'Night Phone' : FS::Msgcat::_gettext('night') ), 'mobile' => ( FS::Msgcat::_gettext('mobile') =~ /^(mobile)?$/ ? 'Mobile Phone' : FS::Msgcat::_gettext('Mobile') ), ); my $stateid_label = FS::Msgcat::_gettext('stateid') =~ /^(stateid)?$/ ? 'Driver’s License' : FS::Msgcat::_gettext('stateid'); my $stateid_state_label = FS::Msgcat::_gettext('stateid_state') =~ /^(stateid_state)?$/ ? 'Driver’s License State' : FS::Msgcat::_gettext('stateid_state'); <%init> my $cust_main = shift; my $conf = new FS::Conf; my @invoicing_list = $cust_main->invoicing_list_emailonly;