<%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 ) <%$r%><% $opt{'address1_label'} || 'Address' %> <% $style %> > >* >Unit # <% $style %> > <%$r%>City <% $style %> > ><%$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 = ( 'county' => $object->get($pre.'county'), 'state' => $object->get($pre.'state'), 'country' => $object->get($pre.'country'), 'prefix' => $pre, 'onchange' => $onchange, 'disabled' => $disabled, 'style' => \@style, );