spree_core 2.0.5 → 2.0.6
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/helpers/spree/products_helper.rb +8 -3
- data/app/mailers/spree/base_mailer.rb +5 -0
- data/app/models/spree/ability.rb +10 -12
- data/app/models/spree/app_configuration.rb +2 -0
- data/app/models/spree/classification.rb +3 -0
- data/app/models/spree/image.rb +1 -1
- data/app/models/spree/line_item.rb +2 -0
- data/app/models/spree/order.rb +17 -12
- data/app/models/spree/order/checkout.rb +1 -1
- data/app/models/spree/payment.rb +14 -2
- data/app/models/spree/payment/processing.rb +1 -1
- data/app/models/spree/preferences/store.rb +1 -1
- data/app/models/spree/product.rb +2 -2
- data/app/models/spree/product/scopes.rb +5 -8
- data/app/models/spree/shipment.rb +4 -1
- data/app/models/spree/stock/availability_validator.rb +1 -1
- data/app/models/spree/stock/quantifier.rb +1 -1
- data/app/models/spree/stock_item.rb +11 -7
- data/config/locales/en.yml +8 -2
- data/db/default/spree/countries.rb +25 -25
- data/db/migrate/20130213191427_create_default_stock.rb +5 -2
- data/db/migrate/20130830001033_add_shipping_category_to_shipping_methods_and_products.rb +15 -0
- data/db/migrate/20130830001159_migrate_old_shipping_calculators.rb +19 -0
- data/db/migrate/20130909115621_change_states_required_for_countries.rb +9 -0
- data/db/migrate/20131001013410_remove_unused_credit_card_fields.rb +12 -0
- data/lib/spree/core/controller_helpers/order.rb +1 -1
- data/lib/spree/core/controller_helpers/ssl.rb +22 -29
- data/lib/spree/core/preference_rescue.rb +25 -0
- data/lib/spree/core/version.rb +1 -1
- data/lib/spree/money.rb +4 -0
- data/lib/spree/testing_support/factories/credit_card_factory.rb +1 -1
- metadata +13 -8
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 4b3832f1651011ef4d49aebec92add9c6fc8744d
|
4
|
+
data.tar.gz: 0f9032e0a7134479874ddda954c590cee31486a8
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: df88e26ab461edc8b6a6373a708386c359a051aec2e6a1715c26ef6b7318d90fec9be379abb911d2eb0171377076186210565fbd2408e8c6eb112a0eefb5c3f1
|
7
|
+
data.tar.gz: d8e1e60bb608201d98d4fcf89344716d4bbdd17347135b3ccad3e8b524d44d22ac515cd3d23a78c1dc5f55262083c63aec0ead934f0202d737ebcf7c845fa651
|
@@ -40,9 +40,14 @@ module Spree
|
|
40
40
|
end
|
41
41
|
|
42
42
|
def line_item_description(variant)
|
43
|
-
|
44
|
-
|
45
|
-
|
43
|
+
ActiveSupport::Deprecation.warn "line_item_description(variant) is deprecated and may be removed from future releases, use line_item_description_text(line_item.description) instead.", caller
|
44
|
+
|
45
|
+
line_item_description_text(variant.product.description)
|
46
|
+
end
|
47
|
+
|
48
|
+
def line_item_description_text description_text
|
49
|
+
if description_text.present?
|
50
|
+
truncate(strip_tags(description_text.gsub(' ', ' ')), length: 100)
|
46
51
|
else
|
47
52
|
Spree.t(:product_has_no_description)
|
48
53
|
end
|
data/app/models/spree/ability.rb
CHANGED
@@ -47,18 +47,16 @@ module Spree
|
|
47
47
|
order.user == user || order.token && token == order.token
|
48
48
|
end
|
49
49
|
can :create, Order
|
50
|
-
|
51
|
-
can :read,
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
can :read,
|
57
|
-
can :index,
|
58
|
-
|
59
|
-
can :read,
|
60
|
-
can :index, Taxon
|
61
|
-
#############################
|
50
|
+
can [:index, :read], Product
|
51
|
+
can [:index, :read], ProductProperty
|
52
|
+
can [:index, :read], Property
|
53
|
+
can :create, Spree.user_class
|
54
|
+
can [:read, :update, :destroy], Spree.user_class, id: user.id
|
55
|
+
can [:index, :read], State
|
56
|
+
can [:index, :read], Taxon
|
57
|
+
can [:index, :read], Taxonomy
|
58
|
+
can [:index, :read], Variant
|
59
|
+
can [:index, :read], Zone
|
62
60
|
end
|
63
61
|
|
64
62
|
#include any abilities registered by extensions, etc.
|
@@ -32,6 +32,7 @@ module Spree
|
|
32
32
|
preference :allow_ssl_in_staging, :boolean, default: true
|
33
33
|
preference :alternative_billing_phone, :boolean, default: false # Request extra phone for bill addr
|
34
34
|
preference :alternative_shipping_phone, :boolean, default: false # Request extra phone for ship addr
|
35
|
+
preference :always_include_confirm_step, :boolean, default: false # Ensures confirmation step is always in checkout_progress bar, but does not force a confirm step if your payment methods do not support it.
|
35
36
|
preference :always_put_site_name_in_title, :boolean, default: true
|
36
37
|
preference :auto_capture, :boolean, default: false # automatically capture the credit card (as opposed to just authorize and capture later)
|
37
38
|
preference :cache_static_content, :boolean, default: true
|
@@ -86,6 +87,7 @@ module Spree
|
|
86
87
|
|
87
88
|
# Default mail headers settings
|
88
89
|
preference :enable_mail_delivery, :boolean, :default => false
|
90
|
+
preference :send_core_emails, :boolean, :default => true
|
89
91
|
preference :mails_from, :string, :default => 'spree@example.com'
|
90
92
|
preference :mail_bcc, :string, :default => 'spree@example.com'
|
91
93
|
preference :intercept_email, :string, :default => nil
|
@@ -3,5 +3,8 @@ module Spree
|
|
3
3
|
self.table_name = 'spree_products_taxons'
|
4
4
|
belongs_to :product, class_name: "Spree::Product"
|
5
5
|
belongs_to :taxon, class_name: "Spree::Taxon"
|
6
|
+
|
7
|
+
# For #3494
|
8
|
+
validates_uniqueness_of :taxon_id, :scope => :product_id, :message => :already_linked
|
6
9
|
end
|
7
10
|
end
|
data/app/models/spree/image.rb
CHANGED
@@ -10,7 +10,7 @@ module Spree
|
|
10
10
|
default_style: :product,
|
11
11
|
url: '/spree/products/:id/:style/:basename.:extension',
|
12
12
|
path: ':rails_root/public/spree/products/:id/:style/:basename.:extension',
|
13
|
-
convert_options: { all: '-strip -auto-orient' }
|
13
|
+
convert_options: { all: '-strip -auto-orient -colorspace sRGB' }
|
14
14
|
|
15
15
|
# save the w,h of the original image (from which others can be calculated)
|
16
16
|
# we need to look at the write-queue for images which have not been saved yet
|
data/app/models/spree/order.rb
CHANGED
@@ -53,6 +53,7 @@ module Spree
|
|
53
53
|
has_many :payments, dependent: :destroy
|
54
54
|
has_many :return_authorizations, dependent: :destroy
|
55
55
|
has_many :state_changes, as: :stateful
|
56
|
+
has_many :inventory_units
|
56
57
|
|
57
58
|
has_many :shipments, dependent: :destroy, :class_name => "Shipment" do
|
58
59
|
def states
|
@@ -153,7 +154,7 @@ module Spree
|
|
153
154
|
end
|
154
155
|
|
155
156
|
def completed?
|
156
|
-
|
157
|
+
completed_at.present? || complete?
|
157
158
|
end
|
158
159
|
|
159
160
|
# Indicates whether or not the user is allowed to proceed to checkout.
|
@@ -171,7 +172,11 @@ module Spree
|
|
171
172
|
|
172
173
|
# If true, causes the confirmation step to happen during the checkout process
|
173
174
|
def confirmation_required?
|
174
|
-
payments.
|
175
|
+
if payments.empty? and Spree::Config[:always_include_confirm_step]
|
176
|
+
true
|
177
|
+
else
|
178
|
+
payments.map(&:payment_method).compact.any?(&:payment_profiles_supported?)
|
179
|
+
end
|
175
180
|
end
|
176
181
|
|
177
182
|
# Indicates the number of items in the order
|
@@ -244,13 +249,6 @@ module Spree
|
|
244
249
|
shipment_state.nil? || %w{ready backorder pending}.include?(shipment_state)
|
245
250
|
end
|
246
251
|
|
247
|
-
def allow_resume?
|
248
|
-
# we shouldn't allow resume for legacy orders b/c we lack the information
|
249
|
-
# necessary to restore to a previous state
|
250
|
-
return false if state_changes.empty? || state_changes.last.previous_state.nil?
|
251
|
-
true
|
252
|
-
end
|
253
|
-
|
254
252
|
def awaiting_returns?
|
255
253
|
return_authorizations.any? { |return_authorization| return_authorization.authorized? }
|
256
254
|
end
|
@@ -462,7 +460,7 @@ module Spree
|
|
462
460
|
@insufficient_stock_lines ||= line_items.select(&:insufficient_stock?)
|
463
461
|
end
|
464
462
|
|
465
|
-
def merge!(order)
|
463
|
+
def merge!(order, user = nil)
|
466
464
|
order.line_items.each do |line_item|
|
467
465
|
next unless line_item.currency == currency
|
468
466
|
current_line_item = self.line_items.find_by_variant_id(line_item.variant_id)
|
@@ -474,14 +472,17 @@ module Spree
|
|
474
472
|
line_item.save
|
475
473
|
end
|
476
474
|
end
|
475
|
+
|
476
|
+
self.associate_user!(user) if !self.user && !user.blank?
|
477
|
+
|
477
478
|
# So that the destroy doesn't take out line items which may have been re-assigned
|
478
479
|
order.line_items.reload
|
479
480
|
order.destroy
|
480
481
|
end
|
481
482
|
|
482
483
|
def empty!
|
483
|
-
line_items.destroy_all
|
484
484
|
adjustments.destroy_all
|
485
|
+
line_items.destroy_all
|
485
486
|
end
|
486
487
|
|
487
488
|
def clear_adjustments!
|
@@ -594,10 +595,14 @@ module Spree
|
|
594
595
|
def after_cancel
|
595
596
|
shipments.each { |shipment| shipment.cancel! }
|
596
597
|
|
597
|
-
|
598
|
+
send_cancel_email
|
598
599
|
self.payment_state = 'credit_owed' unless shipped?
|
599
600
|
end
|
600
601
|
|
602
|
+
def send_cancel_email
|
603
|
+
OrderMailer.cancel_email(self.id).deliver
|
604
|
+
end
|
605
|
+
|
601
606
|
def after_resume
|
602
607
|
shipments.each { |shipment| shipment.resume! }
|
603
608
|
end
|
data/app/models/spree/payment.rb
CHANGED
@@ -12,7 +12,7 @@ module Spree
|
|
12
12
|
has_many :log_entries, as: :source
|
13
13
|
|
14
14
|
before_validation :validate_source
|
15
|
-
|
15
|
+
before_create :set_unique_identifier
|
16
16
|
|
17
17
|
after_save :create_payment_profile, if: :profiles_supported?
|
18
18
|
|
@@ -35,10 +35,12 @@ module Spree
|
|
35
35
|
|
36
36
|
after_rollback :persist_invalid
|
37
37
|
|
38
|
+
validates :amount, numericality: true
|
39
|
+
|
38
40
|
def persist_invalid
|
39
41
|
return unless ['failed', 'invalid'].include?(state)
|
40
42
|
state_will_change!
|
41
|
-
save
|
43
|
+
save
|
42
44
|
end
|
43
45
|
|
44
46
|
# order state machine (see http://github.com/pluginaweek/state_machine/tree/master for details)
|
@@ -77,6 +79,16 @@ module Spree
|
|
77
79
|
end
|
78
80
|
alias display_amount money
|
79
81
|
|
82
|
+
def amount=(amount)
|
83
|
+
self[:amount] =
|
84
|
+
case amount
|
85
|
+
when String
|
86
|
+
separator = I18n.t('number.currency.format.separator')
|
87
|
+
number = amount.delete("^0-9-#{separator}").tr(separator, '.')
|
88
|
+
number.to_d if number.present?
|
89
|
+
end || amount
|
90
|
+
end
|
91
|
+
|
80
92
|
def offsets_total
|
81
93
|
offsets.pluck(:amount).sum
|
82
94
|
end
|
data/app/models/spree/product.rb
CHANGED
@@ -49,7 +49,7 @@ module Spree
|
|
49
49
|
order: "#{::Spree::Variant.quoted_table_name}.position ASC"
|
50
50
|
|
51
51
|
has_many :prices, through: :variants, order: 'spree_variants.position, spree_variants.id, currency'
|
52
|
-
has_many :stock_items, through: :
|
52
|
+
has_many :stock_items, through: :variants_including_master
|
53
53
|
|
54
54
|
delegate_belongs_to :master, :sku, :price, :currency, :display_amount, :display_price, :weight, :height, :width, :depth, :is_master, :has_default_price?, :cost_currency, :price_in, :amount_in
|
55
55
|
delegate_belongs_to :master, :cost_price if Variant.table_exists? && Variant.column_names.include?('cost_price')
|
@@ -260,7 +260,7 @@ module Spree
|
|
260
260
|
# there's a weird quirk with the delegate stuff that does not automatically save the delegate object
|
261
261
|
# when saving so we force a save using a hook.
|
262
262
|
def save_master
|
263
|
-
master.save if master && (master.changed? || master.new_record? || (master.default_price && (master.default_price.changed || master.default_price.new_record)))
|
263
|
+
master.save if master && (master.changed? || master.new_record? || (master.default_price && (master.default_price.changed? || master.default_price.new_record?)))
|
264
264
|
end
|
265
265
|
|
266
266
|
def ensure_master
|
@@ -68,14 +68,11 @@ module Spree
|
|
68
68
|
#
|
69
69
|
# SELECT COUNT(*) ...
|
70
70
|
add_search_scope :in_taxon do |taxon|
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
76
|
-
|
77
|
-
scope.joins(:taxons).
|
78
|
-
where(Taxon.table_name => { :id => taxon.self_and_descendants.map(&:id) })
|
71
|
+
select("spree_products.id, spree_products.*").
|
72
|
+
where(id: Classification.select('spree_products_taxons.product_id').
|
73
|
+
joins(:taxon).
|
74
|
+
where(Taxon.table_name => { :id => taxon.self_and_descendants.pluck(:id) })
|
75
|
+
)
|
79
76
|
end
|
80
77
|
|
81
78
|
# This scope selects products in all taxons AND all its descendants
|
@@ -105,11 +105,14 @@ module Spree
|
|
105
105
|
def refresh_rates
|
106
106
|
return shipping_rates if shipped?
|
107
107
|
|
108
|
+
# StockEstimator.new assigment below will replace the current shipping_method
|
109
|
+
original_shipping_method_id = shipping_method.try(:id)
|
110
|
+
|
108
111
|
self.shipping_rates = Stock::Estimator.new(order).shipping_rates(to_package)
|
109
112
|
|
110
113
|
if shipping_method
|
111
114
|
selected_rate = shipping_rates.detect { |rate|
|
112
|
-
rate.shipping_method_id ==
|
115
|
+
rate.shipping_method_id == original_shipping_method_id
|
113
116
|
}
|
114
117
|
self.selected_shipping_rate_id = selected_rate.id if selected_rate
|
115
118
|
end
|
@@ -17,7 +17,7 @@ module Spree
|
|
17
17
|
display_name = %Q{#{variant.name}}
|
18
18
|
display_name += %Q{ (#{variant.options_text})} unless variant.options_text.blank?
|
19
19
|
|
20
|
-
line_item.errors[:quantity] << Spree.t(:
|
20
|
+
line_item.errors[:quantity] << Spree.t(:selected_quantity_not_available, :scope => :order_populator, :item => display_name.inspect)
|
21
21
|
end
|
22
22
|
end
|
23
23
|
end
|
@@ -7,7 +7,7 @@ module Spree
|
|
7
7
|
has_many :stock_movements
|
8
8
|
|
9
9
|
validates_presence_of :stock_location, :variant
|
10
|
-
validates_uniqueness_of :variant_id, scope: :stock_location_id
|
10
|
+
validates_uniqueness_of :variant_id, scope: [:stock_location_id, :deleted_at]
|
11
11
|
|
12
12
|
attr_accessible :count_on_hand, :variant, :stock_location, :backorderable, :variant_id
|
13
13
|
|
@@ -24,7 +24,7 @@ module Spree
|
|
24
24
|
def adjust_count_on_hand(value)
|
25
25
|
self.with_lock do
|
26
26
|
self.count_on_hand = self.count_on_hand + value
|
27
|
-
process_backorders
|
27
|
+
process_backorders(count_on_hand - count_on_hand_was)
|
28
28
|
|
29
29
|
self.save!
|
30
30
|
end
|
@@ -32,7 +32,7 @@ module Spree
|
|
32
32
|
|
33
33
|
def set_count_on_hand(value)
|
34
34
|
self.count_on_hand = value
|
35
|
-
process_backorders
|
35
|
+
process_backorders(count_on_hand - count_on_hand_was)
|
36
36
|
|
37
37
|
self.save!
|
38
38
|
end
|
@@ -51,10 +51,14 @@ module Spree
|
|
51
51
|
write_attribute(:count_on_hand, value)
|
52
52
|
end
|
53
53
|
|
54
|
-
|
55
|
-
|
56
|
-
|
57
|
-
|
54
|
+
# Process backorders based on amount of stock received
|
55
|
+
# If stock was -20 and is now -15 (increase of 5 units), then we should process 5 inventory orders.
|
56
|
+
# If stock was -20 but then was -25 (decrease of 5 units), do nothing.
|
57
|
+
def process_backorders(number)
|
58
|
+
if number > 0
|
59
|
+
backordered_inventory_units.first(number).each do |unit|
|
60
|
+
unit.fill_backorder
|
61
|
+
end
|
58
62
|
end
|
59
63
|
end
|
60
64
|
end
|
data/config/locales/en.yml
CHANGED
@@ -214,6 +214,10 @@ en:
|
|
214
214
|
other: Zones
|
215
215
|
errors:
|
216
216
|
models:
|
217
|
+
spree/classification:
|
218
|
+
attributes:
|
219
|
+
taxon_id:
|
220
|
+
already_linked: "is already linked to this product"
|
217
221
|
spree/credit_card:
|
218
222
|
attributes:
|
219
223
|
base:
|
@@ -395,6 +399,7 @@ en:
|
|
395
399
|
capture: Capture
|
396
400
|
card_code: Card Code
|
397
401
|
card_number: Card Number
|
402
|
+
card_type: Brand
|
398
403
|
card_type_is: Card type is
|
399
404
|
cart: Cart
|
400
405
|
categories: Categories
|
@@ -639,7 +644,6 @@ en:
|
|
639
644
|
login_name: Login
|
640
645
|
logout: Logout
|
641
646
|
look_for_similar_items: Look for similar items
|
642
|
-
maestro_or_solo_cards: Maestro/Solo cards
|
643
647
|
mail_method_settings: Mail Method Settings
|
644
648
|
mail_methods: Mail Methods
|
645
649
|
make_refund: Make refund
|
@@ -751,6 +755,7 @@ en:
|
|
751
755
|
order_number: Order
|
752
756
|
order_populator:
|
753
757
|
out_of_stock: ! '%{item} is out of stock.'
|
758
|
+
selected_quantity_not_available: ! 'Selected quantity of %{item} is not available.'
|
754
759
|
please_enter_reasonable_quantity: Please enter a reasonable quantity.
|
755
760
|
order_processed_successfully: Your order has been processed successfully
|
756
761
|
order_state:
|
@@ -988,8 +993,9 @@ en:
|
|
988
993
|
special_instructions: Special Instructions
|
989
994
|
split: Split
|
990
995
|
spree_gateway_error_flash_for_checkout: There was a problem with your payment information. Please check your information and try again.
|
996
|
+
ssl:
|
997
|
+
change_protocol: "Please switch to using HTTP (rather than HTTPS) and retry this request."
|
991
998
|
start: Start
|
992
|
-
start_date: Valid from
|
993
999
|
state: State
|
994
1000
|
state_based: State Based
|
995
1001
|
states: States
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Spree::Country.create!({"name"=>"Chad", "iso3"=>"TCD", "iso"=>"TD", "iso_name"=>"CHAD", "numcode"=>"148"}, :without_protection => true)
|
2
2
|
Spree::Country.create!({"name"=>"Faroe Islands", "iso3"=>"FRO", "iso"=>"FO", "iso_name"=>"FAROE ISLANDS", "numcode"=>"234"}, :without_protection => true)
|
3
|
-
Spree::Country.create!({"name"=>"India", "iso3"=>"IND", "iso"=>"IN", "iso_name"=>"INDIA", "numcode"=>"356"}, :without_protection => true)
|
3
|
+
Spree::Country.create!({"name"=>"India", "iso3"=>"IND", "iso"=>"IN", "iso_name"=>"INDIA", "numcode"=>"356", "states_required"=>true}, :without_protection => true)
|
4
4
|
Spree::Country.create!({"name"=>"Nicaragua", "iso3"=>"NIC", "iso"=>"NI", "iso_name"=>"NICARAGUA", "numcode"=>"558"}, :without_protection => true)
|
5
5
|
Spree::Country.create!({"name"=>"Saint Lucia", "iso3"=>"LCA", "iso"=>"LC", "iso_name"=>"SAINT LUCIA", "numcode"=>"662"}, :without_protection => true)
|
6
6
|
Spree::Country.create!({"name"=>"Fiji", "iso3"=>"FJI", "iso"=>"FJ", "iso_name"=>"FIJI", "numcode"=>"242"}, :without_protection => true)
|
@@ -8,14 +8,14 @@ Spree::Country.create!({"name"=>"Indonesia", "iso3"=>"IDN", "iso"=>"ID", "iso_na
|
|
8
8
|
Spree::Country.create!({"name"=>"Niger", "iso3"=>"NER", "iso"=>"NE", "iso_name"=>"NIGER", "numcode"=>"562"}, :without_protection => true)
|
9
9
|
Spree::Country.create!({"name"=>"Saint Pierre and Miquelon", "iso3"=>"SPM", "iso"=>"PM", "iso_name"=>"SAINT PIERRE AND MIQUELON", "numcode"=>"666"}, :without_protection => true)
|
10
10
|
Spree::Country.create!({"name"=>"Finland", "iso3"=>"FIN", "iso"=>"FI", "iso_name"=>"FINLAND", "numcode"=>"246"}, :without_protection => true)
|
11
|
-
Spree::Country.create!({"name"=>"Nigeria", "iso3"=>"NGA", "iso"=>"NG", "iso_name"=>"NIGERIA", "numcode"=>"566"}, :without_protection => true)
|
11
|
+
Spree::Country.create!({"name"=>"Nigeria", "iso3"=>"NGA", "iso"=>"NG", "iso_name"=>"NIGERIA", "numcode"=>"566", "states_required"=>true}, :without_protection => true)
|
12
12
|
Spree::Country.create!({"name"=>"Saint Vincent and the Grenadines", "iso3"=>"VCT", "iso"=>"VC", "iso_name"=>"SAINT VINCENT AND THE GRENADINES", "numcode"=>"670"}, :without_protection => true)
|
13
13
|
Spree::Country.create!({"name"=>"France", "iso3"=>"FRA", "iso"=>"FR", "iso_name"=>"FRANCE", "numcode"=>"250"}, :without_protection => true)
|
14
14
|
Spree::Country.create!({"name"=>"Iran, Islamic Republic of", "iso3"=>"IRN", "iso"=>"IR", "iso_name"=>"IRAN, ISLAMIC REPUBLIC OF", "numcode"=>"364"}, :without_protection => true)
|
15
15
|
Spree::Country.create!({"name"=>"Niue", "iso3"=>"NIU", "iso"=>"NU", "iso_name"=>"NIUE", "numcode"=>"570"}, :without_protection => true)
|
16
16
|
Spree::Country.create!({"name"=>"Samoa", "iso3"=>"WSM", "iso"=>"WS", "iso_name"=>"SAMOA", "numcode"=>"882"}, :without_protection => true)
|
17
17
|
Spree::Country.create!({"name"=>"French Guiana", "iso3"=>"GUF", "iso"=>"GF", "iso_name"=>"FRENCH GUIANA", "numcode"=>"254"}, :without_protection => true)
|
18
|
-
Spree::Country.create!({"name"=>"Iraq", "iso3"=>"IRQ", "iso"=>"IQ", "iso_name"=>"IRAQ", "numcode"=>"368"}, :without_protection => true)
|
18
|
+
Spree::Country.create!({"name"=>"Iraq", "iso3"=>"IRQ", "iso"=>"IQ", "iso_name"=>"IRAQ", "numcode"=>"368", "states_required"=>true}, :without_protection => true)
|
19
19
|
Spree::Country.create!({"name"=>"San Marino", "iso3"=>"SMR", "iso"=>"SM", "iso_name"=>"SAN MARINO", "numcode"=>"674"}, :without_protection => true)
|
20
20
|
Spree::Country.create!({"name"=>"Ireland", "iso3"=>"IRL", "iso"=>"IE", "iso_name"=>"IRELAND", "numcode"=>"372"}, :without_protection => true)
|
21
21
|
Spree::Country.create!({"name"=>"Sao Tome and Principe", "iso3"=>"STP", "iso"=>"ST", "iso_name"=>"SAO TOME AND PRINCIPE", "numcode"=>"678"}, :without_protection => true)
|
@@ -26,7 +26,7 @@ Spree::Country.create!({"name"=>"Senegal", "iso3"=>"SEN", "iso"=>"SN", "iso_name
|
|
26
26
|
Spree::Country.create!({"name"=>"Jamaica", "iso3"=>"JAM", "iso"=>"JM", "iso_name"=>"JAMAICA", "numcode"=>"388"}, :without_protection => true)
|
27
27
|
Spree::Country.create!({"name"=>"Japan", "iso3"=>"JPN", "iso"=>"JP", "iso_name"=>"JAPAN", "numcode"=>"392"}, :without_protection => true)
|
28
28
|
Spree::Country.create!({"name"=>"Jordan", "iso3"=>"JOR", "iso"=>"JO", "iso_name"=>"JORDAN", "numcode"=>"400"}, :without_protection => true)
|
29
|
-
Spree::Country.create!({"name"=>"Belgium", "iso3"=>"BEL", "iso"=>"BE", "iso_name"=>"BELGIUM", "numcode"=>"56"}, :without_protection => true)
|
29
|
+
Spree::Country.create!({"name"=>"Belgium", "iso3"=>"BEL", "iso"=>"BE", "iso_name"=>"BELGIUM", "numcode"=>"56", "states_required"=>true}, :without_protection => true)
|
30
30
|
Spree::Country.create!({"name"=>"Belize", "iso3"=>"BLZ", "iso"=>"BZ", "iso_name"=>"BELIZE", "numcode"=>"84"}, :without_protection => true)
|
31
31
|
Spree::Country.create!({"name"=>"Kazakhstan", "iso3"=>"KAZ", "iso"=>"KZ", "iso_name"=>"KAZAKHSTAN", "numcode"=>"398"}, :without_protection => true)
|
32
32
|
Spree::Country.create!({"name"=>"Uganda", "iso3"=>"UGA", "iso"=>"UG", "iso_name"=>"UGANDA", "numcode"=>"800"}, :without_protection => true)
|
@@ -35,19 +35,19 @@ Spree::Country.create!({"name"=>"Kenya", "iso3"=>"KEN", "iso"=>"KE", "iso_name"=
|
|
35
35
|
Spree::Country.create!({"name"=>"Ukraine", "iso3"=>"UKR", "iso"=>"UA", "iso_name"=>"UKRAINE", "numcode"=>"804"}, :without_protection => true)
|
36
36
|
Spree::Country.create!({"name"=>"Bermuda", "iso3"=>"BMU", "iso"=>"BM", "iso_name"=>"BERMUDA", "numcode"=>"60"}, :without_protection => true)
|
37
37
|
Spree::Country.create!({"name"=>"Kiribati", "iso3"=>"KIR", "iso"=>"KI", "iso_name"=>"KIRIBATI", "numcode"=>"296"}, :without_protection => true)
|
38
|
-
Spree::Country.create!({"name"=>"Mexico", "iso3"=>"MEX", "iso"=>"MX", "iso_name"=>"MEXICO", "numcode"=>"484"}, :without_protection => true)
|
39
|
-
Spree::Country.create!({"name"=>"United Arab Emirates", "iso3"=>"ARE", "iso"=>"AE", "iso_name"=>"UNITED ARAB EMIRATES", "numcode"=>"784"}, :without_protection => true)
|
38
|
+
Spree::Country.create!({"name"=>"Mexico", "iso3"=>"MEX", "iso"=>"MX", "iso_name"=>"MEXICO", "numcode"=>"484", "states_required"=>true}, :without_protection => true)
|
39
|
+
Spree::Country.create!({"name"=>"United Arab Emirates", "iso3"=>"ARE", "iso"=>"AE", "iso_name"=>"UNITED ARAB EMIRATES", "numcode"=>"784", "states_required"=>true}, :without_protection => true)
|
40
40
|
Spree::Country.create!({"name"=>"Bhutan", "iso3"=>"BTN", "iso"=>"BT", "iso_name"=>"BHUTAN", "numcode"=>"64"}, :without_protection => true)
|
41
41
|
Spree::Country.create!({"name"=>"Cuba", "iso3"=>"CUB", "iso"=>"CU", "iso_name"=>"CUBA", "numcode"=>"192"}, :without_protection => true)
|
42
42
|
Spree::Country.create!({"name"=>"North Korea", "iso3"=>"PRK", "iso"=>"KP", "iso_name"=>"KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF", "numcode"=>"408"}, :without_protection => true)
|
43
|
-
Spree::Country.create!({"name"=>"Micronesia, Federated States of", "iso3"=>"FSM", "iso"=>"FM", "iso_name"=>"MICRONESIA, FEDERATED STATES OF", "numcode"=>"583"}, :without_protection => true)
|
43
|
+
Spree::Country.create!({"name"=>"Micronesia, Federated States of", "iso3"=>"FSM", "iso"=>"FM", "iso_name"=>"MICRONESIA, FEDERATED STATES OF", "numcode"=>"583", "states_required"=>true}, :without_protection => true)
|
44
44
|
Spree::Country.create!({"name"=>"United Kingdom", "iso3"=>"GBR", "iso"=>"GB", "iso_name"=>"UNITED KINGDOM", "numcode"=>"826"}, :without_protection => true)
|
45
45
|
Spree::Country.create!({"name"=>"Bolivia", "iso3"=>"BOL", "iso"=>"BO", "iso_name"=>"BOLIVIA", "numcode"=>"68"}, :without_protection => true)
|
46
46
|
Spree::Country.create!({"name"=>"Cyprus", "iso3"=>"CYP", "iso"=>"CY", "iso_name"=>"CYPRUS", "numcode"=>"196"}, :without_protection => true)
|
47
47
|
Spree::Country.create!({"name"=>"South Korea", "iso3"=>"KOR", "iso"=>"KR", "iso_name"=>"KOREA, REPUBLIC OF", "numcode"=>"410"}, :without_protection => true)
|
48
48
|
Spree::Country.create!({"name"=>"Moldova, Republic of", "iso3"=>"MDA", "iso"=>"MD", "iso_name"=>"MOLDOVA, REPUBLIC OF", "numcode"=>"498"}, :without_protection => true)
|
49
|
-
Spree::Country.create!({"name"=>"United States", "iso3"=>"USA", "iso"=>"US", "iso_name"=>"UNITED STATES", "numcode"=>"840"}, :without_protection => true)
|
50
|
-
Spree::Country.create!({"name"=>"Bosnia and Herzegovina", "iso3"=>"BIH", "iso"=>"BA", "iso_name"=>"BOSNIA AND HERZEGOVINA", "numcode"=>"70"}, :without_protection => true)
|
49
|
+
Spree::Country.create!({"name"=>"United States", "iso3"=>"USA", "iso"=>"US", "iso_name"=>"UNITED STATES", "numcode"=>"840", "states_required"=>true}, :without_protection => true)
|
50
|
+
Spree::Country.create!({"name"=>"Bosnia and Herzegovina", "iso3"=>"BIH", "iso"=>"BA", "iso_name"=>"BOSNIA AND HERZEGOVINA", "numcode"=>"70", "states_required"=>true}, :without_protection => true)
|
51
51
|
Spree::Country.create!({"name"=>"Czech Republic", "iso3"=>"CZE", "iso"=>"CZ", "iso_name"=>"CZECH REPUBLIC", "numcode"=>"203"}, :without_protection => true)
|
52
52
|
Spree::Country.create!({"name"=>"Kuwait", "iso3"=>"KWT", "iso"=>"KW", "iso_name"=>"KUWAIT", "numcode"=>"414"}, :without_protection => true)
|
53
53
|
Spree::Country.create!({"name"=>"Monaco", "iso3"=>"MCO", "iso"=>"MC", "iso_name"=>"MONACO", "numcode"=>"492"}, :without_protection => true)
|
@@ -58,7 +58,7 @@ Spree::Country.create!({"name"=>"Guadeloupe", "iso3"=>"GLP", "iso"=>"GP", "iso_n
|
|
58
58
|
Spree::Country.create!({"name"=>"Kyrgyzstan", "iso3"=>"KGZ", "iso"=>"KG", "iso_name"=>"KYRGYZSTAN", "numcode"=>"417"}, :without_protection => true)
|
59
59
|
Spree::Country.create!({"name"=>"Mongolia", "iso3"=>"MNG", "iso"=>"MN", "iso_name"=>"MONGOLIA", "numcode"=>"496"}, :without_protection => true)
|
60
60
|
Spree::Country.create!({"name"=>"Philippines", "iso3"=>"PHL", "iso"=>"PH", "iso_name"=>"PHILIPPINES", "numcode"=>"608"}, :without_protection => true)
|
61
|
-
Spree::Country.create!({"name"=>"Brazil", "iso3"=>"BRA", "iso"=>"BR", "iso_name"=>"BRAZIL", "numcode"=>"76"}, :without_protection => true)
|
61
|
+
Spree::Country.create!({"name"=>"Brazil", "iso3"=>"BRA", "iso"=>"BR", "iso_name"=>"BRAZIL", "numcode"=>"76", "states_required"=>true}, :without_protection => true)
|
62
62
|
Spree::Country.create!({"name"=>"Djibouti", "iso3"=>"DJI", "iso"=>"DJ", "iso_name"=>"DJIBOUTI", "numcode"=>"262"}, :without_protection => true)
|
63
63
|
Spree::Country.create!({"name"=>"Guam", "iso3"=>"GUM", "iso"=>"GU", "iso_name"=>"GUAM", "numcode"=>"316"}, :without_protection => true)
|
64
64
|
Spree::Country.create!({"name"=>"Lao People's Democratic Republic", "iso3"=>"LAO", "iso"=>"LA", "iso_name"=>"LAO PEOPLE'S DEMOCRATIC REPUBLIC", "numcode"=>"418"}, :without_protection => true)
|
@@ -74,8 +74,8 @@ Spree::Country.create!({"name"=>"Vanuatu", "iso3"=>"VUT", "iso"=>"VU", "iso_name
|
|
74
74
|
Spree::Country.create!({"name"=>"Dominican Republic", "iso3"=>"DOM", "iso"=>"DO", "iso_name"=>"DOMINICAN REPUBLIC", "numcode"=>"214"}, :without_protection => true)
|
75
75
|
Spree::Country.create!({"name"=>"Mozambique", "iso3"=>"MOZ", "iso"=>"MZ", "iso_name"=>"MOZAMBIQUE", "numcode"=>"508"}, :without_protection => true)
|
76
76
|
Spree::Country.create!({"name"=>"Portugal", "iso3"=>"PRT", "iso"=>"PT", "iso_name"=>"PORTUGAL", "numcode"=>"620"}, :without_protection => true)
|
77
|
-
Spree::Country.create!({"name"=>"Sudan", "iso3"=>"SDN", "iso"=>"SD", "iso_name"=>"SUDAN", "numcode"=>"736"}, :without_protection => true)
|
78
|
-
Spree::Country.create!({"name"=>"Venezuela", "iso3"=>"VEN", "iso"=>"VE", "iso_name"=>"VENEZUELA", "numcode"=>"862"}, :without_protection => true)
|
77
|
+
Spree::Country.create!({"name"=>"Sudan", "iso3"=>"SDN", "iso"=>"SD", "iso_name"=>"SUDAN", "numcode"=>"736", "states_required"=>true}, :without_protection => true)
|
78
|
+
Spree::Country.create!({"name"=>"Venezuela", "iso3"=>"VEN", "iso"=>"VE", "iso_name"=>"VENEZUELA", "numcode"=>"862", "states_required"=>true}, :without_protection => true)
|
79
79
|
Spree::Country.create!({"name"=>"Ecuador", "iso3"=>"ECU", "iso"=>"EC", "iso_name"=>"ECUADOR", "numcode"=>"218"}, :without_protection => true)
|
80
80
|
Spree::Country.create!({"name"=>"Guinea", "iso3"=>"GIN", "iso"=>"GN", "iso_name"=>"GUINEA", "numcode"=>"324"}, :without_protection => true)
|
81
81
|
Spree::Country.create!({"name"=>"Myanmar", "iso3"=>"MMR", "iso"=>"MM", "iso_name"=>"MYANMAR", "numcode"=>"104"}, :without_protection => true)
|
@@ -94,11 +94,11 @@ Spree::Country.create!({"name"=>"Haiti", "iso3"=>"HTI", "iso"=>"HT", "iso_name"=
|
|
94
94
|
Spree::Country.create!({"name"=>"Romania", "iso3"=>"ROM", "iso"=>"RO", "iso_name"=>"ROMANIA", "numcode"=>"642"}, :without_protection => true)
|
95
95
|
Spree::Country.create!({"name"=>"Swaziland", "iso3"=>"SWZ", "iso"=>"SZ", "iso_name"=>"SWAZILAND", "numcode"=>"748"}, :without_protection => true)
|
96
96
|
Spree::Country.create!({"name"=>"Holy See (Vatican City State)", "iso3"=>"VAT", "iso"=>"VA", "iso_name"=>"HOLY SEE (VATICAN CITY STATE)", "numcode"=>"336"}, :without_protection => true)
|
97
|
-
Spree::Country.create!({"name"=>"Russian Federation", "iso3"=>"RUS", "iso"=>"RU", "iso_name"=>"RUSSIAN FEDERATION", "numcode"=>"643"}, :without_protection => true)
|
97
|
+
Spree::Country.create!({"name"=>"Russian Federation", "iso3"=>"RUS", "iso"=>"RU", "iso_name"=>"RUSSIAN FEDERATION", "numcode"=>"643", "states_required"=>true}, :without_protection => true)
|
98
98
|
Spree::Country.create!({"name"=>"Sweden", "iso3"=>"SWE", "iso"=>"SE", "iso_name"=>"SWEDEN", "numcode"=>"752"}, :without_protection => true)
|
99
99
|
Spree::Country.create!({"name"=>"Honduras", "iso3"=>"HND", "iso"=>"HN", "iso_name"=>"HONDURAS", "numcode"=>"340"}, :without_protection => true)
|
100
100
|
Spree::Country.create!({"name"=>"Rwanda", "iso3"=>"RWA", "iso"=>"RW", "iso_name"=>"RWANDA", "numcode"=>"646"}, :without_protection => true)
|
101
|
-
Spree::Country.create!({"name"=>"Switzerland", "iso3"=>"CHE", "iso"=>"CH", "iso_name"=>"SWITZERLAND", "numcode"=>"756"}, :without_protection => true)
|
101
|
+
Spree::Country.create!({"name"=>"Switzerland", "iso3"=>"CHE", "iso"=>"CH", "iso_name"=>"SWITZERLAND", "numcode"=>"756", "states_required"=>true}, :without_protection => true)
|
102
102
|
Spree::Country.create!({"name"=>"Hong Kong", "iso3"=>"HKG", "iso"=>"HK", "iso_name"=>"HONG KONG", "numcode"=>"344"}, :without_protection => true)
|
103
103
|
Spree::Country.create!({"name"=>"Syrian Arab Republic", "iso3"=>"SYR", "iso"=>"SY", "iso_name"=>"SYRIAN ARAB REPUBLIC", "numcode"=>"760"}, :without_protection => true)
|
104
104
|
Spree::Country.create!({"name"=>"Taiwan", "iso3"=>"TWN", "iso"=>"TW", "iso_name"=>"TAIWAN, PROVINCE OF CHINA", "numcode"=>"158"}, :without_protection => true)
|
@@ -106,9 +106,9 @@ Spree::Country.create!({"name"=>"Tajikistan", "iso3"=>"TJK", "iso"=>"TJ", "iso_n
|
|
106
106
|
Spree::Country.create!({"name"=>"Tanzania, United Republic of", "iso3"=>"TZA", "iso"=>"TZ", "iso_name"=>"TANZANIA, UNITED REPUBLIC OF", "numcode"=>"834"}, :without_protection => true)
|
107
107
|
Spree::Country.create!({"name"=>"Armenia", "iso3"=>"ARM", "iso"=>"AM", "iso_name"=>"ARMENIA", "numcode"=>"51"}, :without_protection => true)
|
108
108
|
Spree::Country.create!({"name"=>"Aruba", "iso3"=>"ABW", "iso"=>"AW", "iso_name"=>"ARUBA", "numcode"=>"533"}, :without_protection => true)
|
109
|
-
Spree::Country.create!({"name"=>"Australia", "iso3"=>"AUS", "iso"=>"AU", "iso_name"=>"AUSTRALIA", "numcode"=>"36"}, :without_protection => true)
|
109
|
+
Spree::Country.create!({"name"=>"Australia", "iso3"=>"AUS", "iso"=>"AU", "iso_name"=>"AUSTRALIA", "numcode"=>"36", "states_required"=>true}, :without_protection => true)
|
110
110
|
Spree::Country.create!({"name"=>"Thailand", "iso3"=>"THA", "iso"=>"TH", "iso_name"=>"THAILAND", "numcode"=>"764"}, :without_protection => true)
|
111
|
-
Spree::Country.create!({"name"=>"Austria", "iso3"=>"AUT", "iso"=>"AT", "iso_name"=>"AUSTRIA", "numcode"=>"40"}, :without_protection => true)
|
111
|
+
Spree::Country.create!({"name"=>"Austria", "iso3"=>"AUT", "iso"=>"AT", "iso_name"=>"AUSTRIA", "numcode"=>"40", "states_required"=>true}, :without_protection => true)
|
112
112
|
Spree::Country.create!({"name"=>"Madagascar", "iso3"=>"MDG", "iso"=>"MG", "iso_name"=>"MADAGASCAR", "numcode"=>"450"}, :without_protection => true)
|
113
113
|
Spree::Country.create!({"name"=>"Togo", "iso3"=>"TGO", "iso"=>"TG", "iso_name"=>"TOGO", "numcode"=>"768"}, :without_protection => true)
|
114
114
|
Spree::Country.create!({"name"=>"Azerbaijan", "iso3"=>"AZE", "iso"=>"AZ", "iso_name"=>"AZERBAIJAN", "numcode"=>"31"}, :without_protection => true)
|
@@ -117,14 +117,14 @@ Spree::Country.create!({"name"=>"Malawi", "iso3"=>"MWI", "iso"=>"MW", "iso_name"
|
|
117
117
|
Spree::Country.create!({"name"=>"Tokelau", "iso3"=>"TKL", "iso"=>"TK", "iso_name"=>"TOKELAU", "numcode"=>"772"}, :without_protection => true)
|
118
118
|
Spree::Country.create!({"name"=>"Bahamas", "iso3"=>"BHS", "iso"=>"BS", "iso_name"=>"BAHAMAS", "numcode"=>"44"}, :without_protection => true)
|
119
119
|
Spree::Country.create!({"name"=>"China", "iso3"=>"CHN", "iso"=>"CN", "iso_name"=>"CHINA", "numcode"=>"156"}, :without_protection => true)
|
120
|
-
Spree::Country.create!({"name"=>"Malaysia", "iso3"=>"MYS", "iso"=>"MY", "iso_name"=>"MALAYSIA", "numcode"=>"458"}, :without_protection => true)
|
120
|
+
Spree::Country.create!({"name"=>"Malaysia", "iso3"=>"MYS", "iso"=>"MY", "iso_name"=>"MALAYSIA", "numcode"=>"458", "states_required"=>true}, :without_protection => true)
|
121
121
|
Spree::Country.create!({"name"=>"Tonga", "iso3"=>"TON", "iso"=>"TO", "iso_name"=>"TONGA", "numcode"=>"776"}, :without_protection => true)
|
122
122
|
Spree::Country.create!({"name"=>"Bahrain", "iso3"=>"BHR", "iso"=>"BH", "iso_name"=>"BAHRAIN", "numcode"=>"48"}, :without_protection => true)
|
123
123
|
Spree::Country.create!({"name"=>"Colombia", "iso3"=>"COL", "iso"=>"CO", "iso_name"=>"COLOMBIA", "numcode"=>"170"}, :without_protection => true)
|
124
124
|
Spree::Country.create!({"name"=>"Maldives", "iso3"=>"MDV", "iso"=>"MV", "iso_name"=>"MALDIVES", "numcode"=>"462"}, :without_protection => true)
|
125
125
|
Spree::Country.create!({"name"=>"Trinidad and Tobago", "iso3"=>"TTO", "iso"=>"TT", "iso_name"=>"TRINIDAD AND TOBAGO", "numcode"=>"780"}, :without_protection => true)
|
126
126
|
Spree::Country.create!({"name"=>"Bangladesh", "iso3"=>"BGD", "iso"=>"BD", "iso_name"=>"BANGLADESH", "numcode"=>"50"}, :without_protection => true)
|
127
|
-
Spree::Country.create!({"name"=>"Comoros", "iso3"=>"COM", "iso"=>"KM", "iso_name"=>"COMOROS", "numcode"=>"174"}, :without_protection => true)
|
127
|
+
Spree::Country.create!({"name"=>"Comoros", "iso3"=>"COM", "iso"=>"KM", "iso_name"=>"COMOROS", "numcode"=>"174", "states_required"=>true}, :without_protection => true)
|
128
128
|
Spree::Country.create!({"name"=>"French Polynesia", "iso3"=>"PYF", "iso"=>"PF", "iso_name"=>"FRENCH POLYNESIA", "numcode"=>"258"}, :without_protection => true)
|
129
129
|
Spree::Country.create!({"name"=>"Mali", "iso3"=>"MLI", "iso"=>"ML", "iso_name"=>"MALI", "numcode"=>"466"}, :without_protection => true)
|
130
130
|
Spree::Country.create!({"name"=>"Norfolk Island", "iso3"=>"NFK", "iso"=>"NF", "iso_name"=>"NORFOLK ISLAND", "numcode"=>"574"}, :without_protection => true)
|
@@ -148,7 +148,7 @@ Spree::Country.create!({"name"=>"Seychelles", "iso3"=>"SYC", "iso"=>"SC", "iso_n
|
|
148
148
|
Spree::Country.create!({"name"=>"Turks and Caicos Islands", "iso3"=>"TCA", "iso"=>"TC", "iso_name"=>"TURKS AND CAICOS ISLANDS", "numcode"=>"796"}, :without_protection => true)
|
149
149
|
Spree::Country.create!({"name"=>"Georgia", "iso3"=>"GEO", "iso"=>"GE", "iso_name"=>"GEORGIA", "numcode"=>"268"}, :without_protection => true)
|
150
150
|
Spree::Country.create!({"name"=>"Mauritania", "iso3"=>"MRT", "iso"=>"MR", "iso_name"=>"MAURITANIA", "numcode"=>"478"}, :without_protection => true)
|
151
|
-
Spree::Country.create!({"name"=>"Pakistan", "iso3"=>"PAK", "iso"=>"PK", "iso_name"=>"PAKISTAN", "numcode"=>"586"}, :without_protection => true)
|
151
|
+
Spree::Country.create!({"name"=>"Pakistan", "iso3"=>"PAK", "iso"=>"PK", "iso_name"=>"PAKISTAN", "numcode"=>"586", "states_required"=>true}, :without_protection => true)
|
152
152
|
Spree::Country.create!({"name"=>"Sierra Leone", "iso3"=>"SLE", "iso"=>"SL", "iso_name"=>"SIERRA LEONE", "numcode"=>"694"}, :without_protection => true)
|
153
153
|
Spree::Country.create!({"name"=>"Tuvalu", "iso3"=>"TUV", "iso"=>"TV", "iso_name"=>"TUVALU", "numcode"=>"798"}, :without_protection => true)
|
154
154
|
Spree::Country.create!({"name"=>"Costa Rica", "iso3"=>"CRI", "iso"=>"CR", "iso_name"=>"COSTA RICA", "numcode"=>"188"}, :without_protection => true)
|
@@ -169,7 +169,7 @@ Spree::Country.create!({"name"=>"Greece", "iso3"=>"GRC", "iso"=>"GR", "iso_name"
|
|
169
169
|
Spree::Country.create!({"name"=>"Peru", "iso3"=>"PER", "iso"=>"PE", "iso_name"=>"PERU", "numcode"=>"604"}, :without_protection => true)
|
170
170
|
Spree::Country.create!({"name"=>"Solomon Islands", "iso3"=>"SLB", "iso"=>"SB", "iso_name"=>"SOLOMON ISLANDS", "numcode"=>"90"}, :without_protection => true)
|
171
171
|
Spree::Country.create!({"name"=>"Greenland", "iso3"=>"GRL", "iso"=>"GL", "iso_name"=>"GREENLAND", "numcode"=>"304"}, :without_protection => true)
|
172
|
-
Spree::Country.create!({"name"=>"Somalia", "iso3"=>"SOM", "iso"=>"SO", "iso_name"=>"SOMALIA", "numcode"=>"706"}, :without_protection => true)
|
172
|
+
Spree::Country.create!({"name"=>"Somalia", "iso3"=>"SOM", "iso"=>"SO", "iso_name"=>"SOMALIA", "numcode"=>"706", "states_required"=>true}, :without_protection => true)
|
173
173
|
Spree::Country.create!({"name"=>"Grenada", "iso3"=>"GRD", "iso"=>"GD", "iso_name"=>"GRENADA", "numcode"=>"308"}, :without_protection => true)
|
174
174
|
Spree::Country.create!({"name"=>"South Africa", "iso3"=>"ZAF", "iso"=>"ZA", "iso_name"=>"SOUTH AFRICA", "numcode"=>"710"}, :without_protection => true)
|
175
175
|
Spree::Country.create!({"name"=>"Spain", "iso3"=>"ESP", "iso"=>"ES", "iso_name"=>"SPAIN", "numcode"=>"724"}, :without_protection => true)
|
@@ -197,11 +197,11 @@ Spree::Country.create!({"name"=>"Virgin Islands, U.S.", "iso3"=>"VIR", "iso"=>"V
|
|
197
197
|
Spree::Country.create!({"name"=>"Antigua and Barbuda", "iso3"=>"ATG", "iso"=>"AG", "iso_name"=>"ANTIGUA AND BARBUDA", "numcode"=>"28"}, :without_protection => true)
|
198
198
|
Spree::Country.create!({"name"=>"Cameroon", "iso3"=>"CMR", "iso"=>"CM", "iso_name"=>"CAMEROON", "numcode"=>"120"}, :without_protection => true)
|
199
199
|
Spree::Country.create!({"name"=>"Liechtenstein", "iso3"=>"LIE", "iso"=>"LI", "iso_name"=>"LIECHTENSTEIN", "numcode"=>"438"}, :without_protection => true)
|
200
|
-
Spree::Country.create!({"name"=>"Nepal", "iso3"=>"NPL", "iso"=>"NP", "iso_name"=>"NEPAL", "numcode"=>"524"}, :without_protection => true)
|
200
|
+
Spree::Country.create!({"name"=>"Nepal", "iso3"=>"NPL", "iso"=>"NP", "iso_name"=>"NEPAL", "numcode"=>"524", "states_required"=>true}, :without_protection => true)
|
201
201
|
Spree::Country.create!({"name"=>"Wallis and Futuna", "iso3"=>"WLF", "iso"=>"WF", "iso_name"=>"WALLIS AND FUTUNA", "numcode"=>"876"}, :without_protection => true)
|
202
202
|
Spree::Country.create!({"name"=>"Western Sahara", "iso3"=>"ESH", "iso"=>"EH", "iso_name"=>"WESTERN SAHARA", "numcode"=>"732"}, :without_protection => true)
|
203
|
-
Spree::Country.create!({"name"=>"Argentina", "iso3"=>"ARG", "iso"=>"AR", "iso_name"=>"ARGENTINA", "numcode"=>"32"}, :without_protection => true)
|
204
|
-
Spree::Country.create!({"name"=>"Canada", "iso3"=>"CAN", "iso"=>"CA", "iso_name"=>"CANADA", "numcode"=>"124"}, :without_protection => true)
|
203
|
+
Spree::Country.create!({"name"=>"Argentina", "iso3"=>"ARG", "iso"=>"AR", "iso_name"=>"ARGENTINA", "numcode"=>"32", "states_required"=>true}, :without_protection => true)
|
204
|
+
Spree::Country.create!({"name"=>"Canada", "iso3"=>"CAN", "iso"=>"CA", "iso_name"=>"CANADA", "numcode"=>"124", "states_required"=>true}, :without_protection => true)
|
205
205
|
Spree::Country.create!({"name"=>"Eritrea", "iso3"=>"ERI", "iso"=>"ER", "iso_name"=>"ERITREA", "numcode"=>"232"}, :without_protection => true)
|
206
206
|
Spree::Country.create!({"name"=>"Lithuania", "iso3"=>"LTU", "iso"=>"LT", "iso_name"=>"LITHUANIA", "numcode"=>"440"}, :without_protection => true)
|
207
207
|
Spree::Country.create!({"name"=>"Netherlands", "iso3"=>"NLD", "iso"=>"NL", "iso_name"=>"NETHERLANDS", "numcode"=>"528"}, :without_protection => true)
|
@@ -213,7 +213,7 @@ Spree::Country.create!({"name"=>"Netherlands Antilles", "iso3"=>"ANT", "iso"=>"A
|
|
213
213
|
Spree::Country.create!({"name"=>"Saint Helena", "iso3"=>"SHN", "iso"=>"SH", "iso_name"=>"SAINT HELENA", "numcode"=>"654"}, :without_protection => true)
|
214
214
|
Spree::Country.create!({"name"=>"Zambia", "iso3"=>"ZMB", "iso"=>"ZM", "iso_name"=>"ZAMBIA", "numcode"=>"894"}, :without_protection => true)
|
215
215
|
Spree::Country.create!({"name"=>"Cayman Islands", "iso3"=>"CYM", "iso"=>"KY", "iso_name"=>"CAYMAN ISLANDS", "numcode"=>"136"}, :without_protection => true)
|
216
|
-
Spree::Country.create!({"name"=>"Ethiopia", "iso3"=>"ETH", "iso"=>"ET", "iso_name"=>"ETHIOPIA", "numcode"=>"231"}, :without_protection => true)
|
216
|
+
Spree::Country.create!({"name"=>"Ethiopia", "iso3"=>"ETH", "iso"=>"ET", "iso_name"=>"ETHIOPIA", "numcode"=>"231", "states_required"=>true}, :without_protection => true)
|
217
217
|
Spree::Country.create!({"name"=>"Hungary", "iso3"=>"HUN", "iso"=>"HU", "iso_name"=>"HUNGARY", "numcode"=>"348"}, :without_protection => true)
|
218
218
|
Spree::Country.create!({"name"=>"Macao", "iso3"=>"MAC", "iso"=>"MO", "iso_name"=>"MACAO", "numcode"=>"446"}, :without_protection => true)
|
219
219
|
Spree::Country.create!({"name"=>"New Caledonia", "iso3"=>"NCL", "iso"=>"NC", "iso_name"=>"NEW CALEDONIA", "numcode"=>"540"}, :without_protection => true)
|
@@ -223,7 +223,7 @@ Spree::Country.create!({"name"=>"Falkland Islands (Malvinas)", "iso3"=>"FLK", "i
|
|
223
223
|
Spree::Country.create!({"name"=>"Iceland", "iso3"=>"ISL", "iso"=>"IS", "iso_name"=>"ICELAND", "numcode"=>"352"}, :without_protection => true)
|
224
224
|
Spree::Country.create!({"name"=>"Macedonia", "iso3"=>"MKD", "iso"=>"MK", "iso_name"=>"MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF", "numcode"=>"807"}, :without_protection => true)
|
225
225
|
Spree::Country.create!({"name"=>"New Zealand", "iso3"=>"NZL", "iso"=>"NZ", "iso_name"=>"NEW ZEALAND", "numcode"=>"554"}, :without_protection => true)
|
226
|
-
Spree::Country.create!({"name"=>"Saint Kitts and Nevis", "iso3"=>"KNA", "iso"=>"KN", "iso_name"=>"SAINT KITTS AND NEVIS", "numcode"=>"659"}, :without_protection => true)
|
226
|
+
Spree::Country.create!({"name"=>"Saint Kitts and Nevis", "iso3"=>"KNA", "iso"=>"KN", "iso_name"=>"SAINT KITTS AND NEVIS", "numcode"=>"659", "states_required"=>true}, :without_protection => true)
|
227
227
|
Spree::Country.create!({"name"=>"Serbia", "iso3"=>"SRB", "iso"=>"RS", "iso_name" => "SERBIA", "numcode"=>"999"}, :without_protection => true)
|
228
228
|
|
229
229
|
Spree::Config[:default_country_id] = Spree::Country.find_by_name("United States").id
|
@@ -4,10 +4,13 @@ class CreateDefaultStock < ActiveRecord::Migration
|
|
4
4
|
Spree::StockItem.skip_callback(:save, :after, :process_backorders)
|
5
5
|
location = Spree::StockLocation.new(name: 'default')
|
6
6
|
location.save(validate: false)
|
7
|
+
|
7
8
|
Spree::Variant.all.each do |variant|
|
8
|
-
stock_item =
|
9
|
+
stock_item = Spree::StockItem.unscoped.build(stock_location: location, variant: variant)
|
9
10
|
stock_item.send(:count_on_hand=, variant.count_on_hand)
|
10
|
-
|
11
|
+
# Avoid running default_scope defined by acts_as_paranoid, related to #3805,
|
12
|
+
# validations would run a query with a delete_at column tha might not be present yet
|
13
|
+
stock_item.save! validate: false
|
11
14
|
end
|
12
15
|
|
13
16
|
remove_column :spree_variants, :count_on_hand
|
@@ -0,0 +1,15 @@
|
|
1
|
+
class AddShippingCategoryToShippingMethodsAndProducts < ActiveRecord::Migration
|
2
|
+
def up
|
3
|
+
default_category = Spree::ShippingCategory.first
|
4
|
+
default_category ||= Spree::ShippingCategory.create!(:name => "Default")
|
5
|
+
|
6
|
+
Spree::ShippingMethod.all.each do |method|
|
7
|
+
method.shipping_categories << default_category if method.shipping_categories.blank?
|
8
|
+
end
|
9
|
+
|
10
|
+
Spree::Product.where(shipping_category_id: nil).update_all(shipping_category_id: default_category.id)
|
11
|
+
end
|
12
|
+
|
13
|
+
def down
|
14
|
+
end
|
15
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
class MigrateOldShippingCalculators < ActiveRecord::Migration
|
2
|
+
def up
|
3
|
+
Spree::ShippingMethod.all.each do |shipping_method|
|
4
|
+
old_calculator = shipping_method.calculator
|
5
|
+
next if old_calculator.class < Spree::ShippingCalculator # We don't want to mess with new shipping calculators
|
6
|
+
new_calculator = eval("Spree::Calculator::Shipping::#{old_calculator.class.name.demodulize}").new
|
7
|
+
new_calculator.preferences.keys.each do |pref|
|
8
|
+
# Preferences can't be read/set by name, you have to prefix preferred_
|
9
|
+
pref_method = "preferred_#{pref}"
|
10
|
+
new_calculator.send("#{pref_method}=", old_calculator.send(pref_method))
|
11
|
+
end
|
12
|
+
new_calculator.calculable = old_calculator.calculable
|
13
|
+
new_calculator.save
|
14
|
+
end
|
15
|
+
end
|
16
|
+
|
17
|
+
def down
|
18
|
+
end
|
19
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
class RemoveUnusedCreditCardFields < ActiveRecord::Migration
|
2
|
+
def up
|
3
|
+
remove_column :spree_credit_cards, :start_month
|
4
|
+
remove_column :spree_credit_cards, :start_year
|
5
|
+
remove_column :spree_credit_cards, :issue_number
|
6
|
+
end
|
7
|
+
def down
|
8
|
+
add_column :spree_credit_cards, :start_month, :string
|
9
|
+
add_column :spree_credit_cards, :start_year, :string
|
10
|
+
add_column :spree_credit_cards, :issue_number, :string
|
11
|
+
end
|
12
|
+
end
|
@@ -61,7 +61,7 @@ module Spree
|
|
61
61
|
if session[:order_id].nil? && last_incomplete_order
|
62
62
|
session[:order_id] = last_incomplete_order.id
|
63
63
|
elsif current_order(true) && last_incomplete_order && current_order != last_incomplete_order
|
64
|
-
current_order.merge!(last_incomplete_order)
|
64
|
+
current_order.merge!(last_incomplete_order, user)
|
65
65
|
end
|
66
66
|
end
|
67
67
|
end
|
@@ -6,21 +6,20 @@ module Spree
|
|
6
6
|
|
7
7
|
included do
|
8
8
|
before_filter :force_non_ssl_redirect, :if => Proc.new { Spree::Config[:redirect_https_to_http] }
|
9
|
-
|
9
|
+
class_attribute :ssl_allowed_actions
|
10
10
|
|
11
11
|
def self.ssl_allowed(*actions)
|
12
|
-
|
13
|
-
self.ssl_allowed_actions
|
12
|
+
self.ssl_allowed_actions ||= []
|
13
|
+
self.ssl_allowed_actions.concat actions
|
14
14
|
end
|
15
15
|
|
16
16
|
def self.ssl_required(*actions)
|
17
|
-
|
18
|
-
self.ssl_required_actions = actions
|
17
|
+
ssl_allowed *actions
|
19
18
|
if ssl_supported?
|
20
|
-
if
|
19
|
+
if actions.empty? or Rails.application.config.force_ssl
|
21
20
|
force_ssl
|
22
21
|
else
|
23
|
-
force_ssl :only =>
|
22
|
+
force_ssl :only => actions
|
24
23
|
end
|
25
24
|
end
|
26
25
|
end
|
@@ -32,36 +31,30 @@ module Spree
|
|
32
31
|
end
|
33
32
|
|
34
33
|
private
|
34
|
+
def ssl_allowed?
|
35
|
+
(!ssl_allowed_actions.nil? && (ssl_allowed_actions.empty? || ssl_allowed_actions.include?(action_name.to_sym)))
|
36
|
+
end
|
35
37
|
|
36
38
|
# Redirect the existing request to use the HTTP protocol.
|
37
39
|
#
|
38
40
|
# ==== Parameters
|
39
41
|
# * <tt>host</tt> - Redirect to a different host name
|
40
42
|
def force_non_ssl_redirect(host = nil)
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
47
|
-
|
48
|
-
|
49
|
-
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
# * <tt>host</tt> - Redirect to a different host name
|
55
|
-
def force_ssl_redirect(host = nil)
|
56
|
-
unless request.ssl?
|
57
|
-
redirect_options = {:protocol => 'https://', :status => :moved_permanently}
|
58
|
-
redirect_options.merge!(:host => host) if host
|
59
|
-
redirect_options.merge!(:params => request.query_parameters)
|
60
|
-
flash.keep if respond_to?(:flash)
|
61
|
-
redirect_to redirect_options
|
43
|
+
if request.ssl? && !ssl_allowed?
|
44
|
+
if request.get?
|
45
|
+
redirect_options = {
|
46
|
+
:protocol => 'http://',
|
47
|
+
:host => host || request.host,
|
48
|
+
:path => request.fullpath,
|
49
|
+
}
|
50
|
+
flash.keep if respond_to?(:flash)
|
51
|
+
insecure_url = ActionDispatch::Http::URL.url_for(redirect_options)
|
52
|
+
redirect_to insecure_url, :status => :moved_permanently
|
53
|
+
else
|
54
|
+
render :text => Spree.t(:change_protocol, :scope => :ssl), :status => :upgrade_required
|
55
|
+
end
|
62
56
|
end
|
63
57
|
end
|
64
|
-
|
65
58
|
end
|
66
59
|
end
|
67
60
|
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
module Spree
|
2
|
+
class OldPrefs < ActiveRecord::Base
|
3
|
+
self.table_name = "spree_preferences"
|
4
|
+
belongs_to :owner, :polymorphic => true
|
5
|
+
attr_accessor :owner_klass
|
6
|
+
end
|
7
|
+
|
8
|
+
class PreferenceRescue
|
9
|
+
def self.try
|
10
|
+
OldPrefs.where(:key => nil).each do |old_pref|
|
11
|
+
next unless owner = (old_pref.owner rescue nil)
|
12
|
+
unless old_pref.owner_type == "Spree::Activator" || old_pref.owner_type == "Spree::Configuration"
|
13
|
+
begin
|
14
|
+
old_pref.key = [owner.class.name, old_pref.name, owner.id].join('::').underscore
|
15
|
+
old_pref.value_type = owner.preference_type(old_pref.name)
|
16
|
+
puts "Migrating Preference: #{old_pref.key}"
|
17
|
+
old_pref.save
|
18
|
+
rescue NoMethodError => ex
|
19
|
+
puts ex.message
|
20
|
+
end
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
data/lib/spree/core/version.rb
CHANGED
data/lib/spree/money.rb
CHANGED
metadata
CHANGED
@@ -1,29 +1,29 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: spree_core
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Sean Schofield
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2013-
|
11
|
+
date: 2013-10-15 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: activemerchant
|
15
15
|
requirement: !ruby/object:Gem::Requirement
|
16
16
|
requirements:
|
17
|
-
- -
|
17
|
+
- - '='
|
18
18
|
- !ruby/object:Gem::Version
|
19
|
-
version:
|
19
|
+
version: 1.39.2
|
20
20
|
type: :runtime
|
21
21
|
prerelease: false
|
22
22
|
version_requirements: !ruby/object:Gem::Requirement
|
23
23
|
requirements:
|
24
|
-
- -
|
24
|
+
- - '='
|
25
25
|
- !ruby/object:Gem::Version
|
26
|
-
version:
|
26
|
+
version: 1.39.2
|
27
27
|
- !ruby/object:Gem::Dependency
|
28
28
|
name: acts_as_list
|
29
29
|
requirement: !ruby/object:Gem::Requirement
|
@@ -168,14 +168,14 @@ dependencies:
|
|
168
168
|
name: money
|
169
169
|
requirement: !ruby/object:Gem::Requirement
|
170
170
|
requirements:
|
171
|
-
- - '
|
171
|
+
- - '>='
|
172
172
|
- !ruby/object:Gem::Version
|
173
173
|
version: 5.1.1
|
174
174
|
type: :runtime
|
175
175
|
prerelease: false
|
176
176
|
version_requirements: !ruby/object:Gem::Requirement
|
177
177
|
requirements:
|
178
|
-
- - '
|
178
|
+
- - '>='
|
179
179
|
- !ruby/object:Gem::Version
|
180
180
|
version: 5.1.1
|
181
181
|
- !ruby/object:Gem::Dependency
|
@@ -459,6 +459,7 @@ files:
|
|
459
459
|
- lib/spree/core/mail_interceptor.rb
|
460
460
|
- lib/spree/core/mail_settings.rb
|
461
461
|
- lib/spree/core/permalinks.rb
|
462
|
+
- lib/spree/core/preference_rescue.rb
|
462
463
|
- lib/spree/core/product_duplicator.rb
|
463
464
|
- lib/spree/core/product_filters.rb
|
464
465
|
- lib/spree/core/s3_support.rb
|
@@ -613,7 +614,11 @@ files:
|
|
613
614
|
- db/migrate/20130809164330_add_admin_name_column_to_spree_stock_locations.rb
|
614
615
|
- db/migrate/20130813140619_expand_order_number_size.rb
|
615
616
|
- db/migrate/20130826062534_add_depth_to_spree_taxons.rb
|
617
|
+
- db/migrate/20130830001033_add_shipping_category_to_shipping_methods_and_products.rb
|
618
|
+
- db/migrate/20130830001159_migrate_old_shipping_calculators.rb
|
619
|
+
- db/migrate/20130909115621_change_states_required_for_countries.rb
|
616
620
|
- db/migrate/20130915032339_add_deleted_at_to_spree_stock_items.rb
|
621
|
+
- db/migrate/20131001013410_remove_unused_credit_card_fields.rb
|
617
622
|
- db/seeds.rb
|
618
623
|
- vendor/assets/javascripts/jquery-migrate-1.0.0.js
|
619
624
|
- vendor/assets/javascripts/jquery.validate/localization/messages_et.js
|