solidus_core 4.3.6 → 4.4.0
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/helpers/spree/base_helper.rb +2 -2
- data/app/mailers/spree/base_mailer.rb +1 -1
- data/app/mailers/spree/carton_mailer.rb +1 -1
- data/app/mailers/spree/order_mailer.rb +3 -3
- data/app/mailers/spree/reimbursement_mailer.rb +1 -1
- data/app/models/concerns/spree/active_storage_adapter/normalization.rb +1 -1
- data/app/models/concerns/spree/active_storage_adapter.rb +1 -1
- data/app/models/concerns/spree/display_money.rb +1 -1
- data/app/models/concerns/spree/ordered_property_value_list.rb +2 -2
- data/app/models/concerns/spree/user_address_book.rb +4 -4
- data/app/models/concerns/spree/user_methods.rb +3 -3
- data/app/models/spree/address.rb +6 -6
- data/app/models/spree/adjustment.rb +13 -66
- data/app/models/spree/calculator/returns/default_refund_amount.rb +1 -1
- data/app/models/spree/carton.rb +2 -2
- data/app/models/spree/credit_card.rb +6 -6
- data/app/models/spree/deprecated_configurable_class.rb +40 -0
- data/app/models/spree/fulfilment_changer.rb +4 -4
- data/app/models/spree/inventory_unit.rb +2 -2
- data/app/models/spree/line_item.rb +1 -1
- data/app/models/spree/null_promotion_adjuster.rb +13 -0
- data/app/models/spree/null_promotion_advertiser.rb +9 -0
- data/app/models/spree/null_promotion_finder.rb +9 -0
- data/app/models/spree/null_promotion_handler.rb +44 -0
- data/app/models/spree/order.rb +15 -22
- data/app/models/spree/order_cancellations.rb +8 -8
- data/app/models/spree/order_mutex.rb +2 -2
- data/app/models/spree/order_shipping.rb +10 -9
- data/app/models/spree/order_updater.rb +6 -10
- data/app/models/spree/payment/processing.rb +2 -2
- data/app/models/spree/payment.rb +2 -2
- data/app/models/spree/payment_create.rb +1 -1
- data/app/models/spree/payment_method/store_credit.rb +1 -1
- data/app/models/spree/payment_source.rb +5 -1
- data/app/models/spree/permission_set.rb +11 -0
- data/app/models/spree/product.rb +7 -28
- data/app/models/spree/refund.rb +1 -1
- data/app/models/spree/reimbursement.rb +4 -4
- data/app/models/spree/reimbursement_performer.rb +3 -3
- data/app/models/spree/reimbursement_tax_calculator.rb +2 -2
- data/app/models/spree/reimbursement_type/credit.rb +1 -1
- data/app/models/spree/reimbursement_type/reimbursement_helpers.rb +6 -6
- data/app/models/spree/reimbursement_type/store_credit.rb +1 -1
- data/app/models/spree/return_item.rb +9 -9
- data/app/models/spree/role.rb +3 -1
- data/app/models/spree/role_permission.rb +8 -0
- data/app/models/spree/shipment.rb +7 -7
- data/app/models/spree/shipping_category.rb +2 -0
- data/app/models/spree/shipping_rate.rb +1 -1
- data/app/models/spree/{order_contents.rb → simple_order_contents.rb} +4 -11
- data/app/models/spree/stock/estimator.rb +1 -1
- data/app/models/spree/stock/inventory_unit_builder.rb +1 -1
- data/app/models/spree/stock/package.rb +2 -2
- data/app/models/spree/stock/simple_coordinator.rb +1 -1
- data/app/models/spree/stock_location.rb +5 -5
- data/app/models/spree/store.rb +1 -1
- data/app/models/spree/store_credit.rb +15 -15
- data/app/models/spree/store_credit_event.rb +3 -3
- data/app/models/spree/tax_calculator/default.rb +2 -2
- data/app/models/spree/tax_calculator/shipping_rate.rb +1 -1
- data/app/models/spree/tax_category.rb +3 -1
- data/app/models/spree/tax_rate.rb +3 -3
- data/app/models/spree/taxonomy.rb +2 -2
- data/app/models/spree/unit_cancel.rb +1 -2
- data/app/models/spree/variant/vat_price_generator.rb +1 -1
- data/app/models/spree/variant.rb +7 -2
- data/app/models/spree/wallet.rb +2 -2
- data/app/views/spree/order_mailer/cancel_email.html.erb +1 -1
- data/app/views/spree/order_mailer/cancel_email.text.erb +1 -1
- data/app/views/spree/order_mailer/confirm_email.html.erb +5 -5
- data/app/views/spree/order_mailer/confirm_email.text.erb +5 -5
- data/config/locales/en.yml +4 -91
- data/db/default/spree/permission_sets.rb +10 -0
- data/db/default/spree/return_reasons.rb +3 -1
- data/db/default/spree/states.rb +1 -1
- data/db/migrate/20160101010000_solidus_one_four.rb +0 -117
- data/db/migrate/20240821173254_create_spree_permission_sets_in_core.rb +9 -0
- data/db/migrate/20240821173341_create_spree_roles_permissions_in_core.rb +9 -0
- data/db/migrate/20240821173641_add_description_to_spree_roles.rb +5 -0
- data/db/migrate/20240904152041_add_privilege_and_category_to_spree_permission_sets.rb +6 -0
- data/db/seeds.rb +1 -0
- data/lib/generators/solidus/install/app_templates/frontend/starter.rb +1 -1
- data/lib/generators/solidus/update/update_generator.rb +1 -1
- data/lib/generators/spree/dummy/templates/rails/test.rb +6 -1
- data/lib/spree/app_configuration.rb +53 -84
- data/lib/spree/core/class_constantizer.rb +2 -2
- data/lib/spree/core/controller_helpers/payment_parameters.rb +1 -1
- data/lib/spree/core/engine.rb +1 -0
- data/lib/spree/core/environment/calculators.rb +35 -3
- data/lib/spree/core/environment/promotions.rb +25 -4
- data/lib/spree/core/environment_extension.rb +16 -2
- data/lib/spree/core/importer/order.rb +5 -5
- data/lib/spree/core/importer/product.rb +3 -3
- data/lib/spree/core/nested_class_set.rb +28 -0
- data/lib/spree/core/null_promotion_configuration.rb +84 -0
- data/lib/spree/core/product_filters.rb +1 -1
- data/lib/spree/core/search/variant.rb +2 -2
- data/lib/spree/core/state_machines/order.rb +0 -1
- data/lib/spree/core/validators/email.rb +1 -1
- data/lib/spree/core/version.rb +2 -2
- data/lib/spree/core.rb +2 -10
- data/lib/spree/deprecator.rb +9 -0
- data/lib/spree/i18n.rb +1 -1
- data/lib/spree/mailer_previews/carton_preview.rb +1 -1
- data/lib/spree/permission_sets/base.rb +13 -1
- data/lib/spree/permission_sets/configuration_display.rb +10 -0
- data/lib/spree/permission_sets/configuration_management.rb +10 -0
- data/lib/spree/permission_sets/dashboard_display.rb +12 -0
- data/lib/spree/permission_sets/default_customer.rb +11 -1
- data/lib/spree/permission_sets/order_display.rb +10 -0
- data/lib/spree/permission_sets/order_management.rb +10 -0
- data/lib/spree/permission_sets/product_display.rb +10 -0
- data/lib/spree/permission_sets/product_management.rb +10 -0
- data/lib/spree/permission_sets/restricted_stock_display.rb +10 -0
- data/lib/spree/permission_sets/restricted_stock_management.rb +10 -0
- data/lib/spree/permission_sets/stock_display.rb +10 -0
- data/lib/spree/permission_sets/stock_management.rb +10 -0
- data/lib/spree/permission_sets/super_user.rb +10 -0
- data/lib/spree/permission_sets/user_display.rb +10 -0
- data/lib/spree/permission_sets/user_management.rb +10 -0
- data/lib/spree/permission_sets.rb +0 -2
- data/lib/spree/permitted_attributes.rb +2 -2
- data/lib/spree/preferences/store.rb +2 -2
- data/lib/spree/testing_support/capybara_ext.rb +1 -1
- data/lib/spree/testing_support/dummy_ability.rb +7 -0
- data/lib/spree/testing_support/dummy_app/database.yml +2 -2
- data/lib/spree/testing_support/dummy_app/migrations.rb +8 -15
- data/lib/spree/testing_support/dummy_app/rake_tasks.rb +2 -2
- data/lib/spree/testing_support/dummy_app.rb +13 -11
- data/lib/spree/testing_support/extension_rake.rb +2 -2
- data/lib/spree/testing_support/factories/adjustment_factory.rb +1 -2
- data/lib/spree/testing_support/factories/calculator_factory.rb +1 -5
- data/lib/spree/testing_support/factories/carton_factory.rb +2 -2
- data/lib/spree/testing_support/factories/customer_return_factory.rb +2 -2
- data/lib/spree/testing_support/factories/inventory_unit_factory.rb +3 -3
- data/lib/spree/testing_support/factories/order_factory.rb +5 -24
- data/lib/spree/testing_support/factories/product_factory.rb +1 -1
- data/lib/spree/testing_support/factories/shipment_factory.rb +1 -1
- data/lib/spree/testing_support/factories/stock_item_factory.rb +5 -1
- data/lib/spree/testing_support/factories/stock_package_factory.rb +1 -1
- data/lib/spree/testing_support/factories/user_factory.rb +1 -1
- data/lib/spree/testing_support/factories/zone_factory.rb +1 -1
- data/lib/spree/testing_support/order_walkthrough.rb +3 -3
- data/lib/spree/testing_support/shared_examples/calculator.rb +10 -0
- data/lib/spree/testing_support/shared_examples/order_factory.rb +141 -0
- data/lib/spree/testing_support/shared_examples/working_factory.rb +15 -0
- data/lib/spree/user_class_handle.rb +2 -2
- data/lib/tasks/colorado_delivery_fee.rake +2 -2
- data/solidus_core.gemspec +5 -7
- metadata +54 -91
- data/app/jobs/spree/promotion_code_batch_job.rb +0 -26
- data/app/mailers/spree/promotion_code_batch_mailer.rb +0 -15
- data/app/models/spree/calculator/distributed_amount.rb +0 -33
- data/app/models/spree/calculator/flat_percent_item_total.rb +0 -23
- data/app/models/spree/calculator/flexi_rate.rb +0 -22
- data/app/models/spree/calculator/percent_on_line_item.rb +0 -13
- data/app/models/spree/calculator/tiered_flat_rate.rb +0 -52
- data/app/models/spree/calculator/tiered_percent.rb +0 -62
- data/app/models/spree/order_promotion.rb +0 -27
- data/app/models/spree/promotion/actions/create_adjustment.rb +0 -81
- data/app/models/spree/promotion/actions/create_item_adjustments.rb +0 -98
- data/app/models/spree/promotion/actions/create_quantity_adjustments.rb +0 -139
- data/app/models/spree/promotion/actions/free_shipping.rb +0 -59
- data/app/models/spree/promotion/order_adjustments_recalculator.rb +0 -92
- data/app/models/spree/promotion/rules/first_order.rb +0 -38
- data/app/models/spree/promotion/rules/first_repeat_purchase_since.rb +0 -36
- data/app/models/spree/promotion/rules/item_total.rb +0 -86
- data/app/models/spree/promotion/rules/minimum_quantity.rb +0 -59
- data/app/models/spree/promotion/rules/nth_order.rb +0 -45
- data/app/models/spree/promotion/rules/one_use_per_user.rb +0 -25
- data/app/models/spree/promotion/rules/option_value.rb +0 -50
- data/app/models/spree/promotion/rules/product.rb +0 -86
- data/app/models/spree/promotion/rules/store.rb +0 -26
- data/app/models/spree/promotion/rules/taxon.rb +0 -91
- data/app/models/spree/promotion/rules/user.rb +0 -34
- data/app/models/spree/promotion/rules/user_logged_in.rb +0 -20
- data/app/models/spree/promotion/rules/user_role.rb +0 -45
- data/app/models/spree/promotion.rb +0 -271
- data/app/models/spree/promotion_action.rb +0 -47
- data/app/models/spree/promotion_category.rb +0 -8
- data/app/models/spree/promotion_chooser.rb +0 -34
- data/app/models/spree/promotion_code/batch_builder.rb +0 -64
- data/app/models/spree/promotion_code.rb +0 -54
- data/app/models/spree/promotion_code_batch.rb +0 -27
- data/app/models/spree/promotion_handler/cart.rb +0 -75
- data/app/models/spree/promotion_handler/coupon.rb +0 -123
- data/app/models/spree/promotion_handler/page.rb +0 -26
- data/app/models/spree/promotion_handler/shipping.rb +0 -61
- data/app/models/spree/promotion_rule.rb +0 -55
- data/app/models/spree/promotion_rule_store.rb +0 -10
- data/app/models/spree/promotion_rule_taxon.rb +0 -8
- data/app/models/spree/promotion_rule_user.rb +0 -10
- data/app/views/spree/promotion_code_batch_mailer/promotion_code_batch_errored.text.erb +0 -2
- data/app/views/spree/promotion_code_batch_mailer/promotion_code_batch_finished.text.erb +0 -2
- data/db/migrate/20161017102621_create_spree_promotion_code_batch.rb +0 -38
- data/db/migrate/20180202190713_create_promotion_rule_stores.rb +0 -12
- data/db/migrate/20180328172631_add_join_characters_to_promotion_code_batch.rb +0 -11
- data/db/migrate/20190106184413_remove_code_from_spree_promotions.rb +0 -42
- data/db/migrate/20220317165036_set_promotions_with_any_policy_to_all_if_possible.rb +0 -20
- data/db/migrate/20230322085416_remove_match_policy_from_spree_promotion.rb +0 -5
- data/db/migrate/20230325132905_remove_unused_columns_from_promotion_rules.rb +0 -6
- data/db/migrate/20230325161633_drop_unused_promo_action_line_items.rb +0 -13
- data/db/migrate/20231027084517_add_order_promotions_foreign_key.rb +0 -10
- data/db/migrate/20231031175215_add_promotion_order_promotion_foreign_key.rb +0 -10
- data/lib/solidus/migrations/promotions_with_code_handlers.rb +0 -66
- data/lib/spree/permission_sets/promotion_display.rb +0 -25
- data/lib/spree/permission_sets/promotion_management.rb +0 -25
- data/lib/spree/ransack_4_1_patch.rb +0 -16
- data/lib/spree/testing_support/factories/order_promotion_factory.rb +0 -8
- data/lib/spree/testing_support/factories/promotion_category_factory.rb +0 -7
- data/lib/spree/testing_support/factories/promotion_code_factory.rb +0 -8
- data/lib/spree/testing_support/factories/promotion_factory.rb +0 -98
data/config/locales/en.yml
CHANGED
@@ -410,6 +410,7 @@ en:
|
|
410
410
|
analytics_id: Analytics ID
|
411
411
|
spree/user:
|
412
412
|
email: Email
|
413
|
+
last_active: Last active
|
413
414
|
lifetime_value: Total spent
|
414
415
|
password: Password
|
415
416
|
password_confirmation: Password Confirmation
|
@@ -877,27 +878,6 @@ en:
|
|
877
878
|
new_price: New Price
|
878
879
|
table:
|
879
880
|
variant_pricing: Variant Prices
|
880
|
-
promotion_status:
|
881
|
-
active: Active
|
882
|
-
expired: Expired
|
883
|
-
inactive: Inactive
|
884
|
-
not_started: Not started
|
885
|
-
promotions:
|
886
|
-
actions:
|
887
|
-
calculator_label: Calculated by
|
888
|
-
activations_edit:
|
889
|
-
auto: All orders will attempt to use this promotion
|
890
|
-
multiple_codes_html: This promotion uses %{count} promotion codes
|
891
|
-
single_code_html: 'This promotion uses the promotion code: <code>%{code}</code>'
|
892
|
-
activations_new:
|
893
|
-
auto: Apply to all orders
|
894
|
-
multiple_codes: Multiple promotion codes
|
895
|
-
single_code: Single promotion code
|
896
|
-
form:
|
897
|
-
activation: Activation
|
898
|
-
expires_at_placeholder: Never
|
899
|
-
general: General
|
900
|
-
starts_at_placeholder: Immediately
|
901
881
|
shipping_methods:
|
902
882
|
form:
|
903
883
|
stock_locations_placeholder: Choose stock locations
|
@@ -963,8 +943,6 @@ en:
|
|
963
943
|
overview: Overview
|
964
944
|
payments: Payments
|
965
945
|
products: Products
|
966
|
-
promotion_categories: Promotion Categories
|
967
|
-
promotions: Promotions
|
968
946
|
properties: Property Types
|
969
947
|
rma: RMA
|
970
948
|
settings: Settings
|
@@ -1066,8 +1044,6 @@ en:
|
|
1066
1044
|
back_to_payment_methods_list: Back To Payment Methods List
|
1067
1045
|
back_to_payments_list: Back To Payments List
|
1068
1046
|
back_to_products_list: Back To Products List
|
1069
|
-
back_to_promotion_categories_list: Back To Promotions Categories List
|
1070
|
-
back_to_promotions_list: Back To Promotions List
|
1071
1047
|
back_to_properties_list: Back To Property Types List
|
1072
1048
|
back_to_refund_reason_list: Back To Refund Reason List
|
1073
1049
|
back_to_reimbursement_type_list: Back To Reimbursement Type List
|
@@ -1093,7 +1069,6 @@ en:
|
|
1093
1069
|
backordered: Backordered
|
1094
1070
|
backorders_allowed: backorders allowed
|
1095
1071
|
balance_due: Balance Due
|
1096
|
-
base_amount: Base Amount
|
1097
1072
|
base_percent: Base Percent
|
1098
1073
|
bill_address: Bill Address
|
1099
1074
|
bill_address_required: Valid billing address required
|
@@ -1143,8 +1118,6 @@ en:
|
|
1143
1118
|
choose_dashboard_locale: Choose Dashboard Locale
|
1144
1119
|
choose_dashboard_theme: Choose Dashboard Theme
|
1145
1120
|
choose_location: Choose Location
|
1146
|
-
choose_promotion_action: Choose Action
|
1147
|
-
choose_promotion_rule: Choose Rule
|
1148
1121
|
choose_reason: Choose Reason
|
1149
1122
|
city: City
|
1150
1123
|
clear_cache: Clear Cache
|
@@ -1442,7 +1415,6 @@ en:
|
|
1442
1415
|
create: Create
|
1443
1416
|
create_a_new_account: Create a new account
|
1444
1417
|
create_one: Create One.
|
1445
|
-
create_promotion_code: Create promotion code
|
1446
1418
|
create_reimbursement: Create reimbursement
|
1447
1419
|
created_at: Created At
|
1448
1420
|
created_by: Created by
|
@@ -1456,7 +1428,6 @@ en:
|
|
1456
1428
|
currency: Currency
|
1457
1429
|
currency_settings: Currency Settings
|
1458
1430
|
current: Current
|
1459
|
-
current_promotion_usage: 'Current Usage: %{count}'
|
1460
1431
|
customer: Customer
|
1461
1432
|
customer_details: Customer Details
|
1462
1433
|
customer_details_updated: Customer Details Updated
|
@@ -1495,10 +1466,8 @@ en:
|
|
1495
1466
|
destroy: Destroy
|
1496
1467
|
details: Details
|
1497
1468
|
discount_amount: Discount Amount
|
1498
|
-
discount_rules: Discount Rules
|
1499
1469
|
dismiss_banner: No. Thanks! I'm not interested, do not display this message again
|
1500
1470
|
display: Display
|
1501
|
-
download_promotion_codes_list: Download codes list
|
1502
1471
|
edit: Edit
|
1503
1472
|
edit_refund_reason: Edit Refund Reason
|
1504
1473
|
editing_adjustment_reason: Editing Adjustment Reason
|
@@ -1506,8 +1475,6 @@ en:
|
|
1506
1475
|
editing_option_type: Editing Option Type
|
1507
1476
|
editing_payment_method: Editing Payment Method
|
1508
1477
|
editing_product: Editing Product
|
1509
|
-
editing_promotion: Editing Promotion
|
1510
|
-
editing_promotion_category: Editing Promotion Category
|
1511
1478
|
editing_property: Editing Property Type
|
1512
1479
|
editing_refund: Editing Refund
|
1513
1480
|
editing_refund_reason: Editing Refund Reason
|
@@ -1549,7 +1516,6 @@ en:
|
|
1549
1516
|
end: End
|
1550
1517
|
ending_in: Ending in
|
1551
1518
|
error: error
|
1552
|
-
error_user_destroy_with_orders: Cannot delete a user with orders
|
1553
1519
|
errors:
|
1554
1520
|
messages:
|
1555
1521
|
cannot_delete_finalized_stock_location: Stock Location cannot be destroyed if you have open stock transfers.
|
@@ -1611,7 +1577,6 @@ en:
|
|
1611
1577
|
general: General
|
1612
1578
|
google_analytics: Google Analytics
|
1613
1579
|
google_analytics_id: Analytics ID
|
1614
|
-
group_size: Group size
|
1615
1580
|
guest_checkout: Guest Checkout
|
1616
1581
|
guest_user_account: Checkout as a Guest
|
1617
1582
|
has_no_shipped_units: has no shipped units
|
@@ -1624,7 +1589,6 @@ en:
|
|
1624
1589
|
hide_out_of_stock: Hide out of stock
|
1625
1590
|
hints:
|
1626
1591
|
spree/calculator:
|
1627
|
-
promotions: This is used to determine the promotional discount to be applied to an order, an item, or shipping charges.
|
1628
1592
|
shipping_methods: This is used to calculate the shipping rates on a per order or per package rate.
|
1629
1593
|
tax_rates: The "Default Tax" calculator is used for both sales tax (United States-style taxes) and value-added tax (VAT). Typically this calculator should be the only tax calculator required by your store. "Flat Fee" can be used for any taxes that require a flat fee be charged to the customer.
|
1630
1594
|
spree/price:
|
@@ -1637,10 +1601,6 @@ en:
|
|
1637
1601
|
promotionable: 'This determines whether or not promotions can apply to this product.<br>Default: Checked'
|
1638
1602
|
shipping_category: 'This determines what kind of shipping this product requires.<br> Default: Default'
|
1639
1603
|
tax_category: 'This determines what kind of taxation is applied to this product.<br> Default: %{default_tax_category}'
|
1640
|
-
spree/promotion:
|
1641
|
-
expires_at: This determines when the promotion expires. <br> If no value is specified, the promotion will never expire.
|
1642
|
-
promo_code_will_be_disabled: Selecting this option, promo codes will be disabled for this promotion because all its rules / actions will be applied automatically to all orders.
|
1643
|
-
starts_at: This determines when the promotion can be applied to orders. <br> If no value is specified, the promotion will be immediately available.
|
1644
1604
|
spree/shipping_method:
|
1645
1605
|
available_to_all: Uncheck to select specific stock locations this shipping method will be available in.
|
1646
1606
|
spree/stock_location:
|
@@ -1703,8 +1663,6 @@ en:
|
|
1703
1663
|
intercept_email_instructions: Override email recipient and replace with this address.
|
1704
1664
|
invalid_exchange_variant: Invalid exchange variant.
|
1705
1665
|
invalid_payment_method_type: Invalid payment method type.
|
1706
|
-
invalid_promotion_action: Invalid promotion action.
|
1707
|
-
invalid_promotion_rule: Invalid promotion rule.
|
1708
1666
|
invalidate: Invalidate
|
1709
1667
|
inventory: Inventory
|
1710
1668
|
inventory_adjustment: Inventory Adjustment
|
@@ -1771,7 +1729,6 @@ en:
|
|
1771
1729
|
look_for_similar_items: Look for similar items
|
1772
1730
|
make_refund: Make refund
|
1773
1731
|
make_sure_the_above_reimbursement_amount_is_correct: Make sure the above reimbursement amount is correct
|
1774
|
-
manage_promotion_categories: Manage Promotion Categories
|
1775
1732
|
manage_stock: Store Stock
|
1776
1733
|
manage_variants: Manage Variants
|
1777
1734
|
manual_intervention_required: Manual intervention required
|
@@ -1817,9 +1774,6 @@ en:
|
|
1817
1774
|
new_payment: New Payment
|
1818
1775
|
new_payment_method: New Payment Method
|
1819
1776
|
new_product: New Product
|
1820
|
-
new_promotion: New Promotion
|
1821
|
-
new_promotion_category: New Promotion Category
|
1822
|
-
new_promotion_code_batch: New Promotion Code Batch
|
1823
1777
|
new_property: New Property Type
|
1824
1778
|
new_refund: New Refund
|
1825
1779
|
new_refund_reason: New Refund Reason
|
@@ -1843,7 +1797,6 @@ en:
|
|
1843
1797
|
new_variant: New Variant
|
1844
1798
|
new_zone: New Zone
|
1845
1799
|
next: Next
|
1846
|
-
no_actions_added: No actions added
|
1847
1800
|
no_images_found: No images found
|
1848
1801
|
no_inventory_selected: No inventory selected
|
1849
1802
|
no_option_values_on_product_html: This product has no associated option values. Add some to it through Option Types in the %{link}.
|
@@ -1852,13 +1805,11 @@ en:
|
|
1852
1805
|
no_payment_methods_found: No payment methods found
|
1853
1806
|
no_pending_payments: No pending payments
|
1854
1807
|
no_products_found: No products found
|
1855
|
-
no_promotions_found: No promotions found
|
1856
1808
|
no_resource: No %{resource} found.
|
1857
1809
|
no_resource_found: No %{resource} found
|
1858
1810
|
no_resource_found_html: No %{resource} found, %{add_one_link}!
|
1859
1811
|
no_resource_found_link: Add One
|
1860
1812
|
no_results: No results
|
1861
|
-
no_rules_added: No rules added
|
1862
1813
|
no_shipping_method_selected: No shipping method selected.
|
1863
1814
|
no_shipping_methods_found: No shipping methods found
|
1864
1815
|
no_stock_locations_found: No stock locations found
|
@@ -1882,6 +1833,8 @@ en:
|
|
1882
1833
|
product_not_deleted: Product could not be deleted
|
1883
1834
|
variant_deleted: Variant has been deleted
|
1884
1835
|
variant_not_deleted: Variant could not be deleted
|
1836
|
+
null_promotion_handler:
|
1837
|
+
coupon_code_applied: Coupon code has been applied.
|
1885
1838
|
num_orders: "# Orders"
|
1886
1839
|
number: Number
|
1887
1840
|
number_of_codes: "%{count} codes"
|
@@ -1902,6 +1855,7 @@ en:
|
|
1902
1855
|
order_approved: Order approved
|
1903
1856
|
order_canceled: Order canceled
|
1904
1857
|
order_completed: Order completed
|
1858
|
+
order_count: Order Count
|
1905
1859
|
order_details: Order Details
|
1906
1860
|
order_email_resent: Order Email Resent
|
1907
1861
|
order_information: Order Information
|
@@ -2020,21 +1974,10 @@ en:
|
|
2020
1974
|
product_has_no_description: This product has no description
|
2021
1975
|
product_not_available_in_this_currency: This product is not available in the selected currency.
|
2022
1976
|
product_properties: Product Properties
|
2023
|
-
product_rule:
|
2024
|
-
choose_products: Choose products
|
2025
|
-
label: Order must contain %{select} of these products
|
2026
|
-
match_all: all
|
2027
|
-
match_any: at least one
|
2028
|
-
match_none: none
|
2029
|
-
product_source:
|
2030
|
-
group: From product group
|
2031
|
-
manual: Manually choose
|
2032
1977
|
product_without_default_price_cta: Please, create a Master Price!
|
2033
1978
|
product_without_default_price_info: This Product has no price in the default currency (%{default_currency}).
|
2034
1979
|
products: Products
|
2035
1980
|
promotion: Promotion
|
2036
|
-
promotion_action: Promotion Action
|
2037
|
-
promotion_actions: Actions
|
2038
1981
|
promotion_code_batch_mailer:
|
2039
1982
|
promotion_code_batch_errored:
|
2040
1983
|
message: 'Promotion code batch errored (%{error}) for promotion: '
|
@@ -2042,20 +1985,7 @@ en:
|
|
2042
1985
|
promotion_code_batch_finished:
|
2043
1986
|
message: 'All %{number_of_codes} codes have been created for promotion: '
|
2044
1987
|
subject: Promotion code batch finished
|
2045
|
-
promotion_code_batches:
|
2046
|
-
errored: 'Errored: %{error}'
|
2047
|
-
finished: All %{number_of_codes} codes have been created.
|
2048
|
-
processing: 'Processing: %{number_of_codes_processed} / %{number_of_codes}'
|
2049
|
-
promotion_form:
|
2050
|
-
match_policies:
|
2051
|
-
all: Match all of these rules
|
2052
|
-
any: Match any of these rules
|
2053
|
-
promotion_rule: Promotion Rule
|
2054
|
-
promotion_successfully_created: Promotion has been successfully created!
|
2055
1988
|
promotion_total_changed_before_complete: One or more of the promotions on your order have become ineligible and were removed. Please check the new order amounts and try again.
|
2056
|
-
promotion_uses: Promotion uses
|
2057
|
-
promotionable: Promotable
|
2058
|
-
promotions: Promotions
|
2059
1989
|
propagate_all_variants: Propagate all variants
|
2060
1990
|
properties: Property Types
|
2061
1991
|
property: Property Type
|
@@ -2156,7 +2086,6 @@ en:
|
|
2156
2086
|
rma_number: RMA Number
|
2157
2087
|
rma_value: RMA Value
|
2158
2088
|
roles: Roles
|
2159
|
-
rules: Rules
|
2160
2089
|
sales_total: Sales Total
|
2161
2090
|
sales_total_description: Sales Total For All Orders
|
2162
2091
|
sales_totals: Sales Totals
|
@@ -2305,8 +2234,6 @@ en:
|
|
2305
2234
|
user_has_no_store_credits: User does not have any available store credit
|
2306
2235
|
store_credit_category:
|
2307
2236
|
default: Default
|
2308
|
-
store_rule:
|
2309
|
-
choose_stores: Choose Stores
|
2310
2237
|
street_address: Street Address
|
2311
2238
|
street_address_2: Street Address (cont'd)
|
2312
2239
|
subtotal: Subtotal
|
@@ -2329,12 +2256,6 @@ en:
|
|
2329
2256
|
taxon_attachment_removal_error: There was an error removing the attachment
|
2330
2257
|
taxon_edit: Edit Taxon
|
2331
2258
|
taxon_placeholder: Add a Taxon
|
2332
|
-
taxon_rule:
|
2333
|
-
choose_taxons: Choose taxons
|
2334
|
-
label: Order must contain %{select} of these taxons
|
2335
|
-
match_all: all
|
2336
|
-
match_any: at least one
|
2337
|
-
match_none: none
|
2338
2259
|
taxonomies: Taxonomies
|
2339
2260
|
taxonomy: Taxonomy
|
2340
2261
|
taxonomy_edit: Edit taxonomy
|
@@ -2399,13 +2320,6 @@ en:
|
|
2399
2320
|
use_new_cc: Use a new card
|
2400
2321
|
use_new_cc_or_payment_method: Use a new card / payment method
|
2401
2322
|
user: User
|
2402
|
-
user_role_rule:
|
2403
|
-
choose_roles: Choose Roles
|
2404
|
-
label: User must contain %{select} of these roles
|
2405
|
-
match_all: all
|
2406
|
-
match_any: at least one
|
2407
|
-
user_rule:
|
2408
|
-
choose_users: Choose Users
|
2409
2323
|
users: Users
|
2410
2324
|
validation:
|
2411
2325
|
cannot_be_less_than_shipped_units: cannot be less than the number of shipped units.
|
@@ -2427,7 +2341,6 @@ en:
|
|
2427
2341
|
variants: Variants
|
2428
2342
|
version: Version
|
2429
2343
|
view_product: View Product On Store
|
2430
|
-
view_promotion_codes_list: View codes list
|
2431
2344
|
void: Void
|
2432
2345
|
weight: Weight
|
2433
2346
|
what_is_a_cvv: What is a (CVV) Credit Card Code?
|
@@ -0,0 +1,10 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
Spree::PermissionSets::Base.subclasses.each do |permission|
|
4
|
+
Spree::PermissionSet.create!(
|
5
|
+
name: permission.name.demodulize,
|
6
|
+
set: permission.name,
|
7
|
+
privilege: permission.privilege,
|
8
|
+
category: permission.category
|
9
|
+
)
|
10
|
+
end
|
@@ -3,7 +3,9 @@
|
|
3
3
|
Spree::ReturnReason.find_or_create_by(name: 'Better price available')
|
4
4
|
Spree::ReturnReason.find_or_create_by(name: 'Missed estimated delivery date')
|
5
5
|
Spree::ReturnReason.find_or_create_by(name: 'Missing parts or accessories')
|
6
|
-
Spree::ReturnReason.find_or_create_by(name: 'Damaged
|
6
|
+
Spree::ReturnReason.find_or_create_by(name: 'Damaged during transport')
|
7
|
+
Spree::ReturnReason.find_or_create_by(name: 'Defective within warranty period')
|
8
|
+
Spree::ReturnReason.find_or_create_by(name: 'Other defects or damages')
|
7
9
|
Spree::ReturnReason.find_or_create_by(name: 'Different from what was ordered')
|
8
10
|
Spree::ReturnReason.find_or_create_by(name: 'Different from description')
|
9
11
|
Spree::ReturnReason.find_or_create_by(name: 'No longer needed/wanted')
|
data/db/default/spree/states.rb
CHANGED
@@ -85,19 +85,15 @@ class SolidusOneFour < ActiveRecord::Migration[5.0]
|
|
85
85
|
t.integer "adjustable_id", null: false
|
86
86
|
t.decimal "amount", precision: 10, scale: 2
|
87
87
|
t.string "label"
|
88
|
-
t.boolean "eligible", default: true
|
89
88
|
t.datetime "created_at", precision: 6
|
90
89
|
t.datetime "updated_at", precision: 6
|
91
90
|
t.integer "order_id", null: false
|
92
91
|
t.boolean "included", default: false
|
93
|
-
t.integer "promotion_code_id"
|
94
92
|
t.integer "adjustment_reason_id"
|
95
93
|
t.boolean "finalized", default: false, null: false
|
96
94
|
t.index ["adjustable_id", "adjustable_type"], name: "index_spree_adjustments_on_adjustable_id_and_adjustable_type"
|
97
95
|
t.index ["adjustable_id"], name: "index_adjustments_on_order_id"
|
98
|
-
t.index ["eligible"], name: "index_spree_adjustments_on_eligible"
|
99
96
|
t.index ["order_id"], name: "index_spree_adjustments_on_order_id"
|
100
|
-
t.index ["promotion_code_id"], name: "index_spree_adjustments_on_promotion_code_id"
|
101
97
|
t.index ["source_id", "source_type"], name: "index_spree_adjustments_on_source_id_and_source_type"
|
102
98
|
end
|
103
99
|
|
@@ -326,16 +322,6 @@ class SolidusOneFour < ActiveRecord::Migration[5.0]
|
|
326
322
|
t.index ["user_id"], name: "index_spree_orders_on_user_id"
|
327
323
|
end
|
328
324
|
|
329
|
-
create_table "spree_orders_promotions", force: :cascade do |t|
|
330
|
-
t.integer "order_id"
|
331
|
-
t.integer "promotion_id"
|
332
|
-
t.integer "promotion_code_id"
|
333
|
-
t.datetime "created_at", precision: 6
|
334
|
-
t.datetime "updated_at", precision: 6
|
335
|
-
t.index ["order_id", "promotion_id"], name: "index_spree_orders_promotions_on_order_id_and_promotion_id"
|
336
|
-
t.index ["promotion_code_id"], name: "index_spree_orders_promotions_on_promotion_code_id"
|
337
|
-
end
|
338
|
-
|
339
325
|
create_table "spree_payment_capture_events", force: :cascade do |t|
|
340
326
|
t.decimal "amount", precision: 10, scale: 2, default: "0.0"
|
341
327
|
t.integer "payment_id"
|
@@ -411,15 +397,6 @@ class SolidusOneFour < ActiveRecord::Migration[5.0]
|
|
411
397
|
t.index ["product_id"], name: "index_spree_product_option_types_on_product_id"
|
412
398
|
end
|
413
399
|
|
414
|
-
create_table "spree_product_promotion_rules", force: :cascade do |t|
|
415
|
-
t.integer "product_id"
|
416
|
-
t.integer "promotion_rule_id"
|
417
|
-
t.datetime "created_at", precision: 6
|
418
|
-
t.datetime "updated_at", precision: 6
|
419
|
-
t.index ["product_id"], name: "index_products_promotion_rules_on_product_id"
|
420
|
-
t.index ["promotion_rule_id"], name: "index_products_promotion_rules_on_promotion_rule_id"
|
421
|
-
end
|
422
|
-
|
423
400
|
create_table "spree_product_properties", force: :cascade do |t|
|
424
401
|
t.string "value"
|
425
402
|
t.integer "product_id"
|
@@ -463,100 +440,6 @@ class SolidusOneFour < ActiveRecord::Migration[5.0]
|
|
463
440
|
t.index ["taxon_id"], name: "index_spree_products_taxons_on_taxon_id"
|
464
441
|
end
|
465
442
|
|
466
|
-
create_table "spree_promotion_action_line_items", force: :cascade do |t|
|
467
|
-
t.integer "promotion_action_id"
|
468
|
-
t.integer "variant_id"
|
469
|
-
t.integer "quantity", default: 1
|
470
|
-
t.datetime "created_at", precision: 6
|
471
|
-
t.datetime "updated_at", precision: 6
|
472
|
-
t.index ["promotion_action_id"], name: "index_spree_promotion_action_line_items_on_promotion_action_id"
|
473
|
-
t.index ["variant_id"], name: "index_spree_promotion_action_line_items_on_variant_id"
|
474
|
-
end
|
475
|
-
|
476
|
-
create_table "spree_promotion_actions", force: :cascade do |t|
|
477
|
-
t.integer "promotion_id"
|
478
|
-
t.integer "position"
|
479
|
-
t.string "type"
|
480
|
-
t.datetime "deleted_at"
|
481
|
-
t.text "preferences"
|
482
|
-
t.datetime "created_at", precision: 6
|
483
|
-
t.datetime "updated_at", precision: 6
|
484
|
-
t.index ["deleted_at"], name: "index_spree_promotion_actions_on_deleted_at"
|
485
|
-
t.index ["id", "type"], name: "index_spree_promotion_actions_on_id_and_type"
|
486
|
-
t.index ["promotion_id"], name: "index_spree_promotion_actions_on_promotion_id"
|
487
|
-
end
|
488
|
-
|
489
|
-
create_table "spree_promotion_categories", force: :cascade do |t|
|
490
|
-
t.string "name"
|
491
|
-
t.datetime "created_at", precision: 6
|
492
|
-
t.datetime "updated_at", precision: 6
|
493
|
-
t.string "code"
|
494
|
-
end
|
495
|
-
|
496
|
-
create_table "spree_promotion_codes", force: :cascade do |t|
|
497
|
-
t.integer "promotion_id", null: false
|
498
|
-
t.string "value", null: false
|
499
|
-
t.datetime "created_at", precision: 6
|
500
|
-
t.datetime "updated_at", precision: 6
|
501
|
-
t.index ["promotion_id"], name: "index_spree_promotion_codes_on_promotion_id"
|
502
|
-
t.index ["value"], name: "index_spree_promotion_codes_on_value", unique: true
|
503
|
-
end
|
504
|
-
|
505
|
-
create_table "spree_promotion_rule_taxons", force: :cascade do |t|
|
506
|
-
t.integer "taxon_id"
|
507
|
-
t.integer "promotion_rule_id"
|
508
|
-
t.datetime "created_at", precision: 6
|
509
|
-
t.datetime "updated_at", precision: 6
|
510
|
-
t.index ["promotion_rule_id"], name: "index_spree_promotion_rule_taxons_on_promotion_rule_id"
|
511
|
-
t.index ["taxon_id"], name: "index_spree_promotion_rule_taxons_on_taxon_id"
|
512
|
-
end
|
513
|
-
|
514
|
-
create_table "spree_promotion_rules", force: :cascade do |t|
|
515
|
-
t.integer "promotion_id"
|
516
|
-
t.integer "product_group_id"
|
517
|
-
t.string "type"
|
518
|
-
t.datetime "created_at", precision: 6
|
519
|
-
t.datetime "updated_at", precision: 6
|
520
|
-
t.string "code"
|
521
|
-
t.text "preferences"
|
522
|
-
t.index ["product_group_id"], name: "index_promotion_rules_on_product_group_id"
|
523
|
-
t.index ["promotion_id"], name: "index_spree_promotion_rules_on_promotion_id"
|
524
|
-
end
|
525
|
-
|
526
|
-
create_table "spree_promotion_rules_users", force: :cascade do |t|
|
527
|
-
t.integer "user_id"
|
528
|
-
t.integer "promotion_rule_id"
|
529
|
-
t.datetime "created_at", precision: 6
|
530
|
-
t.datetime "updated_at", precision: 6
|
531
|
-
t.index ["promotion_rule_id"], name: "index_promotion_rules_users_on_promotion_rule_id"
|
532
|
-
t.index ["user_id"], name: "index_promotion_rules_users_on_user_id"
|
533
|
-
end
|
534
|
-
|
535
|
-
create_table "spree_promotions", force: :cascade do |t|
|
536
|
-
t.string "description"
|
537
|
-
t.datetime "expires_at"
|
538
|
-
t.datetime "starts_at"
|
539
|
-
t.string "name"
|
540
|
-
t.string "type"
|
541
|
-
t.integer "usage_limit"
|
542
|
-
t.string "match_policy", default: "all"
|
543
|
-
t.string "code"
|
544
|
-
t.boolean "advertise", default: false
|
545
|
-
t.string "path"
|
546
|
-
t.datetime "created_at", precision: 6
|
547
|
-
t.datetime "updated_at", precision: 6
|
548
|
-
t.integer "promotion_category_id"
|
549
|
-
t.integer "per_code_usage_limit"
|
550
|
-
t.boolean "apply_automatically", default: false
|
551
|
-
t.index ["advertise"], name: "index_spree_promotions_on_advertise"
|
552
|
-
t.index ["apply_automatically"], name: "index_spree_promotions_on_apply_automatically"
|
553
|
-
t.index ["code"], name: "index_spree_promotions_on_code"
|
554
|
-
t.index ["expires_at"], name: "index_spree_promotions_on_expires_at"
|
555
|
-
t.index ["id", "type"], name: "index_spree_promotions_on_id_and_type"
|
556
|
-
t.index ["promotion_category_id"], name: "index_spree_promotions_on_promotion_category_id"
|
557
|
-
t.index ["starts_at"], name: "index_spree_promotions_on_starts_at"
|
558
|
-
end
|
559
|
-
|
560
443
|
create_table "spree_properties", force: :cascade do |t|
|
561
444
|
t.string "name"
|
562
445
|
t.string "presentation", null: false
|
data/db/seeds.rb
CHANGED
@@ -1 +1 @@
|
|
1
|
-
apply 'https://github.com/solidusio/solidus_starter_frontend/raw/v4.
|
1
|
+
apply 'https://github.com/solidusio/solidus_starter_frontend/raw/v4.4/template.rb'
|
@@ -110,7 +110,7 @@ module Solidus
|
|
110
110
|
end
|
111
111
|
|
112
112
|
def changes_template_for(klass, from, to)
|
113
|
-
changes = Spree::Preferences::PreferenceDifferentiator.new(klass).call(from
|
113
|
+
changes = Spree::Preferences::PreferenceDifferentiator.new(klass).call(from:, to:)
|
114
114
|
return '# No changes' if changes.empty?
|
115
115
|
|
116
116
|
[
|
@@ -18,7 +18,12 @@ Dummy::Application.configure do
|
|
18
18
|
config.eager_load = false
|
19
19
|
|
20
20
|
# Raise exceptions instead of rendering exception templates
|
21
|
-
|
21
|
+
if Rails.gem_version >= Gem::Version.new('7.1')
|
22
|
+
config.action_controller.raise_on_missing_callback_actions = true
|
23
|
+
config.action_dispatch.show_exceptions = :none
|
24
|
+
else
|
25
|
+
config.action_dispatch.show_exceptions = false
|
26
|
+
end
|
22
27
|
|
23
28
|
# Disable request forgery protection in test environment
|
24
29
|
config.action_controller.allow_forgery_protection = false
|