spree_core 2.2.14 → 2.3.0
Sign up to get free protection for your applications and to get access to all the features.
- 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
|