%doc>
Example:
include( '/elements/location.html',
'object' => $cust_main, # or $cust_location
'prefix' => $pre, #only for cust_main objects
'onchange' => $javascript,
'disabled' => $disabled,
'same_checked' => $same_checked,
'geocode' => $geocode, #passed through
'censustract' => $censustract, #passed through
'no_asterisks' => 0, #set true to disable the red asterisks next
#to required fields
'address1_label' => 'Address', #label for address
)
%doc>
<%$r%><% $opt{'address1_label'} || 'Address' %> |
<% $style %>
>
|
>* >Unit # |
<% $style %>
>
|
<%$r%>City |
<% include('/elements/city.html', %select_hash) %> |
><%$r%>County |
<% include('/elements/select-county.html', %select_hash ) %> |
<%$r%>State |
<% include('/elements/select-state.html', %select_hash ) %>
|
<%$r%>Zip |
<% $style %>
>
|
<%$r%>Country |
<% include('/elements/select-country.html', %select_hash ) %> |
% if ( !$pre ) {
% } else {
% if ( $pre eq 'ship_' && $conf->exists('cust_main-require_censustract') ) {
Census tract (automatic) |
|
% } else {
% }
% }
<%init>
my %opt = @_;
my $pre = $opt{'prefix'};
my $object = $opt{'object'};
my $onchange = $opt{'onchange'};
my $disabled = $opt{'disabled'};
my $conf = new FS::Conf;
my $r = $opt{'no_asterisks'} ? '' : qq!* !;
#false laziness with ship state
my $countrydefault = $conf->config('countrydefault') || 'US';
$object->set($pre.'country', $countrydefault )
unless $object->get($pre.'country');
my $statedefault = $conf->config('statedefault')
|| ($countrydefault eq 'US' ? 'CA' : '');
$object->set($pre.'state', $statedefault )
unless $object->get($pre.'state')
|| $object->get($pre.'country') ne $countrydefault;
my @style = ();
push @style, 'background-color: #dddddd' if $disabled;
my @address2_label_style = ();
push @address2_label_style, 'visibility:hidden'
if $disabled
|| ! $conf->exists('cust_main-require_address2')
|| ( !$pre && !$opt{'same_checked'} );
my @counties = counties( $object->get($pre.'state'),
$object->get($pre.'country'),
);
my @county_style = ();
push @county_style, 'display:none' # 'visibility:hidden'
unless scalar(@counties) > 1;
my $style =
scalar(@style)
? 'STYLE="'. join(';', @style). '"'
: '';
my $address2_label_style =
scalar(@address2_label_style)
? 'STYLE="'. join(';', @address2_label_style). '"'
: '';
my $county_style =
scalar(@county_style)
? 'STYLE="'. join(';', @county_style). '"'
: '';
my %select_hash = (
'city' => $object->get($pre.'city'),
'county' => $object->get($pre.'county'),
'state' => $object->get($pre.'state'),
'country' => $object->get($pre.'country'),
'prefix' => $pre,
'onchange' => $onchange,
'disabled' => $disabled,
'style' => \@style,
);
%init>