Module: Spree::AddressesHelper

Defined in:
app/helpers/spree/addresses_helper.rb

Instance Method Summary collapse

Instance Method Details

#address_field(form, method, id_prefix = "b", &handler) ⇒ Object



2
3
4
5
6
7
8
9
10
11
12
13
# File 'app/helpers/spree/addresses_helper.rb', line 2

def address_field(form, method, id_prefix = "b", &handler)
   :p, :id => [id_prefix, method].join('_'), :class => "field" do
    if handler
      handler.call
    else
      is_required = Spree::Address.required_fields.include?(method)
      separator = is_required ? '<span class="req">*</span><br />' : '<br />' 
      form.label(method) + separator.html_safe + 
      form.text_field(method, :class => is_required ? 'required' : nil)
    end
  end
end

#address_state(form, country) ⇒ Object



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
# File 'app/helpers/spree/addresses_helper.rb', line 15

def address_state(form, country)
  country ||= Spree::Country.find(Spree::Config[:default_country_id])
  have_states = !country.states.empty?
  state_elements = [
    form.collection_select(:state_id, country.states.order(:name),
                          :id, :name,
                          {:include_blank => true},
                          {:class => have_states ? "required" : "hidden",
                          :disabled => !have_states}) +
    form.text_field(:state_name,
                    :class => !have_states ? "required" : "hidden",
                    :disabled => have_states)
    ].join.gsub('"', "'").gsub("\n", "")
         
  form.label(:state, t(:state)) + '<span class="req">*</span><br />'.html_safe +
    (:noscript, form.text_field(:state_name, :class => 'required')) +
    javascript_tag("document.write(\"#{state_elements.html_safe}\");")
end