spree_core 6.0.0 → 6.0.2
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/README.md +2 -2
- data/app/jobs/spree/seller_transfers/execute_pending_due_job.rb +7 -5
- data/app/jobs/spree/seller_transfers/execute_pending_job.rb +37 -17
- data/app/maintenance_tasks/spree/maintenance_tasks/upgrade/store_regional_settings.rb +63 -0
- data/app/models/concerns/spree/admin_user_methods.rb +23 -0
- data/app/models/concerns/spree/translatable_resource.rb +19 -0
- data/app/models/concerns/spree/user_roles.rb +9 -4
- data/app/models/spree/invitation.rb +11 -2
- data/app/models/spree/order.rb +3 -1
- data/app/models/spree/order_promotion.rb +3 -1
- data/app/models/spree/order_routing/strategy/rules.rb +8 -48
- data/app/models/spree/payment.rb +16 -1
- data/app/models/spree/payment_method/store_credit.rb +3 -1
- data/app/models/spree/payment_method.rb +14 -1
- data/app/models/spree/payment_source.rb +3 -1
- data/app/models/spree/promotion/actions/create_item_adjustments.rb +1 -1
- data/app/models/spree/promotion.rb +10 -1
- data/app/models/spree/promotion_handler/cart.rb +7 -1
- data/app/models/spree/promotion_handler/coupon.rb +1 -29
- data/app/models/spree/refresh_token.rb +26 -0
- data/app/models/spree/seller_transfer.rb +51 -0
- data/app/models/spree/stock/coordinator.rb +37 -17
- data/app/models/spree/stock/packer.rb +19 -9
- data/app/models/spree/stock/prioritizer.rb +30 -15
- data/app/models/spree/store.rb +35 -2
- data/app/models/spree/variant.rb +1 -1
- data/app/services/spree/carts/update.rb +2 -1
- data/app/services/spree/promotions/detach_from_owner.rb +72 -0
- data/app/services/spree/stock_reservations/reserve.rb +78 -26
- data/app/workflows/spree/carts/recalculate.rb +5 -1
- data/app/workflows/spree/seller_transfers/reverse.rb +5 -44
- data/db/migrate/20260809150001_promote_shipping_categories_to_delivery_profiles.rb +15 -6
- data/db/migrate/20261029100001_add_lockout_columns_to_spree_admin_users.rb +8 -0
- data/db/migrate/20261030100001_scope_payment_sources_profile_id_uniqueness_to_payment_method.rb +38 -0
- data/db/migrate/20261031000001_add_last_active_at_to_spree_admin_users.rb +7 -0
- data/db/migrate/20261031100001_delete_orphaned_spree_option_value_variants.rb +10 -0
- data/lib/generators/spree/dummy/dummy_generator.rb +0 -1
- data/lib/generators/spree/dummy/templates/rails/database.yml +6 -9
- data/lib/generators/spree/dummy/templates/rails/test.rb +9 -5
- data/lib/generators/spree/dummy_model/templates/migration.rb.tt +1 -1
- data/lib/spree/checkout/default_requirements.rb +33 -5
- data/lib/spree/core/version.rb +1 -1
- data/lib/spree/core.rb +1 -3
- data/lib/spree/testing_support/common_rake.rb +3 -2
- data/lib/spree/testing_support/lifecycle_events.rb +1 -3
- data/lib/spree/time_zones.rb +34 -0
- data/lib/spree/upgrades/5_6_to_6_0/manifest.yml +15 -1
- data/lib/tasks/delivery_migration.rake +17 -1
- data/lib/tasks/remove_orphan_order_promotions.rake +20 -0
- metadata +15 -78
- data/lib/generators/spree/authentication/dummy/dummy_generator.rb +0 -54
- data/lib/generators/spree/authentication/dummy/templates/authentication_helpers.rb.tt +0 -52
- data/lib/generators/spree/authentication/dummy/templates/create_spree_admin_users.rb.tt +0 -33
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: spree_core
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 6.0.
|
|
4
|
+
version: 6.0.2
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Sean Schofield
|
|
@@ -10,7 +10,7 @@ authors:
|
|
|
10
10
|
autorequire:
|
|
11
11
|
bindir: bin
|
|
12
12
|
cert_chain: []
|
|
13
|
-
date: 2026-
|
|
13
|
+
date: 2026-11-02 00:00:00.000000000 Z
|
|
14
14
|
dependencies:
|
|
15
15
|
- !ruby/object:Gem::Dependency
|
|
16
16
|
name: i18n-tasks
|
|
@@ -66,14 +66,14 @@ dependencies:
|
|
|
66
66
|
requirements:
|
|
67
67
|
- - "~>"
|
|
68
68
|
- !ruby/object:Gem::Version
|
|
69
|
-
version: '
|
|
69
|
+
version: '4.0'
|
|
70
70
|
type: :runtime
|
|
71
71
|
prerelease: false
|
|
72
72
|
version_requirements: !ruby/object:Gem::Requirement
|
|
73
73
|
requirements:
|
|
74
74
|
- - "~>"
|
|
75
75
|
- !ruby/object:Gem::Version
|
|
76
|
-
version: '
|
|
76
|
+
version: '4.0'
|
|
77
77
|
- !ruby/object:Gem::Dependency
|
|
78
78
|
name: acts-as-taggable-on
|
|
79
79
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -108,20 +108,6 @@ dependencies:
|
|
|
108
108
|
- - ">="
|
|
109
109
|
- !ruby/object:Gem::Version
|
|
110
110
|
version: 3.3.1
|
|
111
|
-
- !ruby/object:Gem::Dependency
|
|
112
|
-
name: benchmark
|
|
113
|
-
requirement: !ruby/object:Gem::Requirement
|
|
114
|
-
requirements:
|
|
115
|
-
- - ">="
|
|
116
|
-
- !ruby/object:Gem::Version
|
|
117
|
-
version: '0'
|
|
118
|
-
type: :runtime
|
|
119
|
-
prerelease: false
|
|
120
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
121
|
-
requirements:
|
|
122
|
-
- - ">="
|
|
123
|
-
- !ruby/object:Gem::Version
|
|
124
|
-
version: '0'
|
|
125
111
|
- !ruby/object:Gem::Dependency
|
|
126
112
|
name: cancancan
|
|
127
113
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -198,26 +184,6 @@ dependencies:
|
|
|
198
184
|
- - ">="
|
|
199
185
|
- !ruby/object:Gem::Version
|
|
200
186
|
version: '0'
|
|
201
|
-
- !ruby/object:Gem::Dependency
|
|
202
|
-
name: highline
|
|
203
|
-
requirement: !ruby/object:Gem::Requirement
|
|
204
|
-
requirements:
|
|
205
|
-
- - ">="
|
|
206
|
-
- !ruby/object:Gem::Version
|
|
207
|
-
version: '2'
|
|
208
|
-
- - "<"
|
|
209
|
-
- !ruby/object:Gem::Version
|
|
210
|
-
version: '4'
|
|
211
|
-
type: :runtime
|
|
212
|
-
prerelease: false
|
|
213
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
214
|
-
requirements:
|
|
215
|
-
- - ">="
|
|
216
|
-
- !ruby/object:Gem::Version
|
|
217
|
-
version: '2'
|
|
218
|
-
- - "<"
|
|
219
|
-
- !ruby/object:Gem::Version
|
|
220
|
-
version: '4'
|
|
221
187
|
- !ruby/object:Gem::Dependency
|
|
222
188
|
name: json
|
|
223
189
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -442,20 +408,6 @@ dependencies:
|
|
|
442
408
|
- - "~>"
|
|
443
409
|
- !ruby/object:Gem::Version
|
|
444
410
|
version: '1.5'
|
|
445
|
-
- !ruby/object:Gem::Dependency
|
|
446
|
-
name: rexml
|
|
447
|
-
requirement: !ruby/object:Gem::Requirement
|
|
448
|
-
requirements:
|
|
449
|
-
- - ">="
|
|
450
|
-
- !ruby/object:Gem::Version
|
|
451
|
-
version: '0'
|
|
452
|
-
type: :runtime
|
|
453
|
-
prerelease: false
|
|
454
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
455
|
-
requirements:
|
|
456
|
-
- - ">="
|
|
457
|
-
- !ruby/object:Gem::Version
|
|
458
|
-
version: '0'
|
|
459
411
|
- !ruby/object:Gem::Dependency
|
|
460
412
|
name: stringex
|
|
461
413
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -608,26 +560,6 @@ dependencies:
|
|
|
608
560
|
- - ">="
|
|
609
561
|
- !ruby/object:Gem::Version
|
|
610
562
|
version: '0'
|
|
611
|
-
- !ruby/object:Gem::Dependency
|
|
612
|
-
name: safely_block
|
|
613
|
-
requirement: !ruby/object:Gem::Requirement
|
|
614
|
-
requirements:
|
|
615
|
-
- - ">="
|
|
616
|
-
- !ruby/object:Gem::Version
|
|
617
|
-
version: '0.4'
|
|
618
|
-
- - "<"
|
|
619
|
-
- !ruby/object:Gem::Version
|
|
620
|
-
version: '2.0'
|
|
621
|
-
type: :runtime
|
|
622
|
-
prerelease: false
|
|
623
|
-
version_requirements: !ruby/object:Gem::Requirement
|
|
624
|
-
requirements:
|
|
625
|
-
- - ">="
|
|
626
|
-
- !ruby/object:Gem::Version
|
|
627
|
-
version: '0.4'
|
|
628
|
-
- - "<"
|
|
629
|
-
- !ruby/object:Gem::Version
|
|
630
|
-
version: '2.0'
|
|
631
563
|
- !ruby/object:Gem::Dependency
|
|
632
564
|
name: phonelib
|
|
633
565
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -785,6 +717,7 @@ files:
|
|
|
785
717
|
- app/maintenance_tasks/spree/maintenance_tasks/upgrade/promotion_option_value_rules.rb
|
|
786
718
|
- app/maintenance_tasks/spree/maintenance_tasks/upgrade/rake_step.rb
|
|
787
719
|
- app/maintenance_tasks/spree/maintenance_tasks/upgrade/returns.rb
|
|
720
|
+
- app/maintenance_tasks/spree/maintenance_tasks/upgrade/store_regional_settings.rb
|
|
788
721
|
- app/maintenance_tasks/spree/maintenance_tasks/upgrade/users_to_customers.rb
|
|
789
722
|
- app/maintenance_tasks/spree/maintenance_tasks/upgrade_step.rb
|
|
790
723
|
- app/models/concerns/spree/account_deactivation.rb
|
|
@@ -1435,6 +1368,7 @@ files:
|
|
|
1435
1368
|
- app/services/spree/products/duplicator.rb
|
|
1436
1369
|
- app/services/spree/products/for_context.rb
|
|
1437
1370
|
- app/services/spree/products/select_buy_box.rb
|
|
1371
|
+
- app/services/spree/promotions/detach_from_owner.rb
|
|
1438
1372
|
- app/services/spree/purchases/amount_due_at_checkout.rb
|
|
1439
1373
|
- app/services/spree/returns/eligibility_validator.rb
|
|
1440
1374
|
- app/services/spree/sample_data/helper.rb
|
|
@@ -2027,6 +1961,10 @@ files:
|
|
|
2027
1961
|
- db/migrate/20261017100001_add_tax_exemption_reason_to_spree_tax_exemption_certificates.rb
|
|
2028
1962
|
- db/migrate/20261022000001_store_credit_actor_polymorphic.rb
|
|
2029
1963
|
- db/migrate/20261023100001_add_deactivated_at_to_spree_admin_users.rb
|
|
1964
|
+
- db/migrate/20261029100001_add_lockout_columns_to_spree_admin_users.rb
|
|
1965
|
+
- db/migrate/20261030100001_scope_payment_sources_profile_id_uniqueness_to_payment_method.rb
|
|
1966
|
+
- db/migrate/20261031000001_add_last_active_at_to_spree_admin_users.rb
|
|
1967
|
+
- db/migrate/20261031100001_delete_orphaned_spree_option_value_variants.rb
|
|
2030
1968
|
- db/sample_data/channels.rb
|
|
2031
1969
|
- db/sample_data/collections.rb
|
|
2032
1970
|
- db/sample_data/custom_field_definitions.rb
|
|
@@ -2056,9 +1994,6 @@ files:
|
|
|
2056
1994
|
- lib/generators/spree/api_resource/templates/store_controller.rb.tt
|
|
2057
1995
|
- lib/generators/spree/api_resource/templates/store_controller_spec.rb.tt
|
|
2058
1996
|
- lib/generators/spree/api_resource/templates/store_serializer.rb.tt
|
|
2059
|
-
- lib/generators/spree/authentication/dummy/dummy_generator.rb
|
|
2060
|
-
- lib/generators/spree/authentication/dummy/templates/authentication_helpers.rb.tt
|
|
2061
|
-
- lib/generators/spree/authentication/dummy/templates/create_spree_admin_users.rb.tt
|
|
2062
1997
|
- lib/generators/spree/controller_decorator/controller_decorator_generator.rb
|
|
2063
1998
|
- lib/generators/spree/controller_decorator/templates/controller_decorator.rb.tt
|
|
2064
1999
|
- lib/generators/spree/dummy/dummy_generator.rb
|
|
@@ -2312,6 +2247,7 @@ files:
|
|
|
2312
2247
|
- lib/spree/testing_support/store.rb
|
|
2313
2248
|
- lib/spree/testing_support/tax_identifier_validators.rb
|
|
2314
2249
|
- lib/spree/testing_support/url_helpers.rb
|
|
2250
|
+
- lib/spree/time_zones.rb
|
|
2315
2251
|
- lib/spree/translations.rb
|
|
2316
2252
|
- lib/spree/upgrade.rb
|
|
2317
2253
|
- lib/spree/upgrades/5_4_to_5_5/manifest.yml
|
|
@@ -2360,6 +2296,7 @@ files:
|
|
|
2360
2296
|
- lib/tasks/products.rake
|
|
2361
2297
|
- lib/tasks/publications.rake
|
|
2362
2298
|
- lib/tasks/remove_master_variant.rake
|
|
2299
|
+
- lib/tasks/remove_orphan_order_promotions.rake
|
|
2363
2300
|
- lib/tasks/rich_text.rake
|
|
2364
2301
|
- lib/tasks/sample_data.rake
|
|
2365
2302
|
- lib/tasks/search.rake
|
|
@@ -2397,9 +2334,9 @@ licenses:
|
|
|
2397
2334
|
- BSD-3-Clause
|
|
2398
2335
|
metadata:
|
|
2399
2336
|
bug_tracker_uri: https://github.com/spree/spree/issues
|
|
2400
|
-
changelog_uri: https://github.com/spree/spree/releases/tag/v6.0.
|
|
2401
|
-
documentation_uri: https://
|
|
2402
|
-
source_code_uri: https://github.com/spree/spree/tree/v6.0.
|
|
2337
|
+
changelog_uri: https://github.com/spree/spree/releases/tag/v6.0.2
|
|
2338
|
+
documentation_uri: https://spreecommerce.org/docs/
|
|
2339
|
+
source_code_uri: https://github.com/spree/spree/tree/v6.0.2
|
|
2403
2340
|
post_install_message:
|
|
2404
2341
|
rdoc_options: []
|
|
2405
2342
|
require_paths:
|
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
require 'rails/generators'
|
|
2
|
-
|
|
3
|
-
module Spree
|
|
4
|
-
module Authentication
|
|
5
|
-
class DummyGenerator < Rails::Generators::Base
|
|
6
|
-
desc 'Set up a Spree installation with dummy authentication for testing. Creates a separate spree_admin_users table.'
|
|
7
|
-
|
|
8
|
-
def self.source_paths
|
|
9
|
-
paths = superclass.source_paths
|
|
10
|
-
paths << File.expand_path('templates', __dir__)
|
|
11
|
-
paths.flatten
|
|
12
|
-
end
|
|
13
|
-
|
|
14
|
-
def create_authentication_helpers
|
|
15
|
-
template 'authentication_helpers.rb.tt', 'lib/spree/authentication_helpers.rb'
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def configure_authentication_helpers
|
|
19
|
-
file_action = File.exist?('config/initializers/spree.rb') ? :append_file : :create_file
|
|
20
|
-
send(file_action, 'config/initializers/spree.rb') do
|
|
21
|
-
<<~RUBY
|
|
22
|
-
|
|
23
|
-
Rails.application.config.to_prepare do
|
|
24
|
-
require_dependency 'spree/authentication_helpers'
|
|
25
|
-
end
|
|
26
|
-
RUBY
|
|
27
|
-
end
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
def create_admin_users_migration
|
|
31
|
-
# Use a fixed early timestamp (20210913) to ensure this migration runs BEFORE
|
|
32
|
-
# any Spree core migrations that reference spree_admin_users table.
|
|
33
|
-
# The earliest such migration is 20250122113708_add_first_and_last_name_to_spree_admin_class.rb
|
|
34
|
-
# We use a timestamp before the main Spree migration (20210914000000_spree_four_three.rb)
|
|
35
|
-
migration_file = File.join('db', 'migrate', '20210913000000_create_spree_admin_users.rb')
|
|
36
|
-
|
|
37
|
-
# Skip if migration already exists
|
|
38
|
-
return if File.exist?(migration_file) || migration_exists?('create_spree_admin_users')
|
|
39
|
-
|
|
40
|
-
template 'create_spree_admin_users.rb.tt', migration_file
|
|
41
|
-
end
|
|
42
|
-
|
|
43
|
-
private
|
|
44
|
-
|
|
45
|
-
def migration_exists?(name)
|
|
46
|
-
Dir.glob(File.join('db', 'migrate', "*_#{name}.rb")).any?
|
|
47
|
-
end
|
|
48
|
-
|
|
49
|
-
def migration_version
|
|
50
|
-
"[#{Rails::VERSION::MAJOR}.#{Rails::VERSION::MINOR}]"
|
|
51
|
-
end
|
|
52
|
-
end
|
|
53
|
-
end
|
|
54
|
-
end
|
|
@@ -1,52 +0,0 @@
|
|
|
1
|
-
# Dummy authentication helpers for testing purposes.
|
|
2
|
-
# These provide stub implementations that don't require actual routes.
|
|
3
|
-
module Spree
|
|
4
|
-
module AuthenticationHelpers
|
|
5
|
-
def self.included(receiver)
|
|
6
|
-
receiver.helper_method(
|
|
7
|
-
:spree_current_user,
|
|
8
|
-
:spree_login_path,
|
|
9
|
-
:spree_signup_path,
|
|
10
|
-
:spree_logout_path,
|
|
11
|
-
:spree_forgot_password_path,
|
|
12
|
-
:spree_edit_password_path,
|
|
13
|
-
:spree_admin_login_path,
|
|
14
|
-
:spree_admin_logout_path
|
|
15
|
-
)
|
|
16
|
-
end
|
|
17
|
-
|
|
18
|
-
def spree_current_user
|
|
19
|
-
@spree_current_user
|
|
20
|
-
end
|
|
21
|
-
|
|
22
|
-
def spree_login_path(_opts = {})
|
|
23
|
-
'/login'
|
|
24
|
-
end
|
|
25
|
-
|
|
26
|
-
def spree_signup_path(_opts = {})
|
|
27
|
-
'/signup'
|
|
28
|
-
end
|
|
29
|
-
|
|
30
|
-
def spree_logout_path(_opts = {})
|
|
31
|
-
'/logout'
|
|
32
|
-
end
|
|
33
|
-
|
|
34
|
-
def spree_forgot_password_path(_opts = {})
|
|
35
|
-
'/forgot_password'
|
|
36
|
-
end
|
|
37
|
-
|
|
38
|
-
def spree_edit_password_path(_opts = {})
|
|
39
|
-
'/edit_password'
|
|
40
|
-
end
|
|
41
|
-
|
|
42
|
-
def spree_admin_login_path(_opts = {})
|
|
43
|
-
'/admin/login'
|
|
44
|
-
end
|
|
45
|
-
|
|
46
|
-
def spree_admin_logout_path(_opts = {})
|
|
47
|
-
'/admin/logout'
|
|
48
|
-
end
|
|
49
|
-
end
|
|
50
|
-
end
|
|
51
|
-
|
|
52
|
-
ApplicationController.include Spree::AuthenticationHelpers if defined?(ApplicationController)
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
class CreateSpreeAdminUsers < ActiveRecord::Migration<%= migration_version %>
|
|
2
|
-
def change
|
|
3
|
-
create_table :spree_admin_users do |t|
|
|
4
|
-
t.string :encrypted_password, limit: 128
|
|
5
|
-
t.string :password_digest
|
|
6
|
-
t.string :email
|
|
7
|
-
t.string :remember_token
|
|
8
|
-
t.string :persistence_token
|
|
9
|
-
t.string :reset_password_token
|
|
10
|
-
t.string :perishable_token
|
|
11
|
-
t.integer :sign_in_count, default: 0, null: false
|
|
12
|
-
t.integer :failed_attempts, default: 0, null: false
|
|
13
|
-
t.datetime :last_request_at
|
|
14
|
-
t.datetime :current_sign_in_at
|
|
15
|
-
t.datetime :last_sign_in_at
|
|
16
|
-
t.string :current_sign_in_ip
|
|
17
|
-
t.string :last_sign_in_ip
|
|
18
|
-
t.string :login
|
|
19
|
-
t.string :authentication_token
|
|
20
|
-
t.string :unlock_token
|
|
21
|
-
t.datetime :locked_at
|
|
22
|
-
t.datetime :remember_created_at
|
|
23
|
-
t.datetime :reset_password_sent_at
|
|
24
|
-
t.string :first_name
|
|
25
|
-
t.string :last_name
|
|
26
|
-
t.string :selected_locale
|
|
27
|
-
|
|
28
|
-
t.timestamps
|
|
29
|
-
end
|
|
30
|
-
|
|
31
|
-
add_index :spree_admin_users, :email, unique: true
|
|
32
|
-
end
|
|
33
|
-
end
|