spree_core 3.7.14.1 → 4.0.0.beta

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.
Files changed (83) hide show
  1. checksums.yaml +4 -4
  2. data/Gemfile +1 -1
  3. data/app/controllers/spree/base_controller.rb +0 -1
  4. data/app/finders/spree/taxons/find.rb +6 -5
  5. data/app/helpers/spree/base_helper.rb +0 -9
  6. data/app/helpers/spree/products_helper.rb +1 -1
  7. data/app/models/concerns/spree/product_scopes.rb +254 -0
  8. data/app/models/concerns/spree/user_address.rb +5 -2
  9. data/app/models/friendly_id/slug_decorator.rb +8 -2
  10. data/app/models/spree/ability.rb +21 -22
  11. data/app/models/spree/address.rb +37 -24
  12. data/app/models/spree/adjustment.rb +0 -10
  13. data/app/models/spree/app_dependencies.rb +2 -2
  14. data/app/models/spree/asset.rb +1 -12
  15. data/app/models/spree/country.rb +2 -2
  16. data/app/models/spree/credit_card.rb +4 -5
  17. data/app/models/spree/gateway/bogus.rb +1 -1
  18. data/app/models/spree/image.rb +8 -1
  19. data/app/models/spree/image/configuration/active_storage.rb +0 -2
  20. data/app/models/spree/order.rb +13 -78
  21. data/app/models/spree/order/address_book.rb +86 -0
  22. data/app/models/spree/order/checkout.rb +4 -22
  23. data/app/models/spree/order/currency_updater.rb +1 -1
  24. data/app/models/spree/order/store_credit.rb +0 -18
  25. data/app/models/spree/order_merger.rb +1 -0
  26. data/app/models/spree/payment.rb +4 -2
  27. data/app/models/spree/payment/gateway_options.rb +1 -1
  28. data/app/models/spree/payment/processing.rb +2 -0
  29. data/app/models/spree/preferences/configuration.rb +1 -1
  30. data/app/models/spree/preferences/preferable.rb +1 -1
  31. data/app/models/spree/product.rb +2 -3
  32. data/app/models/spree/promotion_handler/coupon.rb +2 -1
  33. data/app/models/spree/reimbursement_tax_calculator.rb +1 -1
  34. data/app/models/spree/return_item.rb +1 -1
  35. data/app/models/spree/return_item/eligibility_validator/default.rb +2 -0
  36. data/app/models/spree/return_item/eligibility_validator/{rma_required.rb → r_m_a_required.rb} +0 -0
  37. data/app/models/spree/shipment.rb +1 -1
  38. data/app/models/spree/store_credit.rb +4 -5
  39. data/app/models/spree/taxon_image.rb +1 -1
  40. data/app/models/spree/taxonomy.rb +1 -1
  41. data/app/services/spree/cart/add_item.rb +3 -1
  42. data/app/services/spree/cart/update.rb +1 -1
  43. data/config/locales/en.yml +15 -0
  44. data/db/default/spree/stores.rb +1 -0
  45. data/db/default/spree/zones.rb +16 -0
  46. data/db/migrate/20140806144901_add_type_to_reimbursement_type.rb +1 -1
  47. data/db/migrate/20141101231208_fix_adjustment_order_presence.rb +2 -2
  48. data/db/migrate/20170323151450_add_missing_unique_indexes_for_unique_attributes.rb +1 -1
  49. data/db/migrate/20190305121659_add_iso_and_iso3_validation_on_presence_and_uniqueness.rb +18 -0
  50. data/db/migrate/20190523092729_add_user_id_and_deleted_at_to_spree_addresses.rb +12 -0
  51. data/lib/generators/spree/dummy/dummy_generator.rb +3 -1
  52. data/lib/spree/core.rb +0 -2
  53. data/lib/spree/core/importer/order.rb +64 -103
  54. data/lib/spree/core/importer/product.rb +2 -2
  55. data/lib/spree/core/product_duplicator.rb +1 -5
  56. data/lib/spree/core/version.rb +1 -3
  57. data/lib/spree/permitted_attributes.rb +3 -1
  58. data/lib/spree/testing_support/ability_helpers.rb +3 -11
  59. data/lib/spree/testing_support/capybara_config.rb +4 -1
  60. data/lib/spree/testing_support/capybara_ext.rb +22 -98
  61. data/lib/spree/testing_support/controller_requests.rb +36 -26
  62. data/lib/spree/testing_support/factories/image_factory.rb +2 -6
  63. data/lib/spree/testing_support/factories/return_item_factory.rb +2 -2
  64. data/lib/spree/testing_support/factories/taxon_factory.rb +1 -1
  65. data/lib/spree/testing_support/i18n.rb +6 -8
  66. data/lib/spree/testing_support/image_helpers.rb +5 -11
  67. data/lib/tasks/exchanges.rake +35 -37
  68. data/spree_core.gemspec +11 -14
  69. metadata +63 -103
  70. data/app/models/concerns/spree/acts_as_taggable.rb +0 -11
  71. data/app/models/spree/image/configuration/paperclip.rb +0 -64
  72. data/app/models/spree/order_contents.rb +0 -54
  73. data/app/models/spree/product/scopes.rb +0 -250
  74. data/app/models/spree/tag.rb +0 -4
  75. data/app/models/spree/taxon_image/configuration/paperclip.rb +0 -27
  76. data/config/initializers/acts_as_taggable_on.rb +0 -9
  77. data/config/initializers/use_paperclip.rb +0 -3
  78. data/db/migrate/20160511071954_acts_as_taggable_on_spree_migration.rb +0 -40
  79. data/db/migrate/20160511072249_change_collation_for_spree_tag_names.rb +0 -9
  80. data/db/migrate/20160511072335_add_missing_indexes_to_spree_taggings.rb +0 -14
  81. data/lib/spree/core/controller_helpers/respond_with.rb +0 -67
  82. data/lib/spree/responder.rb +0 -44
  83. data/lib/spree/testing_support/factories/tag_factory.rb +0 -5
@@ -1,9 +0,0 @@
1
- # This migration is added to circumvent issue #623 and have special characters
2
- # work properly
3
- class ChangeCollationForSpreeTagNames < ActiveRecord::Migration[4.2]
4
- def up
5
- if defined?(ActsAsTaggableOn) && ActsAsTaggableOn::Utils.using_mysql?
6
- execute("ALTER TABLE spree_tags MODIFY name varchar(255) CHARACTER SET utf8 COLLATE utf8_bin;")
7
- end
8
- end
9
- end
@@ -1,14 +0,0 @@
1
- class AddMissingIndexesToSpreeTaggings < ActiveRecord::Migration[4.2]
2
- def change
3
- add_index :spree_taggings, :tag_id
4
- add_index :spree_taggings, :taggable_id
5
- add_index :spree_taggings, :taggable_type
6
- add_index :spree_taggings, :tagger_id
7
- add_index :spree_taggings, :context
8
-
9
- add_index :spree_taggings, [:tagger_id, :tagger_type]
10
- add_index :spree_taggings,
11
- [:taggable_id, :taggable_type, :tagger_id, :context],
12
- name: "spree_taggings_idy"
13
- end
14
- end
@@ -1,67 +0,0 @@
1
- require 'spree/responder'
2
-
3
- module ActionController
4
- class Base
5
- def respond_with(*resources, &block)
6
- if Spree::BaseController.spree_responders.key?(self.class.to_s.to_sym)
7
- # Checkout AS Array#extract_options! and original respond_with
8
- # implementation for a better picture of this hack
9
- if resources.last.is_a? Hash
10
- resources.last[:action_name] = action_name.to_sym
11
- else
12
- resources.push action_name: action_name.to_sym
13
- end
14
- end
15
-
16
- super
17
- end
18
- end
19
- end
20
-
21
- module Spree
22
- module Core
23
- module ControllerHelpers
24
- module RespondWith
25
- extend ActiveSupport::Concern
26
-
27
- included do
28
- cattr_accessor :spree_responders
29
- self.spree_responders = {}
30
- self.responder = Spree::Responder
31
- end
32
-
33
- module ClassMethods
34
- def clear_overrides!
35
- self.spree_responders = {}
36
- end
37
-
38
- def respond_override(options = {})
39
- ActiveSupport::Deprecation.warn 'ControllerHelpers::RespondWith is deprecated and will be removed in Spree 4.0.'
40
-
41
- unless options.blank?
42
- action_name = options.keys.first
43
- action_value = options.values.first
44
-
45
- if action_name.blank? || action_value.blank?
46
- raise ArgumentError, "invalid values supplied #{options.inspect}"
47
- end
48
-
49
- format_name = action_value.keys.first
50
- format_value = action_value.values.first
51
-
52
- if format_name.blank? || format_value.blank?
53
- raise ArgumentError, "invalid values supplied #{options.inspect}"
54
- end
55
-
56
- if format_value.is_a?(Proc)
57
- options = { action_name.to_sym => { format_name.to_sym => { success: format_value } } }
58
- end
59
-
60
- spree_responders.deep_merge!(name.to_sym => options)
61
- end
62
- end
63
- end
64
- end
65
- end
66
- end
67
- end
@@ -1,44 +0,0 @@
1
- module Spree
2
- class Responder < ::ActionController::Responder #:nodoc:
3
- attr_accessor :on_success, :on_failure
4
-
5
- def initialize(controller, resources, options = {})
6
- super
7
-
8
- class_name = controller.class.name.to_sym
9
- action_name = options.delete(:action_name)
10
-
11
- if result = Spree::BaseController.spree_responders[class_name].try(:[], action_name).try(:[], format.to_sym)
12
- self.on_success = handler(controller, result, :success)
13
- self.on_failure = handler(controller, result, :failure)
14
- end
15
- end
16
-
17
- def to_html
18
- super && return unless on_success || on_failure
19
- has_errors? ? controller.instance_exec(&on_failure) : controller.instance_exec(&on_success)
20
- end
21
-
22
- def to_format
23
- super && return unless on_success || on_failure
24
- has_errors? ? controller.instance_exec(&on_failure) : controller.instance_exec(&on_success)
25
- end
26
-
27
- private
28
-
29
- def handler(controller, result, status)
30
- return result if result.respond_to? :call
31
-
32
- case result
33
- when Hash
34
- if result[status].is_a? Symbol
35
- controller.method(result[status])
36
- else
37
- result[status]
38
- end
39
- when Symbol
40
- controller.method(result)
41
- end
42
- end
43
- end
44
- end
@@ -1,5 +0,0 @@
1
- FactoryBot.define do
2
- factory :tag, class: Spree::Tag do
3
- sequence(:name) { |n| "Tag ##{n} - #{Kernel.rand(9999)}" }
4
- end
5
- end