solidus_core 2.11.1 → 3.0.0.rc2
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.
Potentially problematic release.
This version of solidus_core might be problematic. Click here for more details.
- checksums.yaml +4 -4
- data/app/assets/javascripts/spree.js.erb +0 -51
- data/app/helpers/spree/store_helper.rb +0 -11
- data/app/mailers/spree/carton_mailer.rb +1 -5
- data/app/models/concerns/spree/adjustment_source.rb +0 -15
- data/app/models/concerns/spree/calculated_adjustments.rb +0 -18
- data/app/models/concerns/spree/soft_deletable.rb +2 -4
- data/app/models/concerns/spree/user_address_book.rb +0 -37
- data/app/models/concerns/spree/user_methods.rb +2 -11
- data/app/models/spree/ability.rb +0 -37
- data/app/models/spree/address.rb +7 -162
- data/app/models/spree/address/name.rb +2 -20
- data/app/models/spree/adjustment.rb +0 -28
- data/app/models/spree/base.rb +1 -12
- data/app/models/spree/calculator.rb +4 -11
- data/app/models/spree/calculator/flexi_rate.rb +0 -5
- data/app/models/spree/country.rb +1 -6
- data/app/models/spree/credit_card.rb +0 -27
- data/app/models/spree/customer_return.rb +1 -4
- data/app/models/spree/image.rb +0 -7
- data/app/models/spree/inventory_unit.rb +0 -21
- data/app/models/spree/line_item.rb +2 -45
- data/app/models/spree/order.rb +3 -136
- data/app/models/spree/order/payments.rb +2 -2
- data/app/models/spree/order_cancellations.rb +4 -24
- data/app/models/spree/order_merger.rb +1 -1
- data/app/models/spree/order_updater.rb +2 -11
- data/app/models/spree/payment.rb +10 -6
- data/app/models/spree/payment/cancellation.rb +3 -22
- data/app/models/spree/payment_create.rb +1 -13
- data/app/models/spree/payment_method.rb +2 -103
- data/app/models/spree/payment_method/credit_card.rb +1 -3
- data/app/models/spree/payment_source.rb +2 -2
- data/app/models/spree/product.rb +8 -41
- data/app/models/spree/product/scopes.rb +0 -28
- data/app/models/spree/promotion.rb +2 -6
- data/app/models/spree/promotion/actions/create_adjustment.rb +0 -3
- data/app/models/spree/promotion/actions/create_item_adjustments.rb +0 -3
- data/app/models/spree/promotion/actions/create_quantity_adjustments.rb +0 -3
- data/app/models/spree/promotion/rules/taxon.rb +2 -15
- data/app/models/spree/promotion_action.rb +2 -9
- data/app/models/spree/promotion_code/batch_builder.rb +0 -14
- data/app/models/spree/refund.rb +3 -47
- data/app/models/spree/reimbursement.rb +3 -41
- data/app/models/spree/reimbursement_performer.rb +2 -8
- data/app/models/spree/reimbursement_type/credit.rb +1 -4
- data/app/models/spree/reimbursement_type/reimbursement_helpers.rb +1 -2
- data/app/models/spree/reimbursement_type/store_credit.rb +1 -4
- data/app/models/spree/return_authorization.rb +1 -4
- data/app/models/spree/return_item.rb +1 -19
- data/app/models/spree/shipment.rb +1 -54
- data/app/models/spree/shipping_method.rb +1 -26
- data/app/models/spree/shipping_rate.rb +0 -2
- data/app/models/spree/state.rb +0 -4
- data/app/models/spree/stock/availability_validator.rb +2 -2
- data/app/models/spree/stock/inventory_validator.rb +2 -2
- data/app/models/spree/stock/simple_coordinator.rb +0 -14
- data/app/models/spree/stock/splitter/base.rb +2 -7
- data/app/models/spree/stock_item.rb +1 -7
- data/app/models/spree/store.rb +0 -12
- data/app/models/spree/store_credit_category.rb +0 -32
- data/app/models/spree/tax_calculator/shipping_rate.rb +1 -12
- data/app/models/spree/tax_rate.rb +0 -27
- data/app/models/spree/taxon.rb +0 -11
- data/app/models/spree/taxon/active_storage_attachment.rb +0 -6
- data/app/models/spree/taxon/paperclip_attachment.rb +0 -4
- data/app/models/spree/user_address.rb +0 -5
- data/app/models/spree/variant.rb +1 -45
- data/config/locales/en.yml +0 -8
- data/db/migrate/20210122110141_add_name_to_spree_addresses.rb +13 -0
- data/lib/generators/solidus/install/install_generator.rb +12 -1
- data/lib/generators/solidus/install/templates/config/initializers/spree.rb.tt +3 -39
- data/lib/generators/spree/dummy/dummy_generator.rb +2 -1
- data/lib/generators/spree/dummy/templates/rails/database.yml +6 -1
- data/lib/generators/spree/dummy/templates/rails/storage.yml +3 -0
- data/lib/generators/spree/dummy/templates/rails/test.rb +6 -1
- data/lib/spree/app_configuration.rb +7 -66
- data/lib/spree/core.rb +10 -12
- data/lib/spree/core/class_constantizer.rb +2 -0
- data/lib/spree/core/controller_helpers/auth.rb +1 -14
- data/lib/spree/core/controller_helpers/order.rb +2 -22
- data/lib/spree/core/controller_helpers/payment_parameters.rb +0 -54
- data/lib/spree/core/controller_helpers/pricing.rb +0 -8
- data/lib/spree/core/controller_helpers/strong_parameters.rb +0 -4
- data/lib/spree/core/engine.rb +6 -42
- data/lib/spree/core/environment_extension.rb +0 -9
- data/lib/spree/core/product_filters.rb +0 -40
- data/lib/spree/core/role_configuration.rb +0 -14
- data/lib/spree/core/search/base.rb +0 -26
- data/lib/spree/core/state_machines.rb +2 -11
- data/lib/spree/core/version.rb +1 -1
- data/lib/spree/event.rb +0 -31
- data/lib/spree/event/configuration.rb +0 -5
- data/lib/spree/event/subscriber.rb +0 -18
- data/lib/spree/event/subscriber_registry.rb +3 -1
- data/lib/spree/i18n.rb +0 -22
- data/lib/spree/money.rb +3 -18
- data/lib/spree/permitted_attributes.rb +2 -53
- data/lib/spree/testing_support.rb +31 -0
- data/lib/spree/testing_support/capybara_ext.rb +0 -30
- data/lib/spree/testing_support/controller_requests.rb +0 -82
- data/lib/spree/testing_support/dummy_app.rb +10 -16
- data/lib/spree/testing_support/dummy_app/mailer_previews/test_mailer_preview.rb +4 -0
- data/lib/spree/testing_support/dummy_app/migrations.rb +0 -3
- data/lib/spree/testing_support/factories.rb +8 -4
- data/lib/spree/testing_support/factories/address_factory.rb +6 -2
- data/lib/spree/testing_support/factories/adjustment_factory.rb +10 -5
- data/lib/spree/testing_support/factories/adjustment_reason_factory.rb +5 -0
- data/lib/spree/testing_support/factories/calculator_factory.rb +5 -0
- data/lib/spree/testing_support/factories/carton_factory.rb +7 -2
- data/lib/spree/testing_support/factories/country_factory.rb +5 -0
- data/lib/spree/testing_support/factories/credit_card_factory.rb +5 -0
- data/lib/spree/testing_support/factories/customer_return_factory.rb +8 -3
- data/lib/spree/testing_support/factories/image_factory.rb +5 -0
- data/lib/spree/testing_support/factories/inventory_unit_factory.rb +9 -4
- data/lib/spree/testing_support/factories/line_item_factory.rb +7 -2
- data/lib/spree/testing_support/factories/option_type_factory.rb +8 -0
- data/lib/spree/testing_support/factories/option_value_factory.rb +5 -0
- data/lib/spree/testing_support/factories/order_factory.rb +11 -7
- data/lib/spree/testing_support/factories/order_promotion_factory.rb +7 -2
- data/lib/spree/testing_support/factories/payment_factory.rb +9 -4
- data/lib/spree/testing_support/factories/payment_method_factory.rb +5 -0
- data/lib/spree/testing_support/factories/price_factory.rb +6 -1
- data/lib/spree/testing_support/factories/product_factory.rb +10 -5
- data/lib/spree/testing_support/factories/product_option_type_factory.rb +7 -2
- data/lib/spree/testing_support/factories/product_property_factory.rb +7 -2
- data/lib/spree/testing_support/factories/promotion_category_factory.rb +5 -0
- data/lib/spree/testing_support/factories/promotion_code_factory.rb +7 -2
- data/lib/spree/testing_support/factories/promotion_factory.rb +7 -2
- data/lib/spree/testing_support/factories/property_factory.rb +5 -0
- data/lib/spree/testing_support/factories/refund_factory.rb +7 -3
- data/lib/spree/testing_support/factories/refund_reason_factory.rb +5 -0
- data/lib/spree/testing_support/factories/reimbursement_factory.rb +6 -1
- data/lib/spree/testing_support/factories/reimbursement_type_factory.rb +5 -0
- data/lib/spree/testing_support/factories/return_authorization_factory.rb +8 -3
- data/lib/spree/testing_support/factories/return_item_factory.rb +8 -3
- data/lib/spree/testing_support/factories/return_reason_factory.rb +5 -0
- data/lib/spree/testing_support/factories/role_factory.rb +5 -0
- data/lib/spree/testing_support/factories/shipment_factory.rb +9 -3
- data/lib/spree/testing_support/factories/shipping_category_factory.rb +5 -0
- data/lib/spree/testing_support/factories/shipping_method_factory.rb +8 -3
- data/lib/spree/testing_support/factories/shipping_rate_factory.rb +7 -2
- data/lib/spree/testing_support/factories/state_factory.rb +7 -1
- data/lib/spree/testing_support/factories/stock_item_factory.rb +7 -2
- data/lib/spree/testing_support/factories/stock_location_factory.rb +8 -3
- data/lib/spree/testing_support/factories/stock_movement_factory.rb +6 -1
- data/lib/spree/testing_support/factories/stock_package_factory.rb +7 -2
- data/lib/spree/testing_support/factories/store_credit_category_factory.rb +5 -0
- data/lib/spree/testing_support/factories/store_credit_event_factory.rb +7 -2
- data/lib/spree/testing_support/factories/store_credit_factory.rb +8 -3
- data/lib/spree/testing_support/factories/store_credit_reason_factory.rb +5 -0
- data/lib/spree/testing_support/factories/store_credit_type_factory.rb +5 -0
- data/lib/spree/testing_support/factories/store_factory.rb +6 -1
- data/lib/spree/testing_support/factories/tax_category_factory.rb +7 -1
- data/lib/spree/testing_support/factories/tax_rate_factory.rb +8 -3
- data/lib/spree/testing_support/factories/taxon_factory.rb +6 -1
- data/lib/spree/testing_support/factories/taxonomy_factory.rb +5 -0
- data/lib/spree/testing_support/factories/user_factory.rb +8 -3
- data/lib/spree/testing_support/factories/variant_factory.rb +9 -4
- data/lib/spree/testing_support/factories/variant_property_rule_condition_factory.rb +7 -2
- data/lib/spree/testing_support/factories/variant_property_rule_factory.rb +8 -3
- data/lib/spree/testing_support/factories/variant_property_rule_value_factory.rb +7 -2
- data/lib/spree/testing_support/factories/zone_factory.rb +7 -2
- data/lib/spree/testing_support/factory_bot.rb +68 -0
- data/lib/spree/testing_support/order_walkthrough.rb +10 -13
- data/lib/spree/testing_support/preferences.rb +0 -25
- data/lib/spree/testing_support/sequences.rb +4 -1
- data/{app/models → lib}/spree/user_class_handle.rb +0 -0
- data/lib/tasks/migrations/migrate_address_names.rake +158 -0
- data/lib/tasks/migrations/migrate_default_billing_addresses_to_address_book.rake +38 -0
- data/lib/tasks/upgrade.rake +13 -0
- data/solidus_core.gemspec +3 -4
- metadata +32 -63
- data/app/mailers/spree/test_mailer.rb +0 -13
- data/app/models/concerns/spree/user_payment_source.rb +0 -26
- data/app/models/spree/calculator/free_shipping.rb +0 -21
- data/app/models/spree/calculator/percent_per_item.rb +0 -49
- data/app/models/spree/calculator/price_sack.rb +0 -27
- data/app/models/spree/gateway.rb +0 -14
- data/app/models/spree/gateway/bogus.rb +0 -13
- data/app/models/spree/gateway/bogus_simple.rb +0 -13
- data/app/models/spree/order/checkout.rb +0 -244
- data/app/models/spree/order_capturing.rb +0 -50
- data/app/models/spree/promotion_handler/free_shipping.rb +0 -9
- data/lib/generators/spree/install/install_generator.rb +0 -15
- data/lib/solidus/migrations/rename_gateways.rb +0 -41
- data/lib/spree/awesome_nested_set_override.rb +0 -44
- data/lib/spree/core/current_store.rb +0 -24
- data/lib/spree/paranoia_deprecations.rb +0 -41
- data/lib/spree/promo/environment.rb +0 -12
- data/lib/spree/testing_support/bar_ability.rb +0 -19
- data/lib/tasks/core.rake +0 -104
- data/lib/tasks/email.rake +0 -11
- data/lib/tasks/migrations/copy_order_bill_address_to_credit_card.rake +0 -119
- data/lib/tasks/migrations/migrate_shipping_rate_taxes.rake +0 -22
- data/lib/tasks/migrations/migrate_user_addresses.rake +0 -34
- data/lib/tasks/migrations/rename_gateways.rake +0 -23
- data/lib/tasks/order_capturing.rake +0 -27
data/app/models/spree/variant.rb
CHANGED
@@ -83,7 +83,7 @@ module Spree
|
|
83
83
|
after_save :clear_in_stock_cache
|
84
84
|
after_touch :clear_in_stock_cache
|
85
85
|
|
86
|
-
|
86
|
+
after_destroy :destroy_option_values_variants
|
87
87
|
|
88
88
|
# Returns variants that are in stock. When stock locations are provided as
|
89
89
|
# a parameter, the scope is limited to variants that are in stock in the
|
@@ -121,17 +121,6 @@ module Spree
|
|
121
121
|
self.whitelisted_ransackable_associations = %w[option_values product prices default_price]
|
122
122
|
self.whitelisted_ransackable_attributes = %w[weight sku]
|
123
123
|
|
124
|
-
# Returns variants that are not deleted and have a price in the given
|
125
|
-
# currency.
|
126
|
-
#
|
127
|
-
# @deprecated Please use the .with_prices scope instead
|
128
|
-
# @param currency [String] the currency to filter by; defaults to Spree's default
|
129
|
-
# @return [ActiveRecord::Relation]
|
130
|
-
def self.active(currency = nil)
|
131
|
-
Spree::Deprecation.warn("`Variant.active(currency)` is deprecated. Please use `Variant.with_prices(pricing_options)` instead.", caller)
|
132
|
-
joins(:prices).where(deleted_at: nil).where('spree_prices.currency' => currency || Spree::Config[:currency]).where('spree_prices.amount IS NOT NULL')
|
133
|
-
end
|
134
|
-
|
135
124
|
# Returns variants that have a price for the given pricing options
|
136
125
|
# If you have modified the pricing options class, you might want to modify this scope too.
|
137
126
|
#
|
@@ -304,26 +293,6 @@ module Spree
|
|
304
293
|
diff && diff.zero?
|
305
294
|
end
|
306
295
|
|
307
|
-
# Converts the variant's price to the given currency.
|
308
|
-
#
|
309
|
-
# @deprecated Please use #price_for(pricing_options) instead
|
310
|
-
# @param currency [String] the desired currency
|
311
|
-
# @return [Spree::Price] the price in the desired currency
|
312
|
-
def price_in(currency)
|
313
|
-
prices.currently_valid.find_by(currency: currency)
|
314
|
-
end
|
315
|
-
deprecate price_in: :price_for, deprecator: Spree::Deprecation
|
316
|
-
|
317
|
-
# Fetches the price amount in the specified currency.
|
318
|
-
#
|
319
|
-
# @deprecated Please use #price_for instead and use a money object rathern than a BigDecimal.
|
320
|
-
# @param currency (see #price)
|
321
|
-
# @return [Float] the amount in the specified currency.
|
322
|
-
def amount_in(currency)
|
323
|
-
price_in(currency).try(:amount)
|
324
|
-
end
|
325
|
-
deprecate amount_in: :price_for, deprecator: Spree::Deprecation
|
326
|
-
|
327
296
|
# Generates a friendly name and sku string.
|
328
297
|
#
|
329
298
|
# @return [String]
|
@@ -367,19 +336,6 @@ module Spree
|
|
367
336
|
track_inventory? && Spree::Config.track_inventory_levels
|
368
337
|
end
|
369
338
|
|
370
|
-
# Image that can be used for the variant.
|
371
|
-
#
|
372
|
-
# Will first search for images on the variant. If it doesn't find any,
|
373
|
-
# it'll fallback to any variant image (unless +fallback+ is +false+) or to
|
374
|
-
# a new {Spree::Image}.
|
375
|
-
# @param fallback [Boolean] whether or not we should fallback to an image
|
376
|
-
# not from this variant
|
377
|
-
# @return [Spree::Image] the image to display
|
378
|
-
def display_image(fallback: true)
|
379
|
-
Spree::Deprecation.warn('Spree::Variant#display_image is DEPRECATED. Choose an image from Spree::Variant#gallery instead')
|
380
|
-
images.first || (fallback && product.variant_images.first) || Spree::Image.new
|
381
|
-
end
|
382
|
-
|
383
339
|
# Determines the variant's property values by verifying which of the product's
|
384
340
|
# variant property rules apply to itself.
|
385
341
|
#
|
data/config/locales/en.yml
CHANGED
@@ -26,8 +26,6 @@ en:
|
|
26
26
|
address2: Street Address (cont'd)
|
27
27
|
city: City
|
28
28
|
company: Company
|
29
|
-
firstname: First Name
|
30
|
-
lastname: Last Name
|
31
29
|
name: Name
|
32
30
|
phone: Phone
|
33
31
|
zipcode: Zip Code
|
@@ -76,7 +74,6 @@ en:
|
|
76
74
|
created_at: Date/Time
|
77
75
|
name: Name
|
78
76
|
number: Return Number
|
79
|
-
pre_tax_total: Pre-Tax Total
|
80
77
|
reimbursement_status: Reimbursement status
|
81
78
|
total: Total
|
82
79
|
total_excluding_vat: Pre-Tax Total
|
@@ -130,8 +127,6 @@ en:
|
|
130
127
|
spree/order/bill_address:
|
131
128
|
address1: Billing address street
|
132
129
|
city: Billing address city
|
133
|
-
firstname: Billing address first name
|
134
|
-
lastname: Billing address last name
|
135
130
|
name: Billing address name
|
136
131
|
phone: Billing address phone
|
137
132
|
state: Billing address state
|
@@ -139,8 +134,6 @@ en:
|
|
139
134
|
spree/order/ship_address:
|
140
135
|
address1: Shipping address street
|
141
136
|
city: Shipping address city
|
142
|
-
firstname: Shipping address first name
|
143
|
-
lastname: Shipping address last name
|
144
137
|
name: Shipping address name
|
145
138
|
phone: Shipping address phone
|
146
139
|
state: Shipping address state
|
@@ -282,7 +275,6 @@ en:
|
|
282
275
|
type: Type
|
283
276
|
spree/return_authorization:
|
284
277
|
amount: Amount
|
285
|
-
pre_tax_total: Pre-Tax Total
|
286
278
|
total_excluding_vat: Pre-Tax Total
|
287
279
|
spree/return_item:
|
288
280
|
acceptance_status: Acceptance Status
|
@@ -0,0 +1,13 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class AddNameToSpreeAddresses < ActiveRecord::Migration[5.2]
|
4
|
+
def up
|
5
|
+
add_column :spree_addresses, :name, :string
|
6
|
+
add_index :spree_addresses, :name
|
7
|
+
end
|
8
|
+
|
9
|
+
def down
|
10
|
+
remove_index :spree_addresses, :name
|
11
|
+
remove_column :spree_addresses, :name
|
12
|
+
end
|
13
|
+
end
|
@@ -15,6 +15,7 @@ module Solidus
|
|
15
15
|
class_option :migrate, type: :boolean, default: true, banner: 'Run Solidus migrations'
|
16
16
|
class_option :seed, type: :boolean, default: true, banner: 'Load seed data (migrations must be run)'
|
17
17
|
class_option :sample, type: :boolean, default: true, banner: 'Load sample data (migrations must be run)'
|
18
|
+
class_option :active_storage, type: :boolean, default: true, banner: 'Install ActiveStorage as image attachments handler for products and taxons'
|
18
19
|
class_option :auto_accept, type: :boolean
|
19
20
|
class_option :user_class, type: :string
|
20
21
|
class_option :admin_email, type: :string
|
@@ -51,6 +52,16 @@ module Solidus
|
|
51
52
|
template 'config/initializers/spree.rb.tt', 'config/initializers/spree.rb'
|
52
53
|
end
|
53
54
|
|
55
|
+
def install_file_attachment
|
56
|
+
if options[:active_storage]
|
57
|
+
say "Installing Active Storage", :green
|
58
|
+
rake 'active_storage:install'
|
59
|
+
else
|
60
|
+
say "Installing Paperclip", :green
|
61
|
+
gsub_file 'config/initializers/spree.rb', "ActiveStorageAttachment", "PaperclipAttachment"
|
62
|
+
end
|
63
|
+
end
|
64
|
+
|
54
65
|
def additional_tweaks
|
55
66
|
return unless File.exist? 'public/robots.txt'
|
56
67
|
|
@@ -174,7 +185,7 @@ module Solidus
|
|
174
185
|
run "spring stop"
|
175
186
|
|
176
187
|
@plugin_generators_to_run.each do |plugin_generator_name|
|
177
|
-
generate "#{plugin_generator_name} --skip_migrations=
|
188
|
+
generate "#{plugin_generator_name} --skip_migrations=true"
|
178
189
|
end
|
179
190
|
end
|
180
191
|
|
@@ -10,15 +10,6 @@ Spree.config do |config|
|
|
10
10
|
# from address for transactional emails
|
11
11
|
config.mails_from = "store@example.com"
|
12
12
|
|
13
|
-
# Use combined first and last name attribute in HTML views and API responses
|
14
|
-
config.use_combined_first_and_last_name_in_address = true
|
15
|
-
|
16
|
-
# Use legacy Spree::Order state machine
|
17
|
-
config.use_legacy_order_state_machine = false
|
18
|
-
|
19
|
-
# Use the legacy address' state validation logic
|
20
|
-
config.use_legacy_address_state_validator = false
|
21
|
-
|
22
13
|
# Uncomment to stop tracking inventory levels in the application
|
23
14
|
# config.track_inventory_levels = false
|
24
15
|
|
@@ -27,38 +18,11 @@ Spree.config do |config|
|
|
27
18
|
# any inventory changes.
|
28
19
|
# config.inventory_cache_threshold = 3
|
29
20
|
|
30
|
-
#
|
31
|
-
config.image_attachment_module = 'Spree::Image::
|
32
|
-
config.taxon_attachment_module = 'Spree::Taxon::
|
33
|
-
|
34
|
-
# Disable legacy Solidus custom CanCanCan actions aliases
|
35
|
-
config.use_custom_cancancan_actions = false
|
21
|
+
# Configure adapter for attachments on products and taxons (use ActiveStorageAttachment or PaperclipAttachment)
|
22
|
+
config.image_attachment_module = 'Spree::Image::ActiveStorageAttachment'
|
23
|
+
config.taxon_attachment_module = 'Spree::Taxon::ActiveStorageAttachment'
|
36
24
|
|
37
25
|
# Defaults
|
38
|
-
|
39
|
-
# Set this configuration to `true` to raise an exception when
|
40
|
-
# an order is populated with a line item with a mismatching
|
41
|
-
# currency. The `false` value will just add a validation error
|
42
|
-
# and will be the only behavior accepted in future versions.
|
43
|
-
# See https://github.com/solidusio/solidus/pull/3456 for more info.
|
44
|
-
config.raise_with_invalid_currency = false
|
45
|
-
|
46
|
-
# Set this configuration to false to always redirect the user to
|
47
|
-
# /unauthorized when needed, without trying to redirect them to
|
48
|
-
# their previous location first.
|
49
|
-
config.redirect_back_on_unauthorized = true
|
50
|
-
|
51
|
-
# Set this configuration to `true` to allow promotions
|
52
|
-
# with no associated actions to be considered active for use by customers.
|
53
|
-
# See https://github.com/solidusio/solidus/pull/3749 for more info.
|
54
|
-
config.consider_actionless_promotion_active = false
|
55
|
-
|
56
|
-
# Set this configuration to `false` to avoid running validations when
|
57
|
-
# updating an order. Be careful since you can end up having inconsistent
|
58
|
-
# data in your database turning it on.
|
59
|
-
# See https://github.com/solidusio/solidus/pull/3645 for more info.
|
60
|
-
config.run_order_validations_on_order_updater = true
|
61
|
-
|
62
26
|
# Permission Sets:
|
63
27
|
|
64
28
|
# Uncomment and customize the following line to add custom permission sets
|
@@ -43,7 +43,7 @@ module Spree
|
|
43
43
|
opts[:skip_test] = true
|
44
44
|
opts[:skip_yarn] = true
|
45
45
|
opts[:skip_bootsnap] = true
|
46
|
-
opts[:
|
46
|
+
opts[:skip_javascript] = true
|
47
47
|
|
48
48
|
puts "Generating dummy Rails application..."
|
49
49
|
invoke Rails::Generators::AppGenerator,
|
@@ -55,6 +55,7 @@ module Spree
|
|
55
55
|
@database = options[:database]
|
56
56
|
|
57
57
|
template "rails/database.yml", "#{dummy_path}/config/database.yml", force: true
|
58
|
+
template "rails/storage.yml", "#{dummy_path}/config/storage/test.yml", force: true
|
58
59
|
template "rails/boot.rb", "#{dummy_path}/config/boot.rb", force: true
|
59
60
|
template "rails/application.rb.tt", "#{dummy_path}/config/application.rb", force: true
|
60
61
|
template "rails/routes.rb", "#{dummy_path}/config/routes.rb", force: true
|
@@ -32,6 +32,8 @@ production:
|
|
32
32
|
encoding: utf8
|
33
33
|
<% when 'postgres', 'postgresql' %>
|
34
34
|
<% db_host = ENV['DB_HOST'] -%>
|
35
|
+
<% db_username = ENV['DB_USERNAME'] -%>
|
36
|
+
<% db_password = ENV['DB_PASSWORD'] -%>
|
35
37
|
development:
|
36
38
|
adapter: postgresql
|
37
39
|
database: <%= database_prefix %><%= options[:lib_name] %>_solidus_development
|
@@ -43,7 +45,10 @@ development:
|
|
43
45
|
test:
|
44
46
|
adapter: postgresql
|
45
47
|
database: <%= database_prefix %><%= options[:lib_name] %>_solidus_test
|
46
|
-
username: postgres
|
48
|
+
username: <%= db_username || 'postgres' %>
|
49
|
+
<% unless db_password.blank? %>
|
50
|
+
password: <%= db_password %>
|
51
|
+
<% end %>
|
47
52
|
min_messages: warning
|
48
53
|
<% unless db_host.blank? %>
|
49
54
|
host: <%= db_host %>
|
@@ -20,11 +20,16 @@ Dummy::Application.configure do
|
|
20
20
|
# Raise exceptions instead of rendering exception templates
|
21
21
|
config.action_dispatch.show_exceptions = false
|
22
22
|
|
23
|
+
# Disable request forgery protection in test environment
|
24
|
+
config.action_controller.allow_forgery_protection = false
|
25
|
+
|
23
26
|
# Tell Action Mailer not to deliver emails to the real world.
|
24
27
|
# The :test delivery method accumulates sent emails in the
|
25
28
|
# ActionMailer::Base.deliveries array.
|
26
29
|
config.action_mailer.delivery_method = :test
|
27
|
-
ActionMailer::Base.default from: "
|
30
|
+
ActionMailer::Base.default from: "solidus@example.com"
|
31
|
+
|
32
|
+
config.active_storage.service = :test
|
28
33
|
|
29
34
|
# Raise on deprecation warnings
|
30
35
|
if ENV['SOLIDUS_RAISE_DEPRECATIONS'].present?
|
@@ -34,10 +34,6 @@ module Spree
|
|
34
34
|
# @return [Boolean] should state/state_name be required (default: +true+)
|
35
35
|
preference :address_requires_state, :boolean, default: true
|
36
36
|
|
37
|
-
# @!attribute [rw] legacy
|
38
|
-
# @return [Boolean] use the legacy address' state validation logic (default: +true+)
|
39
|
-
preference :use_legacy_address_state_validator, :boolean, default: true
|
40
|
-
|
41
37
|
# @!attribute [rw] admin_interface_logo
|
42
38
|
# @return [String] URL of logo used in admin (default: +'logo/solidus.svg'+)
|
43
39
|
preference :admin_interface_logo, :string, default: 'logo/solidus.svg'
|
@@ -111,16 +107,6 @@ module Spree
|
|
111
107
|
# @return [Boolean]
|
112
108
|
preference :billing_address_required, :boolean, default: false
|
113
109
|
|
114
|
-
# @!attribute [rw] binary_inventory_cache
|
115
|
-
# Only invalidate product caches when they change from in stock to out of
|
116
|
-
# stock. By default, caches are invalidated on any change of inventory
|
117
|
-
# quantity. Setting this to true should make operations on inventory
|
118
|
-
# faster.
|
119
|
-
# (default: +false+)
|
120
|
-
# @deprecated - use inventory_cache_threshold instead
|
121
|
-
# @return [Boolean]
|
122
|
-
preference :binary_inventory_cache, :boolean, default: false
|
123
|
-
|
124
110
|
# @!attribute [rw] can_restrict_stock_management
|
125
111
|
# @return [Boolean] Indicates if stock management can be restricted by location
|
126
112
|
preference :can_restrict_stock_management, :boolean, default: false
|
@@ -154,20 +140,11 @@ module Spree
|
|
154
140
|
# @return [Integer] Customer returns to show per-page in the admin (default: +15+)
|
155
141
|
preference :customer_returns_per_page, :integer, default: 15
|
156
142
|
|
157
|
-
# @!attribute [rw] default_country_id
|
158
|
-
# @deprecated Use the default country ISO preference instead
|
159
|
-
# @return [Integer,nil] id of {Spree::Country} to be selected by default in dropdowns (default: nil)
|
160
|
-
preference :default_country_id, :integer
|
161
|
-
|
162
143
|
# @!attribute [rw] default_country_iso
|
163
144
|
# Default customer country ISO code
|
164
145
|
# @return [String] Two-letter ISO code of a {Spree::Country} to assumed as the country of an unidentified customer (default: "US")
|
165
146
|
preference :default_country_iso, :string, default: 'US'
|
166
147
|
|
167
|
-
# @!attribute [rw] use_custom_cancancan_actions
|
168
|
-
# @return [Boolean] Allow to use legacy Solidus custom CanCanCan action aliases (default: +true+)
|
169
|
-
preference :use_custom_cancancan_actions, :boolean, default: true
|
170
|
-
|
171
148
|
# @!attribute [rw] generate_api_key_for_all_roles
|
172
149
|
# @return [Boolean] Allow generating api key automatically for user
|
173
150
|
# at role_user creation for all roles. (default: +false+)
|
@@ -190,7 +167,7 @@ module Spree
|
|
190
167
|
|
191
168
|
# @!attribute [rw] mails_from
|
192
169
|
# @return [String] Email address used as +From:+ field in transactional emails.
|
193
|
-
preference :mails_from, :string, default: '
|
170
|
+
preference :mails_from, :string, default: 'solidus@example.com'
|
194
171
|
|
195
172
|
# @!attribute [rw] max_level_in_taxons_menu
|
196
173
|
# @return [Integer] maximum nesting level in taxons menu (default: +1+)
|
@@ -225,23 +202,6 @@ module Spree
|
|
225
202
|
# @return [Integer] Promotions to show per-page in the admin (default: +15+)
|
226
203
|
preference :promotions_per_page, :integer, default: 15
|
227
204
|
|
228
|
-
# @!attribute [rw] disable_actionless_promotion_validation
|
229
|
-
# @return [Boolean] Promotions should have actions associated before being considered active (default: +true+)
|
230
|
-
preference :consider_actionless_promotion_active, :boolean, default: true
|
231
|
-
|
232
|
-
# @!attribute [rw] raise_with_invalid_currency
|
233
|
-
# Whether to raise an exception if trying to set a line item currency
|
234
|
-
# different from the order currency. When false a validation error
|
235
|
-
# is added to the instance instead.
|
236
|
-
# @return [Boolean] (default: +true+)
|
237
|
-
preference :raise_with_invalid_currency, :boolean, default: true
|
238
|
-
|
239
|
-
# @!attribute [rw] redirect_back_on_unauthorized
|
240
|
-
# Whether to try to redirect users back when they try to access
|
241
|
-
# unauthorized routes, before redirect them to /unauthorized.
|
242
|
-
# @return [Boolean] (default: +false+)
|
243
|
-
preference :redirect_back_on_unauthorized, :boolean, default: false
|
244
|
-
|
245
205
|
# @!attribute [rw] require_master_price
|
246
206
|
# @return [Boolean] Require a price on the master variant of a product (default: +true+)
|
247
207
|
preference :require_master_price, :boolean, default: true
|
@@ -268,10 +228,6 @@ module Spree
|
|
268
228
|
# (default: +['IT']+)
|
269
229
|
preference :countries_that_use_nested_subregions, :array, default: ['IT']
|
270
230
|
|
271
|
-
# @!attribute [rw] run_order_validations_on_order_updater
|
272
|
-
# @return [Boolean] Whether to run validation when updating an order with the OrderUpdater
|
273
|
-
preference :run_order_validations_on_order_updater, :boolean, default: false
|
274
|
-
|
275
231
|
# @!attribute [rw] send_core_emails
|
276
232
|
# @return [Boolean] Whether to send transactional emails (default: true)
|
277
233
|
preference :send_core_emails, :boolean, default: true
|
@@ -307,21 +263,6 @@ module Spree
|
|
307
263
|
# @return [] Track on_hand values for variants / products. (default: true)
|
308
264
|
preference :track_inventory_levels, :boolean, default: true
|
309
265
|
|
310
|
-
# @!attribute [rw] use_combined_first_and_last_name_in_address
|
311
|
-
# @return [Boolean] Use Spree::Address combined first and last name in HTML views and
|
312
|
-
# API responses. (default: +false+)
|
313
|
-
preference :use_combined_first_and_last_name_in_address, :boolean, default: false
|
314
|
-
|
315
|
-
# @!attribute [rw] use_legacy_order_state_machine
|
316
|
-
# @return [Boolean] Uses the legacy order state machine from Spree::Order::Checkout
|
317
|
-
# (default: +false+)
|
318
|
-
preference :use_legacy_order_state_machine, :boolean, default: true
|
319
|
-
|
320
|
-
# The legacy_store_credit_category_name allows to control whether the legacy
|
321
|
-
# way of fetching the category should be used.
|
322
|
-
#
|
323
|
-
# @param [Boolean] enable/disable the legacy way of fetching the store category name
|
324
|
-
preference :use_legacy_store_credit_reimbursement_category_name, :boolean, default: true
|
325
266
|
|
326
267
|
# Other configurations
|
327
268
|
|
@@ -496,23 +437,23 @@ module Spree
|
|
496
437
|
|
497
438
|
# Allows switching attachment library for Image
|
498
439
|
#
|
499
|
-
# `Spree::Image::
|
500
|
-
# is the default and provides the
|
440
|
+
# `Spree::Image::ActiveStorageAttachment`
|
441
|
+
# is the default and provides the Active Storage implementation.
|
501
442
|
#
|
502
443
|
# @!attribute [rw] image_attachment_module
|
503
444
|
# @return [Module] a module that can be included into Spree::Image to allow attachments
|
504
445
|
# Enumerable of images adhering to the present_image_class interface
|
505
|
-
class_name_attribute :image_attachment_module, default: 'Spree::Image::
|
446
|
+
class_name_attribute :image_attachment_module, default: 'Spree::Image::ActiveStorageAttachment'
|
506
447
|
|
507
448
|
# Allows switching attachment library for Taxon
|
508
449
|
#
|
509
|
-
# `Spree::Taxon::
|
510
|
-
# is the default and provides the
|
450
|
+
# `Spree::Taxon::ActiveStorageAttachment`
|
451
|
+
# is the default and provides the Active Storage implementation.
|
511
452
|
#
|
512
453
|
# @!attribute [rw] taxon_attachment_module
|
513
454
|
# @return [Module] a module that can be included into Spree::Taxon to allow attachments
|
514
455
|
# Enumerable of taxons adhering to the present_taxon_class interface
|
515
|
-
class_name_attribute :taxon_attachment_module, default: 'Spree::Taxon::
|
456
|
+
class_name_attribute :taxon_attachment_module, default: 'Spree::Taxon::ActiveStorageAttachment'
|
516
457
|
|
517
458
|
# Allows providing your own class instance for generating order numbers.
|
518
459
|
#
|
data/lib/spree/core.rb
CHANGED
@@ -1,6 +1,14 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
require
|
3
|
+
require "action_controller/railtie"
|
4
|
+
require "action_mailer/railtie"
|
5
|
+
require "action_view/railtie"
|
6
|
+
require "active_job/railtie"
|
7
|
+
require "active_model/railtie"
|
8
|
+
require "active_record/railtie"
|
9
|
+
require "active_storage/engine"
|
10
|
+
require "sprockets/railtie"
|
11
|
+
|
4
12
|
require 'acts_as_list'
|
5
13
|
require 'awesome_nested_set'
|
6
14
|
require 'cancan'
|
@@ -9,12 +17,10 @@ require 'kaminari/activerecord'
|
|
9
17
|
require 'mail'
|
10
18
|
require 'monetize'
|
11
19
|
require 'paperclip'
|
12
|
-
require 'paranoia'
|
13
20
|
require 'ransack'
|
14
21
|
require 'state_machines-activerecord'
|
15
22
|
|
16
23
|
require 'spree/deprecation'
|
17
|
-
require 'spree/paranoia_deprecations'
|
18
24
|
|
19
25
|
# This is required because ActiveModel::Validations#invalid? conflicts with the
|
20
26
|
# invalid state of a Payment. In the future this should be removed.
|
@@ -47,9 +53,6 @@ module Spree
|
|
47
53
|
|
48
54
|
module Core
|
49
55
|
class GatewayError < RuntimeError; end
|
50
|
-
|
51
|
-
include ActiveSupport::Deprecation::DeprecatedConstantAccessor
|
52
|
-
deprecate_constant 'DestroyWithOrdersError', ActiveRecord::DeleteRestrictionError, deprecator: Spree::Deprecation
|
53
56
|
end
|
54
57
|
end
|
55
58
|
|
@@ -61,7 +64,6 @@ require 'spree/core/environment_extension'
|
|
61
64
|
require 'spree/core/environment/calculators'
|
62
65
|
require 'spree/core/environment/promotions'
|
63
66
|
require 'spree/core/environment'
|
64
|
-
require 'spree/promo/environment'
|
65
67
|
require 'spree/migrations'
|
66
68
|
require 'spree/migration_helpers'
|
67
69
|
require 'spree/event'
|
@@ -75,7 +77,6 @@ require 'spree/permitted_attributes'
|
|
75
77
|
require 'spree/core/importer'
|
76
78
|
require 'spree/core/permalinks'
|
77
79
|
require 'spree/core/product_duplicator'
|
78
|
-
require 'spree/core/current_store'
|
79
80
|
require 'spree/core/controller_helpers/auth'
|
80
81
|
require 'spree/core/controller_helpers/common'
|
81
82
|
require 'spree/core/controller_helpers/current_host'
|
@@ -90,11 +91,8 @@ require 'spree/core/state_machines'
|
|
90
91
|
require 'spree/core/stock_configuration'
|
91
92
|
require 'spree/core/validators/email'
|
92
93
|
require 'spree/permission_sets'
|
94
|
+
require 'spree/user_class_handle'
|
93
95
|
|
94
96
|
require 'spree/preferences/store'
|
95
97
|
require 'spree/preferences/static_model_preferences'
|
96
98
|
require 'spree/preferences/scoped_store'
|
97
|
-
|
98
|
-
if Rails.gem_version >= Gem::Version.new('6.1.0.alpha')
|
99
|
-
require 'spree/awesome_nested_set_override'
|
100
|
-
end
|