spree_core 6.0.0.rc7 → 6.0.1
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/jobs/spree/maintenance_tasks/run_job.rb +321 -0
- 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/backfill_order_markets.rb +48 -0
- data/app/maintenance_tasks/spree/maintenance_tasks/upgrade/capture_methods.rb +40 -0
- data/app/maintenance_tasks/spree/maintenance_tasks/upgrade/deliveries.rb +15 -0
- data/app/maintenance_tasks/spree/maintenance_tasks/upgrade/order_coupon_codes.rb +15 -0
- data/app/maintenance_tasks/spree/maintenance_tasks/upgrade/promotion_option_value_rules.rb +15 -0
- data/app/maintenance_tasks/spree/maintenance_tasks/upgrade/rake_step.rb +83 -0
- data/app/maintenance_tasks/spree/maintenance_tasks/upgrade/returns.rb +20 -0
- data/app/maintenance_tasks/spree/maintenance_tasks/upgrade/store_regional_settings.rb +63 -0
- data/app/maintenance_tasks/spree/maintenance_tasks/upgrade/users_to_customers.rb +28 -0
- data/app/maintenance_tasks/spree/maintenance_tasks/upgrade_step.rb +44 -0
- data/app/models/concerns/spree/translatable_resource.rb +19 -0
- data/app/models/spree/ability.rb +9 -0
- data/app/models/spree/invitation.rb +11 -2
- data/app/models/spree/maintenance_task.rb +221 -0
- data/app/models/spree/maintenance_task_run.rb +78 -0
- data/app/models/spree/order_routing/strategy/rules.rb +8 -48
- 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/upgrade_record.rb +62 -0
- data/app/services/spree/carts/update.rb +2 -1
- data/app/services/spree/maintenance_tasks/argument_parser.rb +23 -0
- data/app/services/spree/maintenance_tasks/cancel.rb +51 -0
- data/app/services/spree/maintenance_tasks/start.rb +127 -0
- data/app/services/spree/seeds/all.rb +22 -0
- data/app/services/spree/stock_reservations/reserve.rb +73 -25
- data/app/workflows/spree/seller_transfers/reverse.rb +5 -44
- data/config/locales/en.yml +1 -0
- data/db/migrate/20260813130001_add_capture_method_to_payment_methods.rb +1 -1
- data/db/migrate/20260815000001_create_spree_maintenance_task_runs.rb +40 -0
- data/db/migrate/20260816000001_create_spree_upgrade_records.rb +17 -0
- data/db/migrate/20261029100001_add_lockout_columns_to_spree_admin_users.rb +8 -0
- data/lib/generators/spree/api_resource/api_resource_generator.rb +2 -2
- data/lib/spree/checkout/default_requirements.rb +33 -5
- data/lib/spree/core/configuration.rb +6 -0
- data/lib/spree/core/engine.rb +10 -1
- data/lib/spree/core/permissions/default_catalog.rb +7 -0
- data/lib/spree/core/version.rb +1 -1
- data/lib/spree/core.rb +17 -1
- data/lib/spree/testing_support/factories/maintenance_task_run_factory.rb +7 -0
- data/lib/spree/time_zones.rb +34 -0
- data/lib/spree/upgrade.rb +189 -0
- data/lib/spree/upgrades/5_6_to_6_0/manifest.yml +30 -10
- data/lib/tasks/maintenance_tasks.rake +42 -0
- data/lib/tasks/upgrade.rake +81 -60
- metadata +28 -6
- data/lib/tasks/capture_methods_migration.rake +0 -30
- data/lib/tasks/order_market_backfill.rake +0 -27
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
# 5.6 → 6.0 conversion of the per-payment-method auto_capture boolean onto the
|
|
4
|
-
# capture_method vocabulary (docs/plans/6.0-store-scoped-configuration.md).
|
|
5
|
-
# Idempotent — it only writes rows whose capture_method is still empty, so a
|
|
6
|
-
# second run finds nothing to do and an interrupted run resumes for free.
|
|
7
|
-
namespace :spree do
|
|
8
|
-
desc 'Convert payment method auto_capture booleans into capture_method values'
|
|
9
|
-
task migrate_capture_methods: :environment do
|
|
10
|
-
batch_size = ENV.fetch('BATCH_SIZE', 5_000).to_i
|
|
11
|
-
say = ->(message) { puts message }
|
|
12
|
-
|
|
13
|
-
payment_methods = Spree::PaymentMethod.unscoped.where(capture_method: nil)
|
|
14
|
-
|
|
15
|
-
# A method that captured on authorization charges at checkout. One that did
|
|
16
|
-
# not only recorded "not at checkout" — the old column could not say
|
|
17
|
-
# whether dispatch or staff was meant to take the money, and the store's
|
|
18
|
-
# own setting is what decided. Leaving those rows empty is what makes them
|
|
19
|
-
# keep inheriting it, so only the true case is written here.
|
|
20
|
-
count = payment_methods.where(auto_capture: true).
|
|
21
|
-
in_batches(of: batch_size).
|
|
22
|
-
update_all(capture_method: 'checkout')
|
|
23
|
-
say.call "spree_payment_methods.capture_method: #{count} rows auto_capture → checkout"
|
|
24
|
-
|
|
25
|
-
remaining = Spree::PaymentMethod.unscoped.where(capture_method: nil, auto_capture: false).count
|
|
26
|
-
say.call "spree_payment_methods.capture_method: #{remaining} rows left inheriting the store setting"
|
|
27
|
-
|
|
28
|
-
say.call 'migrate_capture_methods done.'
|
|
29
|
-
end
|
|
30
|
-
end
|
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
# frozen_string_literal: true
|
|
2
|
-
|
|
3
|
-
# 5.6 → 6.0: market is mandatory on orders in Spree 6. Orders created before
|
|
4
|
-
# markets existed carry NULLs — backfill from the store's default market so
|
|
5
|
-
# the 6.1 NOT NULL constraint can land. (channel_id has no equivalent task
|
|
6
|
-
# here: the 5.4→5.5 manifest's spree:channels:backfill_order_channel_ids
|
|
7
|
-
# already covers it on every upgrade path.)
|
|
8
|
-
namespace :spree do
|
|
9
|
-
desc 'Backfill missing market on orders from the store default market'
|
|
10
|
-
task backfill_order_markets: :environment do
|
|
11
|
-
batch_size = ENV.fetch('BATCH_SIZE', 5_000).to_i
|
|
12
|
-
|
|
13
|
-
Spree::Store.all.find_each do |store|
|
|
14
|
-
market_id = store.default_market&.id
|
|
15
|
-
|
|
16
|
-
if market_id
|
|
17
|
-
count = Spree::Order.unscoped.where(store_id: store.id, market_id: nil).
|
|
18
|
-
in_batches(of: batch_size).update_all(market_id: market_id)
|
|
19
|
-
puts "store #{store.code}: #{count} orders assigned market #{market_id}" if count.positive?
|
|
20
|
-
else
|
|
21
|
-
puts "store #{store.code}: no default market — orders left as-is"
|
|
22
|
-
end
|
|
23
|
-
end
|
|
24
|
-
|
|
25
|
-
puts 'backfill_order_markets done. The NOT NULL constraint lands in 6.1.'
|
|
26
|
-
end
|
|
27
|
-
end
|