diff --git a/core/app/models/spree/store.rb b/core/app/models/spree/store.rb index f925b9de1f0..f4742cd9448 100644 --- a/core/app/models/spree/store.rb +++ b/core/app/models/spree/store.rb @@ -167,7 +167,7 @@ def formatted_url end def countries_available_for_checkout - @countries_available_for_checkout ||= checkout_zone.try(:country_list) || Spree::Country.all + @countries_available_for_checkout ||= checkout_zone.try(:country_list) || all_available_countries end def states_available_for_checkout(country) @@ -192,6 +192,17 @@ def can_be_deleted? private + def all_available_countries + zones = Spree::Zone.all.to_a + if zones.empty? + Spree::Country.all + else + zones.each_with_object([]) do |zone, a| + a.concat(zone.country_list) + end + end + end + def ensure_default_exists_and_is_unique if default Store.where.not(id: id).update_all(default: false)