mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-27 21:06:49 +00:00
43 lines
1007 B
Ruby
43 lines
1007 B
Ruby
# frozen_string_literal: true
|
|
|
|
module Spree
|
|
module BaseHelper
|
|
def available_countries
|
|
checkout_zone = Zone.find_by(name: ENV.fetch("CHECKOUT_ZONE", nil))
|
|
|
|
countries = if checkout_zone && checkout_zone.kind == 'country'
|
|
checkout_zone.countries
|
|
else
|
|
Country.includes(:states).all
|
|
end
|
|
|
|
countries.collect do |country|
|
|
country.name = Spree.t(country.iso, scope: 'country_names', default: country.name)
|
|
country
|
|
end.sort { |a, b| a.name <=> b.name }
|
|
end
|
|
|
|
def countries
|
|
available_countries.map { |c| [c.name, c.id] }
|
|
end
|
|
|
|
def states_for_country(country)
|
|
country.states.map do |state|
|
|
[state.name, state.id]
|
|
end
|
|
end
|
|
|
|
def countries_with_states
|
|
available_countries.map { |c|
|
|
[c.id, c.states.map { |s|
|
|
[s.name, s.id]
|
|
}]
|
|
}
|
|
end
|
|
|
|
def pretty_time(time)
|
|
I18n.l(time, format: :long)
|
|
end
|
|
end
|
|
end
|