spree_core 2.2.14 → 2.3.0
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/assets/javascripts/{spree.js.coffee → spree.js.coffee.erb} +11 -2
- data/app/controllers/spree/base_controller.rb +1 -0
- data/app/helpers/spree/base_helper.rb +5 -6
- data/app/helpers/spree/orders_helper.rb +4 -0
- data/app/helpers/spree/products_helper.rb +8 -7
- data/app/mailers/spree/base_mailer.rb +2 -2
- data/app/mailers/spree/order_mailer.rb +2 -2
- data/app/mailers/spree/shipment_mailer.rb +1 -1
- data/app/mailers/spree/test_mailer.rb +1 -1
- data/app/models/spree/ability.rb +15 -16
- data/app/models/spree/address.rb +3 -6
- data/app/models/spree/adjustment.rb +2 -2
- data/app/models/spree/alert.rb +1 -1
- data/app/models/spree/app_configuration.rb +17 -20
- data/app/models/spree/asset.rb +2 -2
- data/app/models/spree/base.rb +9 -0
- data/app/models/spree/calculator.rb +1 -1
- data/app/models/spree/calculator/flat_rate.rb +1 -1
- data/app/models/spree/calculator/flexi_rate.rb +1 -1
- data/app/models/spree/calculator/price_sack.rb +1 -3
- data/app/models/spree/calculator/shipping/flat_rate.rb +1 -1
- data/app/models/spree/calculator/shipping/flexi_rate.rb +1 -1
- data/app/models/spree/calculator/shipping/per_item.rb +1 -1
- data/app/models/spree/calculator/shipping/price_sack.rb +1 -3
- data/app/models/spree/classification.rb +1 -1
- data/app/models/spree/configuration.rb +1 -1
- data/app/models/spree/country.rb +1 -1
- data/app/models/spree/credit_card.rb +8 -12
- data/app/models/spree/gateway.rb +0 -3
- data/app/models/spree/gateway/bogus.rb +2 -3
- data/app/models/spree/image.rb +3 -1
- data/app/models/spree/inventory_unit.rb +5 -6
- data/app/models/spree/item_adjustments.rb +3 -4
- data/app/models/spree/legacy_user.rb +1 -1
- data/app/models/spree/line_item.rb +6 -13
- data/app/models/spree/log_entry.rb +1 -1
- data/app/models/spree/option_type.rb +1 -1
- data/app/models/spree/option_value.rb +1 -3
- data/app/models/spree/order.rb +52 -70
- data/app/models/spree/order/checkout.rb +17 -10
- data/app/models/spree/order/currency_updater.rb +1 -1
- data/app/models/spree/order_contents.rb +7 -4
- data/app/models/spree/order_populator.rb +1 -1
- data/app/models/spree/order_updater.rb +8 -21
- data/app/models/spree/payment.rb +26 -12
- data/app/models/spree/payment/processing.rb +5 -16
- data/app/models/spree/payment_capture_event.rb +1 -1
- data/app/models/spree/payment_method.rb +2 -2
- data/app/models/spree/payment_method/check.rb +0 -2
- data/app/models/spree/preference.rb +1 -31
- data/app/models/spree/preferences/configuration.rb +2 -6
- data/app/models/spree/preferences/preferable.rb +46 -74
- data/app/models/spree/preferences/preferable_class_methods.rb +11 -46
- data/app/models/spree/preferences/scoped_store.rb +33 -0
- data/app/models/spree/preferences/store.rb +8 -7
- data/app/models/spree/price.rb +1 -3
- data/app/models/spree/product.rb +59 -87
- data/app/models/spree/product/scopes.rb +22 -13
- data/app/models/spree/product_option_type.rb +1 -1
- data/app/models/spree/product_property.rb +1 -3
- data/app/models/spree/product_scope/scopes.rb +1 -1
- data/app/models/spree/promotion.rb +4 -5
- data/app/models/spree/promotion/actions/create_adjustment.rb +11 -2
- data/app/models/spree/promotion/actions/create_item_adjustments.rb +19 -2
- data/app/models/spree/promotion/actions/create_line_items.rb +2 -12
- data/app/models/spree/promotion/rules/user.rb +5 -1
- data/app/models/spree/promotion_action.rb +1 -1
- data/app/models/spree/promotion_action_line_item.rb +1 -1
- data/app/models/spree/promotion_handler/cart.rb +2 -14
- data/app/models/spree/promotion_handler/coupon.rb +3 -13
- data/app/models/spree/promotion_rule.rb +1 -1
- data/app/models/spree/property.rb +1 -3
- data/app/models/spree/prototype.rb +1 -1
- data/app/models/spree/return_authorization.rb +4 -10
- data/app/models/spree/role.rb +1 -1
- data/app/models/spree/shipment.rb +1 -9
- data/app/models/spree/shipping_category.rb +3 -3
- data/app/models/spree/shipping_method.rb +1 -1
- data/app/models/spree/shipping_method_category.rb +2 -2
- data/app/models/spree/shipping_rate.rb +3 -3
- data/app/models/spree/state.rb +1 -1
- data/app/models/spree/state_change.rb +1 -1
- data/app/models/spree/stock/availability_validator.rb +7 -3
- data/app/models/spree/stock/package.rb +0 -23
- data/app/models/spree/stock/splitter/backordered.rb +1 -1
- data/app/models/spree/stock/splitter/shipping_category.rb +1 -1
- data/app/models/spree/stock/splitter/weight.rb +1 -1
- data/app/models/spree/stock_item.rb +7 -10
- data/app/models/spree/stock_location.rb +2 -6
- data/app/models/spree/stock_movement.rb +1 -3
- data/app/models/spree/stock_transfer.rb +1 -3
- data/app/models/spree/store.rb +33 -0
- data/app/models/spree/tax_category.rb +2 -2
- data/app/models/spree/tax_rate.rb +21 -52
- data/app/models/spree/taxon.rb +9 -8
- data/app/models/spree/taxonomy.rb +1 -1
- data/app/models/spree/tracker.rb +1 -1
- data/app/models/spree/variant.rb +13 -15
- data/app/models/spree/variant/scopes.rb +1 -1
- data/app/models/spree/zone.rb +22 -22
- data/app/models/spree/zone_member.rb +2 -2
- data/config/initializers/user_class_extensions.rb +0 -8
- data/config/locales/en.yml +7 -42
- data/db/default/spree/countries.rb +2 -3
- data/db/default/spree/stores.rb +9 -0
- data/db/migrate/20130611054351_rename_shipping_methods_zones_to_spree_shipping_methods_zones.rb +0 -5
- data/db/migrate/20130807024301_upgrade_adjustments.rb +4 -5
- data/db/migrate/20130807024302_rename_adjustment_fields.rb +5 -2
- data/db/migrate/20131118183431_add_line_item_id_to_spree_inventory_units.rb +1 -1
- data/db/migrate/20140106065820_remove_value_type_from_spree_preferences.rb +8 -0
- data/db/migrate/20140227112348_add_preference_store_to_everything.rb +8 -0
- data/db/migrate/20140309023735_migrate_old_preferences.rb +23 -0
- data/db/migrate/20140309024355_create_spree_stores.rb +25 -0
- data/db/migrate/20140309033438_create_store_from_preferences.rb +30 -0
- data/db/migrate/20140315053743_add_timestamps_to_spree_assets.rb +6 -0
- data/db/migrate/20140331100557_add_additional_store_fields.rb +8 -0
- data/db/migrate/20140410141842_add_many_missing_indexes.rb +18 -0
- data/db/migrate/20140410150358_correct_some_polymorphic_index_and_add_more_missing.rb +66 -0
- data/db/migrate/20140508151342_change_spree_price_amount_precision.rb +1 -1
- data/db/migrate/20140518174634_add_token_to_spree_orders.rb +5 -0
- data/db/migrate/20140530024945_move_order_token_from_tokenized_permission.rb +29 -0
- data/db/migrate/20140601011216_set_shipment_total_for_users_upgrading.rb +5 -3
- data/db/migrate/20140604135309_drop_credit_card_first_name_and_last_name.rb +6 -0
- data/lib/generators/spree/dummy/dummy_generator.rb +1 -0
- data/lib/generators/spree/dummy/templates/initializers/devise.rb +3 -0
- data/lib/generators/spree/dummy/templates/rails/routes.rb +0 -1
- data/lib/generators/spree/install/install_generator.rb +8 -17
- data/lib/generators/spree/install/templates/config/initializers/spree.rb +2 -2
- data/lib/spree/core.rb +13 -9
- data/lib/spree/core/calculated_adjustments.rb +1 -1
- data/lib/spree/core/controller_helpers/auth.rb +27 -18
- data/lib/spree/core/controller_helpers/common.rb +2 -2
- data/lib/spree/core/controller_helpers/order.rb +15 -24
- data/lib/spree/core/controller_helpers/store.rb +19 -0
- data/lib/spree/core/delegate_belongs_to.rb +2 -2
- data/lib/spree/core/engine.rb +0 -10
- data/lib/spree/core/importer.rb +1 -0
- data/lib/spree/core/importer/order.rb +16 -44
- data/lib/spree/core/importer/product.rb +62 -0
- data/lib/spree/core/product_filters.rb +0 -4
- data/lib/spree/core/routes.rb +4 -6
- data/lib/spree/core/validators/email.rb +23 -1
- data/lib/spree/core/version.rb +1 -1
- data/lib/spree/money.rb +1 -169
- data/lib/spree/permitted_attributes.rb +6 -4
- data/lib/spree/testing_support/authorization_helpers.rb +23 -21
- data/lib/spree/testing_support/capybara_ext.rb +11 -21
- data/lib/spree/testing_support/common_rake.rb +3 -1
- data/lib/spree/testing_support/controller_requests.rb +0 -2
- data/lib/spree/testing_support/factories/credit_card_factory.rb +1 -1
- data/lib/spree/testing_support/factories/line_item_factory.rb +4 -1
- data/lib/spree/testing_support/factories/order_factory.rb +5 -4
- data/lib/spree/testing_support/factories/product_factory.rb +0 -4
- data/lib/spree/testing_support/factories/promotion_factory.rb +5 -7
- data/lib/spree/testing_support/factories/shipment_factory.rb +0 -1
- data/lib/spree/testing_support/factories/stock_factory.rb +2 -2
- data/lib/spree/testing_support/factories/store_factory.rb +8 -0
- data/lib/spree/testing_support/preferences.rb +3 -3
- data/lib/tasks/core.rake +2 -2
- metadata +48 -39
- data/app/models/spree/stock/order_counter.rb +0 -55
- data/app/models/spree/tokenized_permission.rb +0 -6
- data/app/views/spree/shared/_routes.html.erb +0 -13
- data/db/migrate/20140804185157_add_default_to_shipment_cost.rb +0 -10
- data/db/migrate/20141021194502_add_state_lock_version_to_order.rb +0 -5
- data/lib/spree/core/adjustment_source.rb +0 -26
- data/lib/spree/core/mail_interceptor.rb +0 -22
- data/lib/spree/core/mail_method.rb +0 -27
- data/lib/spree/core/mail_settings.rb +0 -55
- data/lib/spree/core/ransackable_attributes.rb +0 -15
- data/lib/spree/core/token_resource.rb +0 -27
@@ -1,5 +1,5 @@
|
|
1
1
|
module Spree
|
2
|
-
class Variant <
|
2
|
+
class Variant < Spree::Base
|
3
3
|
#FIXME WARNING tested only under sqlite and postgresql
|
4
4
|
scope :descend_by_popularity, -> { order("COALESCE((SELECT COUNT(*) FROM #{LineItem.quoted_table_name} GROUP BY #{LineItem.quoted_table_name}.variant_id HAVING #{LineItem.quoted_table_name}.variant_id = #{Variant.quoted_table_name}.id), 0) DESC") }
|
5
5
|
|
data/app/models/spree/zone.rb
CHANGED
@@ -1,8 +1,7 @@
|
|
1
1
|
module Spree
|
2
|
-
class Zone <
|
3
|
-
has_many :zone_members, dependent: :destroy, class_name: "Spree::ZoneMember"
|
4
|
-
has_many :tax_rates, dependent: :destroy
|
5
|
-
|
2
|
+
class Zone < Spree::Base
|
3
|
+
has_many :zone_members, dependent: :destroy, class_name: "Spree::ZoneMember"
|
4
|
+
has_many :tax_rates, dependent: :destroy
|
6
5
|
has_and_belongs_to_many :shipping_methods, :join_table => 'spree_shipping_methods_zones'
|
7
6
|
|
8
7
|
validates :name, presence: true, uniqueness: true
|
@@ -12,18 +11,17 @@ module Spree
|
|
12
11
|
alias :members :zone_members
|
13
12
|
accepts_nested_attributes_for :zone_members, allow_destroy: true, reject_if: proc { |a| a['zoneable_id'].blank? }
|
14
13
|
|
15
|
-
self.whitelisted_ransackable_attributes = ['description']
|
16
|
-
|
17
14
|
def self.default_tax
|
18
15
|
where(default_tax: true).first
|
19
16
|
end
|
20
|
-
|
17
|
+
|
21
18
|
# Returns the matching zone with the highest priority zone type (State, Country, Zone.)
|
22
19
|
# Returns nil in the case of no matches.
|
23
20
|
def self.match(address)
|
24
|
-
return unless matches = self.includes(:zone_members).
|
25
|
-
order('zone_members_count', 'created_at').
|
26
|
-
|
21
|
+
return unless address and matches = self.includes(:zone_members).
|
22
|
+
order('spree_zones.zone_members_count', 'spree_zones.created_at').
|
23
|
+
where("(spree_zone_members.zoneable_type = 'Spree::Country' AND spree_zone_members.zoneable_id = ?) OR (spree_zone_members.zoneable_type = 'Spree::State' AND spree_zone_members.zoneable_id = ?)", address.country_id, address.state_id).
|
24
|
+
references(:zones)
|
27
25
|
|
28
26
|
['state', 'country'].each do |zone_kind|
|
29
27
|
if match = matches.detect { |zone| zone_kind == zone.kind }
|
@@ -94,11 +92,23 @@ module Spree
|
|
94
92
|
end
|
95
93
|
|
96
94
|
def country_ids=(ids)
|
97
|
-
|
95
|
+
zone_members.destroy_all
|
96
|
+
ids.reject{ |id| id.blank? }.map do |id|
|
97
|
+
member = ZoneMember.new
|
98
|
+
member.zoneable_type = 'Spree::Country'
|
99
|
+
member.zoneable_id = id
|
100
|
+
members << member
|
101
|
+
end
|
98
102
|
end
|
99
103
|
|
100
104
|
def state_ids=(ids)
|
101
|
-
|
105
|
+
zone_members.destroy_all
|
106
|
+
ids.reject{ |id| id.blank? }.map do |id|
|
107
|
+
member = ZoneMember.new
|
108
|
+
member.zoneable_type = 'Spree::State'
|
109
|
+
member.zoneable_id = id
|
110
|
+
members << member
|
111
|
+
end
|
102
112
|
end
|
103
113
|
|
104
114
|
# Indicates whether the specified zone falls entirely within the zone performing
|
@@ -126,15 +136,5 @@ module Spree
|
|
126
136
|
def remove_previous_default
|
127
137
|
Spree::Zone.where('id != ?', self.id).update_all(default_tax: false) if default_tax
|
128
138
|
end
|
129
|
-
|
130
|
-
def set_zone_members(ids, type)
|
131
|
-
zone_members.destroy_all
|
132
|
-
ids.reject{ |id| id.blank? }.map do |id|
|
133
|
-
member = ZoneMember.new
|
134
|
-
member.zoneable_type = type
|
135
|
-
member.zoneable_id = id
|
136
|
-
members << member
|
137
|
-
end
|
138
|
-
end
|
139
139
|
end
|
140
140
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
module Spree
|
2
|
-
class ZoneMember <
|
3
|
-
belongs_to :zone, class_name: 'Spree::Zone', counter_cache: true
|
2
|
+
class ZoneMember < Spree::Base
|
3
|
+
belongs_to :zone, class_name: 'Spree::Zone', counter_cache: true
|
4
4
|
belongs_to :zoneable, polymorphic: true
|
5
5
|
|
6
6
|
def name
|
@@ -14,14 +14,6 @@ Spree::Core::Engine.config.to_prepare do
|
|
14
14
|
belongs_to :ship_address, :class_name => 'Spree::Address'
|
15
15
|
belongs_to :bill_address, :class_name => 'Spree::Address'
|
16
16
|
|
17
|
-
def self.ransackable_associations(auth_object=nil)
|
18
|
-
%w[bill_address ship_address]
|
19
|
-
end
|
20
|
-
|
21
|
-
def self.ransackable_attributes(auth_object=nil)
|
22
|
-
%w[id email]
|
23
|
-
end
|
24
|
-
|
25
17
|
# has_spree_role? simply needs to return true or false whether a user has a role or not.
|
26
18
|
def has_spree_role?(role_in_question)
|
27
19
|
spree_roles.where(:name => role_in_question.to_s).any?
|
data/config/locales/en.yml
CHANGED
@@ -99,6 +99,12 @@ en:
|
|
99
99
|
spree/state:
|
100
100
|
abbr: Abbreviation
|
101
101
|
name: Name
|
102
|
+
spree/store:
|
103
|
+
url: Site URL
|
104
|
+
meta_description: Meta Description
|
105
|
+
meta_keywords: Meta Keywords
|
106
|
+
seo_title: Seo Title
|
107
|
+
name: Site Name
|
102
108
|
spree/tax_category:
|
103
109
|
description: Description
|
104
110
|
name: Name
|
@@ -232,7 +238,6 @@ en:
|
|
232
238
|
attributes:
|
233
239
|
base:
|
234
240
|
card_expired: "Card has expired"
|
235
|
-
expiry_invalid: "Card expiration is invalid"
|
236
241
|
spree/line_item:
|
237
242
|
attributes:
|
238
243
|
currency:
|
@@ -328,12 +333,6 @@ en:
|
|
328
333
|
adjustment_total: Adjustment Total
|
329
334
|
adjustments: Adjustments
|
330
335
|
admin:
|
331
|
-
mail_methods:
|
332
|
-
send_testmail: Send Test Mail
|
333
|
-
testmail:
|
334
|
-
delivery_error: Test Mail delivery error
|
335
|
-
delivery_success: Test Mail sent successfully
|
336
|
-
error: ! 'Test Mail error: %{e}'
|
337
336
|
tab:
|
338
337
|
configuration: Configuration
|
339
338
|
option_types: Option Types
|
@@ -405,7 +404,6 @@ en:
|
|
405
404
|
back_to_prototypes_list: Back To Prototypes List
|
406
405
|
back_to_reports_list: Back To Reports List
|
407
406
|
back_to_shipping_categories: Back To Shipping Categories
|
408
|
-
back_to_shipping_categories_list: Back To Shipping Categories List
|
409
407
|
back_to_shipping_methods_list: Back To Shipping Methods List
|
410
408
|
back_to_states_list: Back To States List
|
411
409
|
back_to_stock_locations_list: Back to Stock Locations List
|
@@ -418,7 +416,6 @@ en:
|
|
418
416
|
back_to_users_list: Back To Users List
|
419
417
|
back_to_zones_list: Back To Zones List
|
420
418
|
backorderable: Backorderable
|
421
|
-
backorderable_default: Backorderable default
|
422
419
|
backorders_allowed: backorders allowed
|
423
420
|
balance_due: Balance Due
|
424
421
|
bill_address: Bill Address
|
@@ -452,7 +449,6 @@ en:
|
|
452
449
|
choose_dashboard_locale: Choose Dashboard Locale
|
453
450
|
choose_location: Choose location
|
454
451
|
city: City
|
455
|
-
click_and_drag_on_the_products_to_sort_them: 'Click & drag on the products to sort them.'
|
456
452
|
clone: Clone
|
457
453
|
close: Close
|
458
454
|
close_all_adjustments: Close All Adjustments
|
@@ -528,9 +524,6 @@ en:
|
|
528
524
|
js_format: yy/mm/dd
|
529
525
|
date_range: Date Range
|
530
526
|
default: Default
|
531
|
-
default_meta_description: Default Meta Description
|
532
|
-
default_meta_keywords: Default Meta Keywords
|
533
|
-
default_seo_title: Default Seo Title
|
534
527
|
default_tax: Default Tax
|
535
528
|
default_tax_zone: Default Tax Zone
|
536
529
|
delete: Delete
|
@@ -592,7 +585,6 @@ en:
|
|
592
585
|
signup: User signup
|
593
586
|
exceptions:
|
594
587
|
count_on_hand_setter: Cannot set count_on_hand manually, as it is set automatically by the recalculate_count_on_hand callback. Please use `update_column(:count_on_hand, value)` instead.
|
595
|
-
excl: excl.
|
596
588
|
expiration: Expiration
|
597
589
|
extension: Extension
|
598
590
|
existing_shipments: Existing shipments
|
@@ -642,12 +634,10 @@ en:
|
|
642
634
|
image: Image
|
643
635
|
images: Images
|
644
636
|
inactive: Inactive
|
645
|
-
incl: incl.
|
646
637
|
included_in_price: Included in Price
|
647
638
|
included_price_validation: cannot be selected unless you have set a Default Tax Zone
|
648
639
|
instructions_to_reset_password: Please enter your email on the form below
|
649
640
|
insufficient_stock: Insufficient stock available, only %{on_hand} remaining
|
650
|
-
insufficient_stock_lines_present: Some line items in this order have insufficient quantity.
|
651
641
|
intercept_email_address: Intercept Email Address
|
652
642
|
intercept_email_instructions: Override email recipient and replace with this address.
|
653
643
|
internal_name: Internal Name
|
@@ -698,17 +688,6 @@ en:
|
|
698
688
|
login_name: Login
|
699
689
|
logout: Logout
|
700
690
|
look_for_similar_items: Look for similar items
|
701
|
-
mail_method_settings: Mail Method Settings
|
702
|
-
mail_methods: Mail Methods
|
703
|
-
mail_settings:
|
704
|
-
auth:
|
705
|
-
none: "None"
|
706
|
-
plain: "Plain"
|
707
|
-
login: "Login"
|
708
|
-
cram_md5: "cram_md5"
|
709
|
-
security:
|
710
|
-
ssl: "SSL"
|
711
|
-
tls: "TLS"
|
712
691
|
make_refund: Make refund
|
713
692
|
master_price: Master Price
|
714
693
|
match_choices:
|
@@ -762,6 +741,7 @@ en:
|
|
762
741
|
no_actions_added: No actions added
|
763
742
|
no_orders_found: No orders found
|
764
743
|
no_payment_methods_found: No payment methods found
|
744
|
+
no_payment_found: No payment found
|
765
745
|
no_pending_payments: No pending payments
|
766
746
|
no_products_found: No products found
|
767
747
|
no_promotions_found: No promotions found
|
@@ -801,7 +781,6 @@ en:
|
|
801
781
|
or_over_price: ! '%{price} or over'
|
802
782
|
order: Order
|
803
783
|
order_adjustments: Order adjustments
|
804
|
-
order_already_updated: The order has already been updated.
|
805
784
|
order_approved: Order approved
|
806
785
|
order_canceled: Order canceled
|
807
786
|
order_details: Order Details
|
@@ -952,7 +931,6 @@ en:
|
|
952
931
|
name: User Logged In
|
953
932
|
promotions: Promotions
|
954
933
|
promotion_uses: Promotion uses
|
955
|
-
propagate_all_variants: Propagate all variants
|
956
934
|
properties: Properties
|
957
935
|
property: Property
|
958
936
|
prototype: Prototype
|
@@ -1062,19 +1040,8 @@ en:
|
|
1062
1040
|
show_deleted: Show Deleted
|
1063
1041
|
show_only_complete_orders: Only show complete orders
|
1064
1042
|
show_rate_in_label: Show rate in label
|
1065
|
-
site_name: Site Name
|
1066
|
-
site_url: Site URL
|
1067
1043
|
sku: SKU
|
1068
1044
|
slug: Slug
|
1069
|
-
smtp: SMTP
|
1070
|
-
smtp_authentication_type: SMTP Authentication Type
|
1071
|
-
smtp_domain: SMTP Domain
|
1072
|
-
smtp_mail_host: SMTP Mail Host
|
1073
|
-
smtp_password: SMTP Password
|
1074
|
-
smtp_port: SMTP Port
|
1075
|
-
smtp_send_all_emails_as_from_following_address: Send all mails as from the following address.
|
1076
|
-
smtp_send_copy_to_this_addresses: Sends a copy of all outgoing mails to this address. For multiple addresses, separate with commas.
|
1077
|
-
smtp_username: SMTP Username
|
1078
1045
|
source: Source
|
1079
1046
|
special_instructions: Special Instructions
|
1080
1047
|
split: Split
|
@@ -1162,9 +1129,7 @@ en:
|
|
1162
1129
|
usage_limit: Usage Limit
|
1163
1130
|
use_app_default: Use App Default
|
1164
1131
|
use_billing_address: Use Billing Address
|
1165
|
-
use_existing_cc: Use an existing card on file
|
1166
1132
|
use_new_cc: Use a new card
|
1167
|
-
use_new_cc_or_payment_method: Use a new card / payment method
|
1168
1133
|
use_s3: Use Amazon S3 For Images
|
1169
1134
|
user: User
|
1170
1135
|
user_rule:
|
@@ -92,7 +92,7 @@ Spree::Country.create!([
|
|
92
92
|
{ name: "Guyana", iso3: "GUY", iso: "GY", iso_name: "GUYANA", numcode: "328" },
|
93
93
|
{ name: "Reunion", iso3: "REU", iso: "RE", iso_name: "REUNION", numcode: "638" },
|
94
94
|
{ name: "Haiti", iso3: "HTI", iso: "HT", iso_name: "HAITI", numcode: "332" },
|
95
|
-
{ name: "Romania", iso3: "
|
95
|
+
{ name: "Romania", iso3: "ROU", iso: "RO", iso_name: "ROMANIA", numcode: "642" },
|
96
96
|
{ name: "Swaziland", iso3: "SWZ", iso: "SZ", iso_name: "SWAZILAND", numcode: "748" },
|
97
97
|
{ name: "Holy See (Vatican City State)", iso3: "VAT", iso: "VA", iso_name: "HOLY SEE (VATICAN CITY STATE)", numcode: "336" },
|
98
98
|
{ name: "Russian Federation", iso3: "RUS", iso: "RU", iso_name: "RUSSIAN FEDERATION", numcode: "643", states_required: true },
|
@@ -226,7 +226,6 @@ Spree::Country.create!([
|
|
226
226
|
{ name: "New Zealand", iso3: "NZL", iso: "NZ", iso_name: "NEW ZEALAND", numcode: "554" },
|
227
227
|
{ name: "Saint Kitts and Nevis", iso3: "KNA", iso: "KN", iso_name: "SAINT KITTS AND NEVIS", numcode: "659", states_required: true },
|
228
228
|
{ name: "Serbia", iso3: "SRB", iso: "RS", "iso_name" => "SERBIA", numcode: "999" },
|
229
|
-
{ name: "Montenegro", iso3: "MNE", iso: "ME", iso_name: "MONTENEGRO", numcode: "499" }
|
230
|
-
{ name: "Jersey", iso3: "JEY", iso: "JE", iso_name: "JERSEY", numcode: "44" }
|
229
|
+
{ name: "Montenegro", iso3: "MNE", iso: "ME", iso_name: "MONTENEGRO", numcode: "499" }
|
231
230
|
])
|
232
231
|
Spree::Config[:default_country_id] = Spree::Country.find_by(name: "United States").id
|
@@ -0,0 +1,9 @@
|
|
1
|
+
# Possibly already created by a migration.
|
2
|
+
unless Spree::Store.where(code: 'spree').exists?
|
3
|
+
Spree::Store.new do |s|
|
4
|
+
s.code = 'spree'
|
5
|
+
s.name = 'Spree Demo Site'
|
6
|
+
s.url = 'demo.spreecommerce.com'
|
7
|
+
s.mail_from_address = 'spree@example.com'
|
8
|
+
end.save!
|
9
|
+
end
|
data/db/migrate/20130611054351_rename_shipping_methods_zones_to_spree_shipping_methods_zones.rb
CHANGED
@@ -1,10 +1,5 @@
|
|
1
1
|
class RenameShippingMethodsZonesToSpreeShippingMethodsZones < ActiveRecord::Migration
|
2
2
|
def change
|
3
3
|
rename_table :shipping_methods_zones, :spree_shipping_methods_zones
|
4
|
-
# If Spree::ShippingMethod zones association was patched in
|
5
|
-
# CreateShippingMethodZone migrations, it needs to be patched back
|
6
|
-
Spree::ShippingMethod.has_and_belongs_to_many :zones, :join_table => 'spree_shipping_methods_zones',
|
7
|
-
:class_name => 'Spree::Zone',
|
8
|
-
:foreign_key => 'shipping_method_id'
|
9
4
|
end
|
10
5
|
end
|
@@ -9,14 +9,13 @@ class UpgradeAdjustments < ActiveRecord::Migration
|
|
9
9
|
# Account for possible invalid data
|
10
10
|
next if adjustment.source.nil?
|
11
11
|
adjustment.source.update_column(:cost, adjustment.amount)
|
12
|
-
adjustment.destroy
|
12
|
+
adjustment.destroy
|
13
13
|
end
|
14
14
|
|
15
15
|
# Tax adjustments have their sources altered
|
16
16
|
Spree::Adjustment.where(:originator_type => "Spree::TaxRate").find_each do |adjustment|
|
17
|
-
adjustment.
|
18
|
-
adjustment.
|
19
|
-
adjustment.save!
|
17
|
+
adjustment.source = adjustment.originator
|
18
|
+
adjustment.save
|
20
19
|
end
|
21
20
|
|
22
21
|
# Promotion adjustments have their source altered also
|
@@ -34,7 +33,7 @@ class UpgradeAdjustments < ActiveRecord::Migration
|
|
34
33
|
# Fail silently. This is primarily in instances where the calculator no longer exists
|
35
34
|
end
|
36
35
|
|
37
|
-
adjustment.save
|
36
|
+
adjustment.save
|
38
37
|
end
|
39
38
|
end
|
40
39
|
end
|
@@ -7,8 +7,11 @@ class RenameAdjustmentFields < ActiveRecord::Migration
|
|
7
7
|
|
8
8
|
# This enables the Spree::Order#all_adjustments association to work correctly
|
9
9
|
Spree::Adjustment.reset_column_information
|
10
|
-
Spree::Adjustment.
|
11
|
-
adjustment.
|
10
|
+
Spree::Adjustment.find_each do |adjustment|
|
11
|
+
if adjustment.adjustable.is_a?(Spree::Order)
|
12
|
+
adjustment.order = adjustment.adjustable
|
13
|
+
adjustment.save
|
14
|
+
end
|
12
15
|
end
|
13
16
|
end
|
14
17
|
end
|
@@ -8,7 +8,7 @@ class AddLineItemIdToSpreeInventoryUnits < ActiveRecord::Migration
|
|
8
8
|
shipments = Spree::Shipment.includes(:inventory_units, :order)
|
9
9
|
|
10
10
|
shipments.find_each do |shipment|
|
11
|
-
shipment.inventory_units.group_by(&:variant_id).each do |
|
11
|
+
shipment.inventory_units.group_by(&:variant_id).each do |variant, units|
|
12
12
|
|
13
13
|
line_item = shipment.order.line_items.find_by(variant_id: variant_id)
|
14
14
|
next unless line_item
|
@@ -0,0 +1,8 @@
|
|
1
|
+
class AddPreferenceStoreToEverything < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
add_column :spree_calculators, :preferences, :text
|
4
|
+
add_column :spree_gateways, :preferences, :text
|
5
|
+
add_column :spree_payment_methods, :preferences, :text
|
6
|
+
add_column :spree_promotion_rules, :preferences, :text
|
7
|
+
end
|
8
|
+
end
|
@@ -0,0 +1,23 @@
|
|
1
|
+
class MigrateOldPreferences < ActiveRecord::Migration
|
2
|
+
def up
|
3
|
+
migrate_preferences(Spree::Calculator)
|
4
|
+
migrate_preferences(Spree::PaymentMethod)
|
5
|
+
migrate_preferences(Spree::PromotionRule)
|
6
|
+
end
|
7
|
+
|
8
|
+
def down
|
9
|
+
end
|
10
|
+
|
11
|
+
private
|
12
|
+
def migrate_preferences klass
|
13
|
+
klass.reset_column_information
|
14
|
+
klass.find_each do |record|
|
15
|
+
store = Spree::Preferences::ScopedStore.new(record.class.name.underscore, record.id)
|
16
|
+
record.defined_preferences.each do |key|
|
17
|
+
value = store.fetch(key){}
|
18
|
+
record.preferences[key] = value unless value.nil?
|
19
|
+
end
|
20
|
+
record.save!
|
21
|
+
end
|
22
|
+
end
|
23
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
class CreateSpreeStores < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
if table_exists?(:spree_stores)
|
4
|
+
rename_column :spree_stores, :domains, :url
|
5
|
+
rename_column :spree_stores, :email, :mail_from_address
|
6
|
+
add_column :spree_stores, :meta_description, :text
|
7
|
+
add_column :spree_stores, :meta_keywords, :text
|
8
|
+
add_column :spree_stores, :seo_title, :string
|
9
|
+
else
|
10
|
+
create_table :spree_stores do |t|
|
11
|
+
t.string :name
|
12
|
+
t.string :url
|
13
|
+
t.text :meta_description
|
14
|
+
t.text :meta_keywords
|
15
|
+
t.string :seo_title
|
16
|
+
t.string :mail_from_address
|
17
|
+
t.string :default_currency
|
18
|
+
t.string :code
|
19
|
+
t.boolean :default, default: false, null: false
|
20
|
+
|
21
|
+
t.timestamps
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,30 @@
|
|
1
|
+
class CreateStoreFromPreferences < ActiveRecord::Migration
|
2
|
+
def change
|
3
|
+
preference_store = Spree::Preferences::Store.instance
|
4
|
+
if store = Spree::Store.where(default: true).first
|
5
|
+
store.meta_description = preference_store.get('spree/app_configuration/default_meta_description') {}
|
6
|
+
store.meta_keywords = preference_store.get('spree/app_configuration/default_meta_keywords') {}
|
7
|
+
store.seo_title = preference_store.get('spree/app_configuration/default_seo_title') {}
|
8
|
+
store.save!
|
9
|
+
else
|
10
|
+
# we set defaults for the things we now require
|
11
|
+
Spree::Store.new do |s|
|
12
|
+
s.name = preference_store.get 'spree/app_configuration/site_name' do
|
13
|
+
'Spree Demo Site'
|
14
|
+
end
|
15
|
+
s.url = preference_store.get 'spree/app_configuration/site_url' do
|
16
|
+
'demo.spreecommerce.com'
|
17
|
+
end
|
18
|
+
s.mail_from_address = preference_store.get 'spree/app_configuration/mails_from' do
|
19
|
+
'spree@example.com'
|
20
|
+
end
|
21
|
+
|
22
|
+
s.meta_description = preference_store.get('spree/app_configuration/default_meta_description') {}
|
23
|
+
s.meta_keywords = preference_store.get('spree/app_configuration/default_meta_keywords') {}
|
24
|
+
s.seo_title = preference_store.get('spree/app_configuration/default_seo_title') {}
|
25
|
+
s.default_currency = preference_store.get('spree/app_configuration/currency') {}
|
26
|
+
s.code = 'spree'
|
27
|
+
end.save!
|
28
|
+
end
|
29
|
+
end
|
30
|
+
end
|