solidus_core 4.3.5 → 4.4.0
Sign up to get free protection for your applications and to get access to all the features.
- 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 +9 -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 -90
- 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 -6
- 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 +17 -12
- 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/tasks/colorado_delivery_fee.rake +2 -2
- data/solidus_core.gemspec +6 -6
- metadata +60 -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
|
@@ -1610,7 +1577,6 @@ en:
|
|
1610
1577
|
general: General
|
1611
1578
|
google_analytics: Google Analytics
|
1612
1579
|
google_analytics_id: Analytics ID
|
1613
|
-
group_size: Group size
|
1614
1580
|
guest_checkout: Guest Checkout
|
1615
1581
|
guest_user_account: Checkout as a Guest
|
1616
1582
|
has_no_shipped_units: has no shipped units
|
@@ -1623,7 +1589,6 @@ en:
|
|
1623
1589
|
hide_out_of_stock: Hide out of stock
|
1624
1590
|
hints:
|
1625
1591
|
spree/calculator:
|
1626
|
-
promotions: This is used to determine the promotional discount to be applied to an order, an item, or shipping charges.
|
1627
1592
|
shipping_methods: This is used to calculate the shipping rates on a per order or per package rate.
|
1628
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.
|
1629
1594
|
spree/price:
|
@@ -1636,10 +1601,6 @@ en:
|
|
1636
1601
|
promotionable: 'This determines whether or not promotions can apply to this product.<br>Default: Checked'
|
1637
1602
|
shipping_category: 'This determines what kind of shipping this product requires.<br> Default: Default'
|
1638
1603
|
tax_category: 'This determines what kind of taxation is applied to this product.<br> Default: %{default_tax_category}'
|
1639
|
-
spree/promotion:
|
1640
|
-
expires_at: This determines when the promotion expires. <br> If no value is specified, the promotion will never expire.
|
1641
|
-
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.
|
1642
|
-
starts_at: This determines when the promotion can be applied to orders. <br> If no value is specified, the promotion will be immediately available.
|
1643
1604
|
spree/shipping_method:
|
1644
1605
|
available_to_all: Uncheck to select specific stock locations this shipping method will be available in.
|
1645
1606
|
spree/stock_location:
|
@@ -1702,8 +1663,6 @@ en:
|
|
1702
1663
|
intercept_email_instructions: Override email recipient and replace with this address.
|
1703
1664
|
invalid_exchange_variant: Invalid exchange variant.
|
1704
1665
|
invalid_payment_method_type: Invalid payment method type.
|
1705
|
-
invalid_promotion_action: Invalid promotion action.
|
1706
|
-
invalid_promotion_rule: Invalid promotion rule.
|
1707
1666
|
invalidate: Invalidate
|
1708
1667
|
inventory: Inventory
|
1709
1668
|
inventory_adjustment: Inventory Adjustment
|
@@ -1770,7 +1729,6 @@ en:
|
|
1770
1729
|
look_for_similar_items: Look for similar items
|
1771
1730
|
make_refund: Make refund
|
1772
1731
|
make_sure_the_above_reimbursement_amount_is_correct: Make sure the above reimbursement amount is correct
|
1773
|
-
manage_promotion_categories: Manage Promotion Categories
|
1774
1732
|
manage_stock: Store Stock
|
1775
1733
|
manage_variants: Manage Variants
|
1776
1734
|
manual_intervention_required: Manual intervention required
|
@@ -1816,9 +1774,6 @@ en:
|
|
1816
1774
|
new_payment: New Payment
|
1817
1775
|
new_payment_method: New Payment Method
|
1818
1776
|
new_product: New Product
|
1819
|
-
new_promotion: New Promotion
|
1820
|
-
new_promotion_category: New Promotion Category
|
1821
|
-
new_promotion_code_batch: New Promotion Code Batch
|
1822
1777
|
new_property: New Property Type
|
1823
1778
|
new_refund: New Refund
|
1824
1779
|
new_refund_reason: New Refund Reason
|
@@ -1842,7 +1797,6 @@ en:
|
|
1842
1797
|
new_variant: New Variant
|
1843
1798
|
new_zone: New Zone
|
1844
1799
|
next: Next
|
1845
|
-
no_actions_added: No actions added
|
1846
1800
|
no_images_found: No images found
|
1847
1801
|
no_inventory_selected: No inventory selected
|
1848
1802
|
no_option_values_on_product_html: This product has no associated option values. Add some to it through Option Types in the %{link}.
|
@@ -1851,13 +1805,11 @@ en:
|
|
1851
1805
|
no_payment_methods_found: No payment methods found
|
1852
1806
|
no_pending_payments: No pending payments
|
1853
1807
|
no_products_found: No products found
|
1854
|
-
no_promotions_found: No promotions found
|
1855
1808
|
no_resource: No %{resource} found.
|
1856
1809
|
no_resource_found: No %{resource} found
|
1857
1810
|
no_resource_found_html: No %{resource} found, %{add_one_link}!
|
1858
1811
|
no_resource_found_link: Add One
|
1859
1812
|
no_results: No results
|
1860
|
-
no_rules_added: No rules added
|
1861
1813
|
no_shipping_method_selected: No shipping method selected.
|
1862
1814
|
no_shipping_methods_found: No shipping methods found
|
1863
1815
|
no_stock_locations_found: No stock locations found
|
@@ -1881,6 +1833,8 @@ en:
|
|
1881
1833
|
product_not_deleted: Product could not be deleted
|
1882
1834
|
variant_deleted: Variant has been deleted
|
1883
1835
|
variant_not_deleted: Variant could not be deleted
|
1836
|
+
null_promotion_handler:
|
1837
|
+
coupon_code_applied: Coupon code has been applied.
|
1884
1838
|
num_orders: "# Orders"
|
1885
1839
|
number: Number
|
1886
1840
|
number_of_codes: "%{count} codes"
|
@@ -1901,6 +1855,7 @@ en:
|
|
1901
1855
|
order_approved: Order approved
|
1902
1856
|
order_canceled: Order canceled
|
1903
1857
|
order_completed: Order completed
|
1858
|
+
order_count: Order Count
|
1904
1859
|
order_details: Order Details
|
1905
1860
|
order_email_resent: Order Email Resent
|
1906
1861
|
order_information: Order Information
|
@@ -2019,21 +1974,10 @@ en:
|
|
2019
1974
|
product_has_no_description: This product has no description
|
2020
1975
|
product_not_available_in_this_currency: This product is not available in the selected currency.
|
2021
1976
|
product_properties: Product Properties
|
2022
|
-
product_rule:
|
2023
|
-
choose_products: Choose products
|
2024
|
-
label: Order must contain %{select} of these products
|
2025
|
-
match_all: all
|
2026
|
-
match_any: at least one
|
2027
|
-
match_none: none
|
2028
|
-
product_source:
|
2029
|
-
group: From product group
|
2030
|
-
manual: Manually choose
|
2031
1977
|
product_without_default_price_cta: Please, create a Master Price!
|
2032
1978
|
product_without_default_price_info: This Product has no price in the default currency (%{default_currency}).
|
2033
1979
|
products: Products
|
2034
1980
|
promotion: Promotion
|
2035
|
-
promotion_action: Promotion Action
|
2036
|
-
promotion_actions: Actions
|
2037
1981
|
promotion_code_batch_mailer:
|
2038
1982
|
promotion_code_batch_errored:
|
2039
1983
|
message: 'Promotion code batch errored (%{error}) for promotion: '
|
@@ -2041,20 +1985,7 @@ en:
|
|
2041
1985
|
promotion_code_batch_finished:
|
2042
1986
|
message: 'All %{number_of_codes} codes have been created for promotion: '
|
2043
1987
|
subject: Promotion code batch finished
|
2044
|
-
promotion_code_batches:
|
2045
|
-
errored: 'Errored: %{error}'
|
2046
|
-
finished: All %{number_of_codes} codes have been created.
|
2047
|
-
processing: 'Processing: %{number_of_codes_processed} / %{number_of_codes}'
|
2048
|
-
promotion_form:
|
2049
|
-
match_policies:
|
2050
|
-
all: Match all of these rules
|
2051
|
-
any: Match any of these rules
|
2052
|
-
promotion_rule: Promotion Rule
|
2053
|
-
promotion_successfully_created: Promotion has been successfully created!
|
2054
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.
|
2055
|
-
promotion_uses: Promotion uses
|
2056
|
-
promotionable: Promotable
|
2057
|
-
promotions: Promotions
|
2058
1989
|
propagate_all_variants: Propagate all variants
|
2059
1990
|
properties: Property Types
|
2060
1991
|
property: Property Type
|
@@ -2155,7 +2086,6 @@ en:
|
|
2155
2086
|
rma_number: RMA Number
|
2156
2087
|
rma_value: RMA Value
|
2157
2088
|
roles: Roles
|
2158
|
-
rules: Rules
|
2159
2089
|
sales_total: Sales Total
|
2160
2090
|
sales_total_description: Sales Total For All Orders
|
2161
2091
|
sales_totals: Sales Totals
|
@@ -2304,8 +2234,6 @@ en:
|
|
2304
2234
|
user_has_no_store_credits: User does not have any available store credit
|
2305
2235
|
store_credit_category:
|
2306
2236
|
default: Default
|
2307
|
-
store_rule:
|
2308
|
-
choose_stores: Choose Stores
|
2309
2237
|
street_address: Street Address
|
2310
2238
|
street_address_2: Street Address (cont'd)
|
2311
2239
|
subtotal: Subtotal
|
@@ -2328,12 +2256,6 @@ en:
|
|
2328
2256
|
taxon_attachment_removal_error: There was an error removing the attachment
|
2329
2257
|
taxon_edit: Edit Taxon
|
2330
2258
|
taxon_placeholder: Add a Taxon
|
2331
|
-
taxon_rule:
|
2332
|
-
choose_taxons: Choose taxons
|
2333
|
-
label: Order must contain %{select} of these taxons
|
2334
|
-
match_all: all
|
2335
|
-
match_any: at least one
|
2336
|
-
match_none: none
|
2337
2259
|
taxonomies: Taxonomies
|
2338
2260
|
taxonomy: Taxonomy
|
2339
2261
|
taxonomy_edit: Edit taxonomy
|
@@ -2398,13 +2320,6 @@ en:
|
|
2398
2320
|
use_new_cc: Use a new card
|
2399
2321
|
use_new_cc_or_payment_method: Use a new card / payment method
|
2400
2322
|
user: User
|
2401
|
-
user_role_rule:
|
2402
|
-
choose_roles: Choose Roles
|
2403
|
-
label: User must contain %{select} of these roles
|
2404
|
-
match_all: all
|
2405
|
-
match_any: at least one
|
2406
|
-
user_rule:
|
2407
|
-
choose_users: Choose Users
|
2408
2323
|
users: Users
|
2409
2324
|
validation:
|
2410
2325
|
cannot_be_less_than_shipped_units: cannot be less than the number of shipped units.
|
@@ -2426,7 +2341,6 @@ en:
|
|
2426
2341
|
variants: Variants
|
2427
2342
|
version: Version
|
2428
2343
|
view_product: View Product On Store
|
2429
|
-
view_promotion_codes_list: View codes list
|
2430
2344
|
void: Void
|
2431
2345
|
weight: Weight
|
2432
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
|