solidus_core 3.0.0 → 4.5.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/README.md +1 -2
- data/Rakefile +7 -2
- data/app/assets/images/logo/solidus.svg +18 -1
- data/app/assets/images/logo/solidus_logo.png +0 -0
- data/app/controllers/spree/base_controller.rb +1 -3
- data/app/helpers/spree/base_helper.rb +3 -3
- data/app/helpers/spree/core/controller_helpers/auth.rb +66 -0
- data/app/helpers/spree/core/controller_helpers/common.rb +82 -0
- data/app/helpers/spree/core/controller_helpers/order.rb +86 -0
- data/app/helpers/spree/core/controller_helpers/payment_parameters.rb +165 -0
- data/{lib/spree/core/controller_helpers/current_host.rb → app/helpers/spree/core/controller_helpers/pricing.rb} +6 -4
- data/app/helpers/spree/core/controller_helpers/search.rb +16 -0
- data/app/helpers/spree/core/controller_helpers/store.rb +19 -0
- data/app/helpers/spree/core/controller_helpers/strong_parameters.rb +74 -0
- data/app/helpers/spree/products_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/attachment.rb +30 -11
- data/app/models/concerns/spree/active_storage_adapter/normalization.rb +1 -1
- data/app/models/concerns/spree/active_storage_adapter.rb +1 -18
- data/app/models/concerns/spree/default_price.rb +30 -10
- data/app/models/concerns/spree/display_money.rb +1 -1
- data/app/models/concerns/spree/metadata.rb +64 -0
- data/app/models/concerns/spree/named_type.rb +2 -0
- data/app/models/concerns/spree/ordered_property_value_list.rb +2 -2
- data/app/models/concerns/spree/ransackable_attributes.rb +9 -5
- data/app/models/concerns/spree/user_address_book.rb +19 -10
- data/app/models/concerns/spree/user_methods.rb +40 -6
- data/app/models/spree/address.rb +11 -9
- data/app/models/spree/adjustment.rb +15 -76
- data/app/models/spree/adjustment_reason.rb +2 -0
- data/app/models/spree/calculator/flat_fee.rb +21 -0
- data/app/models/spree/calculator/returns/default_refund_amount.rb +1 -1
- data/app/models/spree/carton.rb +3 -3
- data/app/models/spree/core/state_machines/inventory_unit.rb +42 -0
- data/app/models/spree/core/state_machines/order/class_methods.rb +217 -0
- data/app/models/spree/core/state_machines/order.rb +42 -0
- data/app/models/spree/core/state_machines/payment.rb +61 -0
- data/app/models/spree/core/state_machines/reimbursement.rb +33 -0
- data/app/models/spree/core/state_machines/return_authorization.rb +32 -0
- data/app/models/spree/core/state_machines/return_item/acceptance_status.rb +51 -0
- data/app/models/spree/core/state_machines/return_item/reception_status.rb +42 -0
- data/app/models/spree/core/state_machines/shipment.rb +58 -0
- data/app/models/spree/country.rb +1 -1
- data/app/models/spree/credit_card.rb +13 -10
- data/app/models/spree/customer_return.rb +6 -3
- data/app/models/spree/deprecated_configurable_class.rb +40 -0
- data/app/models/spree/fulfilment_changer.rb +56 -29
- data/app/models/spree/image/active_storage_attachment.rb +2 -7
- data/app/models/spree/image/paperclip_attachment.rb +2 -2
- data/app/models/spree/inventory_unit.rb +2 -2
- data/app/models/spree/item_total.rb +28 -0
- data/app/models/spree/legacy_user.rb +1 -0
- data/app/models/spree/line_item.rb +26 -8
- data/app/models/spree/log_entry.rb +98 -1
- data/app/models/spree/money.rb +120 -0
- 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/option_type.rb +1 -1
- data/app/models/spree/option_value.rb +4 -3
- data/app/models/spree/order/number_generator.rb +7 -1
- data/app/models/spree/order.rb +143 -96
- data/app/models/spree/order_cancellations.rb +8 -8
- data/app/models/spree/order_inventory.rb +7 -5
- data/app/models/spree/order_merger.rb +5 -7
- data/app/models/spree/order_mutex.rb +2 -2
- data/app/models/spree/order_shipping.rb +15 -19
- data/app/models/spree/order_taxation.rb +7 -4
- data/app/models/spree/order_update_attributes.rb +3 -1
- data/app/models/spree/order_updater.rb +25 -63
- data/app/models/spree/payment/processing.rb +60 -57
- data/app/models/spree/payment.rb +14 -27
- data/app/models/spree/payment_create.rb +1 -1
- data/app/models/spree/payment_method/bogus_credit_card.rb +18 -14
- data/app/models/spree/payment_method/credit_card.rb +0 -4
- data/app/models/spree/payment_method/simple_bogus_credit_card.rb +18 -4
- data/app/models/spree/payment_method/store_credit.rb +1 -1
- data/app/models/spree/payment_method.rb +29 -10
- data/app/models/spree/payment_source.rb +5 -1
- data/app/models/spree/permission_set.rb +11 -0
- data/app/models/spree/permission_sets/base.rb +45 -0
- data/app/models/spree/permission_sets/configuration_display.rb +53 -0
- data/app/models/spree/permission_sets/configuration_management.rb +52 -0
- data/app/models/spree/permission_sets/dashboard_display.rb +28 -0
- data/app/models/spree/permission_sets/default_customer.rb +83 -0
- data/app/models/spree/permission_sets/order_display.rb +50 -0
- data/app/models/spree/permission_sets/order_management.rb +50 -0
- data/app/models/spree/permission_sets/product_display.rb +43 -0
- data/app/models/spree/permission_sets/product_management.rb +47 -0
- data/app/models/spree/permission_sets/restricted_stock_display.rb +33 -0
- data/app/models/spree/permission_sets/restricted_stock_management.rb +33 -0
- data/app/models/spree/permission_sets/stock_display.rb +26 -0
- data/app/models/spree/permission_sets/stock_management.rb +26 -0
- data/app/models/spree/permission_sets/super_user.rb +26 -0
- data/app/models/spree/permission_sets/user_display.rb +27 -0
- data/app/models/spree/permission_sets/user_management.rb +44 -0
- data/app/models/spree/preference.rb +1 -1
- data/app/models/spree/price.rb +3 -3
- data/app/models/spree/product/scopes.rb +23 -10
- data/app/models/spree/product.rb +30 -23
- data/app/models/spree/product_property.rb +1 -1
- data/app/models/spree/property.rb +1 -1
- data/app/models/spree/refund.rb +13 -3
- data/app/models/spree/refund_reason.rb +6 -1
- data/app/models/spree/reimbursement.rb +6 -6
- data/app/models/spree/reimbursement_performer.rb +3 -3
- data/app/models/spree/reimbursement_tax_calculator.rb +3 -3
- 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/reimbursement_type.rb +6 -1
- data/app/models/spree/return_authorization.rb +3 -1
- data/app/models/spree/return_item.rb +13 -15
- data/app/models/spree/return_reason.rb +6 -1
- data/app/models/spree/role.rb +3 -1
- data/app/models/spree/role_permission.rb +8 -0
- data/app/models/spree/shipment.rb +12 -10
- data/app/models/spree/shipping_category.rb +2 -0
- data/app/models/spree/shipping_rate.rb +2 -3
- data/app/models/spree/shipping_rate_tax.rb +1 -1
- data/app/models/spree/{order_contents.rb → simple_order_contents.rb} +10 -13
- data/app/models/spree/state.rb +1 -1
- data/app/models/spree/stock/allocator/on_hand_first.rb +2 -2
- data/app/models/spree/stock/availability.rb +11 -3
- 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/quantifier.rb +12 -8
- data/app/models/spree/stock/simple_coordinator.rb +38 -28
- data/app/models/spree/stock/splitter/shipping_category.rb +1 -1
- data/app/models/spree/stock_item.rb +2 -1
- data/app/models/spree/stock_location.rb +7 -7
- data/app/models/spree/stock_movement.rb +2 -2
- data/app/models/spree/store.rb +3 -1
- data/app/models/spree/store_credit.rb +31 -16
- data/app/models/spree/store_credit_event.rb +4 -3
- data/app/models/spree/store_credit_prioritizer.rb +17 -0
- data/app/models/spree/store_credit_reason.rb +6 -1
- data/app/models/spree/store_selector/by_server_name.rb +1 -1
- data/app/models/spree/tax/item_tax.rb +3 -2
- data/app/models/spree/tax/order_tax.rb +3 -1
- data/app/models/spree/tax/tax_helpers.rb +14 -3
- data/app/models/spree/tax/tax_location.rb +4 -7
- data/app/models/spree/tax_calculator/default.rb +32 -1
- data/app/models/spree/tax_calculator/shipping_rate.rb +2 -2
- data/app/models/spree/tax_category.rb +3 -1
- data/app/models/spree/tax_rate.rb +14 -1
- data/app/models/spree/taxon/active_storage_attachment.rb +2 -2
- data/app/models/spree/taxon/paperclip_attachment.rb +4 -4
- data/app/models/spree/taxon.rb +25 -3
- data/app/models/spree/taxon_brand_selector.rb +22 -0
- data/app/models/spree/taxonomy.rb +4 -3
- data/app/models/spree/unauthorized_redirect_handler.rb +24 -0
- data/app/models/spree/unit_cancel.rb +1 -2
- data/app/models/spree/user_address.rb +9 -3
- data/app/models/spree/user_last_url_storer/rules/authentication_rule.rb +1 -1
- data/app/models/spree/variant/price_selector.rb +25 -8
- data/app/models/spree/variant/scopes.rb +4 -0
- data/app/models/spree/variant/vat_price_generator.rb +1 -1
- data/app/models/spree/variant.rb +64 -37
- data/app/models/spree/wallet/add_payment_sources_to_wallet.rb +4 -4
- data/app/models/spree/wallet.rb +2 -2
- data/app/models/spree/zone.rb +1 -1
- data/app/subscribers/spree/order_mailer_subscriber.rb +35 -0
- data/app/views/layouts/spree/base_mailer.html.erb +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/app/views/spree/order_mailer/inventory_cancellation_email.html.erb +0 -1
- data/config/i18n-tasks.yml +134 -0
- data/config/locales/en.yml +439 -338
- data/db/default/spree/permission_sets.rb +10 -0
- data/db/default/spree/return_reasons.rb +3 -1
- data/db/default/spree/states.rb +2 -2
- data/db/migrate/20160101010000_solidus_one_four.rb +0 -127
- data/db/migrate/20180710170104_create_spree_store_credit_reasons_table.rb +2 -2
- data/db/migrate/20201127212108_add_type_before_removal_to_spree_payment_methods.rb +7 -0
- data/db/migrate/20210312061050_change_column_null_on_prices.rb +7 -0
- data/db/migrate/20210815004823_add_unique_index_to_option_values_variants.rb +16 -0
- data/db/migrate/20220419170826_remove_archived_user_addresses.rb +12 -0
- data/db/migrate/20220805202442_add_level_to_spree_tax_rates.rb +5 -0
- data/db/migrate/20221123152807_add_shipping_category_to_spree_variants.rb +5 -0
- data/db/migrate/20230321161854_change_column_null_option_values_option_type_id.rb +5 -0
- data/db/migrate/20230425103509_remove_taxon_position.rb +5 -0
- data/db/migrate/20230427095534_drop_deprecated_address_id_from_shipments.rb +11 -0
- 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/migrate/20250129061658_add_metadata_to_spree_resources.rb +28 -0
- data/db/migrate/20250201172950_add_gtin_and_condition_to_spree_variant.rb +6 -0
- data/db/migrate/20250207104016_add_primary_taxon_to_products.rb +7 -0
- data/db/migrate/20250221152004_add_metadata_to_users.rb +13 -0
- data/db/seeds.rb +5 -1
- data/lib/generators/solidus/install/app_templates/authentication/custom.rb +16 -0
- data/lib/generators/solidus/install/app_templates/authentication/devise.rb +16 -0
- data/lib/generators/solidus/install/app_templates/authentication/existing.rb +10 -0
- data/lib/generators/solidus/install/app_templates/authentication/none.rb +1 -0
- data/lib/generators/solidus/install/app_templates/frontend/none.rb +1 -0
- data/lib/generators/solidus/install/app_templates/frontend/starter.rb +1 -0
- data/lib/generators/solidus/install/app_templates/payment_method/braintree.rb +5 -0
- data/lib/generators/solidus/install/app_templates/payment_method/none.rb +1 -0
- data/lib/generators/solidus/install/app_templates/payment_method/paypal.rb +5 -0
- data/lib/generators/solidus/install/app_templates/payment_method/stripe.rb +5 -0
- data/lib/generators/solidus/install/install_generator.rb +210 -156
- data/lib/generators/solidus/install/templates/config/initializers/spree.rb.tt +27 -33
- data/lib/generators/solidus/install/templates/vendor/assets/javascripts/spree/backend/all.js +2 -2
- data/lib/generators/solidus/update/templates/config/initializers/new_solidus_defaults.rb.tt +30 -0
- data/lib/generators/solidus/update/update_generator.rb +124 -0
- data/lib/generators/spree/custom_user/custom_user_generator.rb +6 -4
- data/lib/generators/spree/custom_user/templates/authentication_helpers.rb.tt +2 -6
- data/lib/generators/spree/custom_user/templates/migration.rb.tt +7 -3
- data/lib/generators/spree/dummy/dummy_generator.rb +12 -9
- data/lib/generators/spree/dummy/templates/rails/application.rb.tt +1 -2
- data/lib/generators/spree/dummy/templates/rails/database.yml +48 -63
- data/lib/generators/spree/dummy/templates/rails/manifest.js +3 -0
- data/lib/generators/spree/dummy/templates/rails/test.rb +7 -2
- data/lib/spree/app_configuration.rb +220 -71
- data/lib/spree/bus.rb +11 -0
- data/lib/spree/core/class_constantizer.rb +2 -2
- data/lib/spree/core/controller_helpers/auth.rb +5 -69
- data/lib/spree/core/controller_helpers/common.rb +5 -80
- data/lib/spree/core/controller_helpers/order.rb +5 -86
- data/lib/spree/core/controller_helpers/payment_parameters.rb +5 -165
- data/lib/spree/core/controller_helpers/pricing.rb +5 -17
- data/lib/spree/core/controller_helpers/search.rb +5 -14
- data/lib/spree/core/controller_helpers/store.rb +5 -17
- data/lib/spree/core/controller_helpers/strong_parameters.rb +5 -71
- data/lib/spree/core/engine.rb +49 -16
- 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 +6 -6
- 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_duplicator.rb +1 -1
- data/lib/spree/core/product_filters.rb +2 -2
- data/lib/spree/core/search/base.rb +18 -9
- data/lib/spree/core/search/variant.rb +2 -2
- data/lib/spree/core/state_machines/inventory_unit.rb +5 -40
- data/lib/spree/core/state_machines/order.rb +5 -247
- data/lib/spree/core/state_machines/payment.rb +5 -59
- data/lib/spree/core/state_machines/reimbursement.rb +5 -31
- data/lib/spree/core/state_machines/return_authorization.rb +5 -30
- data/lib/spree/core/state_machines/return_item/acceptance_status.rb +5 -49
- data/lib/spree/core/state_machines/return_item/reception_status.rb +5 -40
- data/lib/spree/core/state_machines/shipment.rb +5 -56
- data/lib/spree/core/state_machines.rb +48 -81
- data/lib/spree/core/stock_configuration.rb +18 -0
- data/lib/spree/core/validators/email.rb +2 -4
- data/lib/spree/core/version.rb +5 -1
- data/lib/spree/core/versioned_value.rb +75 -0
- data/lib/spree/core.rb +40 -16
- data/lib/spree/deprecated_instance_variable_proxy.rb +57 -0
- data/lib/spree/deprecation.rb +3 -51
- 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/migration_helpers.rb +3 -3
- data/lib/spree/migrations.rb +13 -11
- data/lib/spree/money.rb +5 -118
- data/lib/spree/permission_sets/base.rb +5 -30
- data/lib/spree/permission_sets/configuration_display.rb +5 -23
- data/lib/spree/permission_sets/configuration_management.rb +5 -23
- data/lib/spree/permission_sets/dashboard_display.rb +5 -9
- data/lib/spree/permission_sets/default_customer.rb +5 -35
- data/lib/spree/permission_sets/order_display.rb +5 -19
- data/lib/spree/permission_sets/order_management.rb +5 -20
- data/lib/spree/permission_sets/product_display.rb +5 -17
- data/lib/spree/permission_sets/product_management.rb +5 -19
- data/lib/spree/permission_sets/restricted_stock_display.rb +5 -16
- data/lib/spree/permission_sets/restricted_stock_management.rb +5 -16
- data/lib/spree/permission_sets/stock_display.rb +5 -10
- data/lib/spree/permission_sets/stock_management.rb +5 -10
- data/lib/spree/permission_sets/super_user.rb +5 -9
- data/lib/spree/permission_sets/user_display.rb +5 -11
- data/lib/spree/permission_sets/user_management.rb +5 -23
- data/lib/spree/permission_sets.rb +5 -18
- data/lib/spree/permitted_attributes.rb +35 -14
- data/lib/spree/preferences/configuration.rb +88 -0
- data/lib/spree/preferences/persistable.rb +7 -1
- data/lib/spree/preferences/preferable.rb +13 -0
- data/lib/spree/preferences/preferable_class_methods.rb +12 -4
- data/lib/spree/preferences/preference_differentiator.rb +29 -0
- data/lib/spree/preferences/static_model_preferences.rb +25 -10
- data/lib/spree/preferences/store.rb +2 -2
- data/lib/spree/testing_support/blacklist_urls.rb +1 -1
- data/lib/spree/testing_support/bus_helpers.rb +101 -0
- data/lib/spree/testing_support/capybara_ext.rb +11 -1
- data/lib/spree/testing_support/common_rake.rb +76 -23
- data/lib/spree/testing_support/dummy_ability.rb +7 -0
- data/lib/spree/testing_support/dummy_app/assets/javascripts/spree/backend/all.js +1 -1
- data/lib/spree/testing_support/dummy_app/assets/stylesheets/solidus_admin/tailwind.css +1 -0
- data/lib/spree/testing_support/dummy_app/database.yml +39 -28
- data/lib/spree/testing_support/dummy_app/migrations.rb +8 -15
- data/lib/spree/testing_support/dummy_app/rake_tasks.rb +3 -10
- data/lib/spree/testing_support/dummy_app.rb +71 -42
- data/lib/spree/testing_support/extension_rake.rb +2 -2
- data/lib/spree/testing_support/factories/address_factory.rb +9 -13
- data/lib/spree/testing_support/factories/adjustment_factory.rb +1 -13
- data/lib/spree/testing_support/factories/adjustment_reason_factory.rb +0 -5
- data/lib/spree/testing_support/factories/calculator_factory.rb +4 -10
- data/lib/spree/testing_support/factories/carton_factory.rb +2 -10
- data/lib/spree/testing_support/factories/country_factory.rb +1 -7
- data/lib/spree/testing_support/factories/credit_card_factory.rb +0 -5
- data/lib/spree/testing_support/factories/customer_return_factory.rb +2 -11
- data/lib/spree/testing_support/factories/image_factory.rb +0 -5
- data/lib/spree/testing_support/factories/inventory_unit_factory.rb +4 -14
- data/lib/spree/testing_support/factories/line_item_factory.rb +0 -8
- data/lib/spree/testing_support/factories/option_type_factory.rb +0 -8
- data/lib/spree/testing_support/factories/option_value_factory.rb +0 -5
- data/lib/spree/testing_support/factories/order_factory.rb +19 -38
- data/lib/spree/testing_support/factories/payment_factory.rb +0 -10
- data/lib/spree/testing_support/factories/payment_method_factory.rb +0 -5
- data/lib/spree/testing_support/factories/price_factory.rb +0 -7
- data/lib/spree/testing_support/factories/product_factory.rb +5 -13
- data/lib/spree/testing_support/factories/product_option_type_factory.rb +0 -8
- data/lib/spree/testing_support/factories/product_property_factory.rb +0 -8
- data/lib/spree/testing_support/factories/property_factory.rb +0 -5
- data/lib/spree/testing_support/factories/refund_factory.rb +0 -8
- data/lib/spree/testing_support/factories/refund_reason_factory.rb +0 -5
- data/lib/spree/testing_support/factories/reimbursement_factory.rb +0 -7
- data/lib/spree/testing_support/factories/reimbursement_type_factory.rb +0 -5
- data/lib/spree/testing_support/factories/return_authorization_factory.rb +0 -9
- data/lib/spree/testing_support/factories/return_item_factory.rb +0 -9
- data/lib/spree/testing_support/factories/return_reason_factory.rb +0 -5
- data/lib/spree/testing_support/factories/role_factory.rb +0 -5
- data/lib/spree/testing_support/factories/shipment_factory.rb +1 -11
- data/lib/spree/testing_support/factories/shipping_category_factory.rb +0 -5
- data/lib/spree/testing_support/factories/shipping_method_factory.rb +0 -9
- data/lib/spree/testing_support/factories/shipping_rate_factory.rb +0 -8
- data/lib/spree/testing_support/factories/state_factory.rb +8 -10
- data/lib/spree/testing_support/factories/stock_item_factory.rb +5 -9
- data/lib/spree/testing_support/factories/stock_location_factory.rb +0 -9
- data/lib/spree/testing_support/factories/stock_movement_factory.rb +0 -7
- data/lib/spree/testing_support/factories/stock_package_factory.rb +1 -9
- data/lib/spree/testing_support/factories/store_credit_category_factory.rb +0 -5
- data/lib/spree/testing_support/factories/store_credit_event_factory.rb +0 -8
- data/lib/spree/testing_support/factories/store_credit_factory.rb +4 -13
- data/lib/spree/testing_support/factories/store_credit_reason_factory.rb +0 -5
- data/lib/spree/testing_support/factories/store_credit_type_factory.rb +0 -5
- data/lib/spree/testing_support/factories/store_factory.rb +0 -5
- data/lib/spree/testing_support/factories/tax_category_factory.rb +0 -8
- data/lib/spree/testing_support/factories/tax_rate_factory.rb +0 -9
- data/lib/spree/testing_support/factories/taxon_factory.rb +5 -10
- data/lib/spree/testing_support/factories/taxonomy_factory.rb +3 -6
- data/lib/spree/testing_support/factories/user_factory.rb +6 -9
- data/lib/spree/testing_support/factories/variant_factory.rb +0 -10
- data/lib/spree/testing_support/factories/variant_property_rule_condition_factory.rb +0 -8
- data/lib/spree/testing_support/factories/variant_property_rule_factory.rb +0 -9
- data/lib/spree/testing_support/factories/variant_property_rule_value_factory.rb +0 -8
- data/lib/spree/testing_support/factories/zone_factory.rb +1 -9
- data/lib/spree/testing_support/factory_bot.rb +6 -29
- data/lib/spree/testing_support/flaky.rb +22 -0
- data/lib/spree/testing_support/order_walkthrough.rb +7 -6
- data/lib/spree/testing_support/sequences.rb +0 -5
- 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/testing_support/silence_deprecations.rb +9 -0
- data/lib/spree/user_class_handle.rb +2 -2
- data/lib/tasks/colorado_delivery_fee.rake +28 -0
- data/lib/tasks/payment_method.rake +29 -0
- data/lib/tasks/solidus/delete_prices_with_nil_amount.rake +8 -0
- data/solidus_core.gemspec +18 -8
- metadata +233 -117
- 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/line_item_action.rb +0 -8
- data/app/models/spree/order_promotion.rb +0 -27
- data/app/models/spree/promotion/actions/create_adjustment.rb +0 -77
- data/app/models/spree/promotion/actions/create_item_adjustments.rb +0 -99
- data/app/models/spree/promotion/actions/create_quantity_adjustments.rb +0 -139
- data/app/models/spree/promotion/actions/free_shipping.rb +0 -58
- 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 -53
- 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 -74
- data/app/models/spree/promotion/rules/store.rb +0 -22
- data/app/models/spree/promotion/rules/taxon.rb +0 -87
- data/app/models/spree/promotion/rules/user.rb +0 -30
- 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 -284
- data/app/models/spree/promotion_action.rb +0 -43
- 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 -50
- data/app/models/spree/promotion_code_batch.rb +0 -27
- data/app/models/spree/promotion_handler/cart.rb +0 -55
- 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_role.rb +0 -8
- 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/models/spree/tax/shipping_rate_taxer.rb +0 -24
- data/app/subscribers/spree/mailer_subscriber.rb +0 -25
- 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/lib/generators/solidus/install/templates/vendor/assets/javascripts/spree/frontend/all.js +0 -10
- data/lib/generators/solidus/install/templates/vendor/assets/stylesheets/spree/frontend/all.css +0 -9
- data/lib/generators/spree/dummy/templates/rails/script/rails +0 -6
- data/lib/solidus/migrations/promotions_with_code_handlers.rb +0 -66
- data/lib/spree/event/adapters/active_support_notifications.rb +0 -67
- data/lib/spree/event/configuration.rb +0 -25
- data/lib/spree/event/subscriber.rb +0 -86
- data/lib/spree/event/subscriber_registry.rb +0 -94
- data/lib/spree/event.rb +0 -119
- data/lib/spree/permission_sets/promotion_display.rb +0 -15
- data/lib/spree/permission_sets/promotion_management.rb +0 -15
- data/lib/spree/testing_support/dummy_app/assets/javascripts/spree/frontend/all.js +0 -10
- data/lib/spree/testing_support/dummy_app/assets/stylesheets/spree/frontend/all.css +0 -9
- data/lib/spree/testing_support/dummy_app/views/layouts/application.html.erb +0 -1
- data/lib/spree/testing_support/factories/order_promotion_factory.rb +0 -16
- data/lib/spree/testing_support/factories/promotion_category_factory.rb +0 -12
- data/lib/spree/testing_support/factories/promotion_code_factory.rb +0 -16
- data/lib/spree/testing_support/factories/promotion_factory.rb +0 -92
- data/lib/spree/testing_support/factories.rb +0 -11
- data/lib/spree/testing_support.rb +0 -31
- data/lib/tasks/upgrade.rake +0 -15
@@ -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
@@ -2,14 +2,14 @@
|
|
2
2
|
|
3
3
|
def create_states(subregions, country)
|
4
4
|
subregions.each do |subregion|
|
5
|
-
Spree::State.where(abbr: subregion.code, country:
|
5
|
+
Spree::State.where(abbr: subregion.code, country:).first_or_create!(
|
6
6
|
name: subregion.name
|
7
7
|
)
|
8
8
|
end
|
9
9
|
end
|
10
10
|
|
11
11
|
ActiveRecord::Base.transaction do
|
12
|
-
Spree::Country.all.
|
12
|
+
Spree::Country.all.find_each do |country|
|
13
13
|
carmen_country = Carmen::Country.coded(country.iso)
|
14
14
|
next unless carmen_country.subregions?
|
15
15
|
|
@@ -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
|
|
@@ -201,16 +197,6 @@ class SolidusOneFour < ActiveRecord::Migration[5.0]
|
|
201
197
|
t.index ["variant_id"], name: "index_inventory_units_on_variant_id"
|
202
198
|
end
|
203
199
|
|
204
|
-
create_table "spree_line_item_actions", force: :cascade do |t|
|
205
|
-
t.integer "line_item_id", null: false
|
206
|
-
t.integer "action_id", null: false
|
207
|
-
t.integer "quantity", default: 0
|
208
|
-
t.datetime "created_at", precision: 6
|
209
|
-
t.datetime "updated_at", precision: 6
|
210
|
-
t.index ["action_id"], name: "index_spree_line_item_actions_on_action_id"
|
211
|
-
t.index ["line_item_id"], name: "index_spree_line_item_actions_on_line_item_id"
|
212
|
-
end
|
213
|
-
|
214
200
|
create_table "spree_line_items", force: :cascade do |t|
|
215
201
|
t.integer "variant_id"
|
216
202
|
t.integer "order_id"
|
@@ -326,16 +312,6 @@ class SolidusOneFour < ActiveRecord::Migration[5.0]
|
|
326
312
|
t.index ["user_id"], name: "index_spree_orders_on_user_id"
|
327
313
|
end
|
328
314
|
|
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
315
|
create_table "spree_payment_capture_events", force: :cascade do |t|
|
340
316
|
t.decimal "amount", precision: 10, scale: 2, default: "0.0"
|
341
317
|
t.integer "payment_id"
|
@@ -411,15 +387,6 @@ class SolidusOneFour < ActiveRecord::Migration[5.0]
|
|
411
387
|
t.index ["product_id"], name: "index_spree_product_option_types_on_product_id"
|
412
388
|
end
|
413
389
|
|
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
390
|
create_table "spree_product_properties", force: :cascade do |t|
|
424
391
|
t.string "value"
|
425
392
|
t.integer "product_id"
|
@@ -463,100 +430,6 @@ class SolidusOneFour < ActiveRecord::Migration[5.0]
|
|
463
430
|
t.index ["taxon_id"], name: "index_spree_products_taxons_on_taxon_id"
|
464
431
|
end
|
465
432
|
|
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
433
|
create_table "spree_properties", force: :cascade do |t|
|
561
434
|
t.string "name"
|
562
435
|
t.string "presentation", null: false
|
@@ -17,7 +17,7 @@ class CreateSpreeStoreCreditReasonsTable < ActiveRecord::Migration[5.1]
|
|
17
17
|
t.timestamps
|
18
18
|
end
|
19
19
|
|
20
|
-
StoreCreditUpdateReason.all.
|
20
|
+
StoreCreditUpdateReason.all.find_each do |update_reason|
|
21
21
|
StoreCreditReason.create!(name: update_reason.name)
|
22
22
|
end
|
23
23
|
|
@@ -45,7 +45,7 @@ class CreateSpreeStoreCreditReasonsTable < ActiveRecord::Migration[5.1]
|
|
45
45
|
end
|
46
46
|
end
|
47
47
|
|
48
|
-
StoreCreditReason.all.
|
48
|
+
StoreCreditReason.all.find_each do |store_credit_reason|
|
49
49
|
StoreCreditUpdateReason.create!(name: store_credit_reason.name)
|
50
50
|
end
|
51
51
|
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class AddUniqueIndexToOptionValuesVariants < ActiveRecord::Migration[5.2]
|
4
|
+
def up
|
5
|
+
remove_index :spree_option_values_variants, [:variant_id, :option_value_id]
|
6
|
+
add_index :spree_option_values_variants, [:variant_id, :option_value_id],
|
7
|
+
name: "index_option_values_variants_on_variant_id_and_option_value_id",
|
8
|
+
unique: true
|
9
|
+
end
|
10
|
+
|
11
|
+
def down
|
12
|
+
remove_index :spree_option_values_variants, [:variant_id, :option_value_id]
|
13
|
+
add_index :spree_option_values_variants, [:variant_id, :option_value_id],
|
14
|
+
name: "index_option_values_variants_on_variant_id_and_option_value_id"
|
15
|
+
end
|
16
|
+
end
|
@@ -0,0 +1,12 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class RemoveArchivedUserAddresses < ActiveRecord::Migration[5.2]
|
4
|
+
def up
|
5
|
+
Spree::UserAddress.where(archived: true).delete_all
|
6
|
+
remove_column :spree_user_addresses, :archived, :boolean, default: false
|
7
|
+
end
|
8
|
+
|
9
|
+
def down
|
10
|
+
add_column :spree_user_addresses, :archived, :boolean, default: false
|
11
|
+
end
|
12
|
+
end
|
@@ -0,0 +1,11 @@
|
|
1
|
+
class DropDeprecatedAddressIdFromShipments < ActiveRecord::Migration[5.2]
|
2
|
+
def up
|
3
|
+
remove_index :spree_shipments, column: [:deprecated_address_id], name: :index_spree_shipments_on_deprecated_address_id
|
4
|
+
remove_column :spree_shipments, :deprecated_address_id
|
5
|
+
end
|
6
|
+
|
7
|
+
def down
|
8
|
+
add_column :spree_shipments, :deprecated_address_id, :integer
|
9
|
+
add_index :spree_shipments, :deprecated_address_id, name: :index_spree_shipments_on_deprecated_address_id
|
10
|
+
end
|
11
|
+
end
|
@@ -0,0 +1,28 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class AddMetadataToSpreeResources < ActiveRecord::Migration[7.2]
|
4
|
+
def change
|
5
|
+
# List of Resources to add metadata columns to
|
6
|
+
%i[
|
7
|
+
spree_orders
|
8
|
+
spree_line_items
|
9
|
+
spree_shipments
|
10
|
+
spree_payments
|
11
|
+
spree_refunds
|
12
|
+
spree_customer_returns
|
13
|
+
spree_store_credit_events
|
14
|
+
spree_return_authorizations
|
15
|
+
].each do |table_name|
|
16
|
+
change_table table_name do |t|
|
17
|
+
# Check if the database supports jsonb for efficient querying
|
18
|
+
if t.respond_to?(:jsonb)
|
19
|
+
t.jsonb(:customer_metadata, default: {}) unless t.column_exists?(:customer_metadata)
|
20
|
+
t.jsonb(:admin_metadata, default: {}) unless t.column_exists?(:admin_metadata)
|
21
|
+
else
|
22
|
+
t.json(:customer_metadata) unless t.column_exists?(:customer_metadata)
|
23
|
+
t.json(:admin_metadata) unless t.column_exists?(:admin_metadata)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
end
|
27
|
+
end
|
28
|
+
end
|
@@ -0,0 +1,13 @@
|
|
1
|
+
class AddMetadataToUsers < ActiveRecord::Migration[7.0]
|
2
|
+
def change
|
3
|
+
change_table Spree.user_class.table_name do |t|
|
4
|
+
if t.respond_to?(:jsonb)
|
5
|
+
t.jsonb(:customer_metadata, default: {}) unless t.column_exists?(:customer_metadata)
|
6
|
+
t.jsonb(:admin_metadata, default: {}) unless t.column_exists?(:admin_metadata)
|
7
|
+
else
|
8
|
+
t.json(:customer_metadata) unless t.column_exists?(:customer_metadata)
|
9
|
+
t.json(:admin_metadata) unless t.column_exists?(:admin_metadata)
|
10
|
+
end
|
11
|
+
end
|
12
|
+
end
|
13
|
+
end
|
data/db/seeds.rb
CHANGED
@@ -1,5 +1,8 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
+
require 'thor'
|
4
|
+
shell = Thor::Base.shell.new
|
5
|
+
|
3
6
|
%w(
|
4
7
|
stores
|
5
8
|
store_credit
|
@@ -10,8 +13,9 @@
|
|
10
13
|
zones
|
11
14
|
refund_reasons
|
12
15
|
roles
|
16
|
+
permission_sets
|
13
17
|
shipping_categories
|
14
18
|
).each do |seed|
|
15
|
-
|
19
|
+
shell.say_status :seed, seed
|
16
20
|
require_relative "default/spree/#{seed}"
|
17
21
|
end
|
@@ -0,0 +1,16 @@
|
|
1
|
+
initializer 'spree_authentication.rb', <<~RUBY
|
2
|
+
# Please replace this module with your own implementation of
|
3
|
+
# ApplicationController#spree_current_user.
|
4
|
+
#
|
5
|
+
# The current setup will allow doing guest checkouts.
|
6
|
+
ActiveSupport.on_load(:action_controller) do
|
7
|
+
def spree_current_user
|
8
|
+
# Define here your custom logic for retrieving the current user
|
9
|
+
nil
|
10
|
+
end
|
11
|
+
end
|
12
|
+
RUBY
|
13
|
+
|
14
|
+
create_file 'app/views/spree/admin/shared/_navigation_footer.html.erb', <<~ERB
|
15
|
+
<!-- Add here your login/logout links in 'app/views/spree/admin/shared/_navigation_footer.html.erb'. -->
|
16
|
+
ERB
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# Skip if already in the gemfile
|
2
|
+
if Bundler.locked_gems.dependencies['solidus_auth_devise']
|
3
|
+
say_status :skipping, 'solidus_auth_devise is already in the gemfile'
|
4
|
+
else
|
5
|
+
bundle_command("add solidus_auth_devise")
|
6
|
+
end
|
7
|
+
|
8
|
+
if options[:auto_accept]
|
9
|
+
migrations_flag = options[:migrate] ? '--auto-run-migrations' : '--skip-migrations'
|
10
|
+
end
|
11
|
+
|
12
|
+
generate "solidus:auth:install #{migrations_flag}"
|
13
|
+
|
14
|
+
append_file "db/seeds.rb", <<~RUBY
|
15
|
+
Spree::Auth::Engine.load_seed
|
16
|
+
RUBY
|
@@ -0,0 +1,10 @@
|
|
1
|
+
user_class = options[:user_class] || 'Spree::User'
|
2
|
+
|
3
|
+
begin
|
4
|
+
user_class.classify.constantize
|
5
|
+
rescue NameError
|
6
|
+
say_status :error, "Can't find an existing user class named #{user_class.classify}, plese set up one before using this authentication option.", :red
|
7
|
+
abort
|
8
|
+
end
|
9
|
+
|
10
|
+
generate "spree:custom_user #{user_class.shellescape}"
|
@@ -0,0 +1 @@
|
|
1
|
+
# noop
|
@@ -0,0 +1 @@
|
|
1
|
+
# noop
|
@@ -0,0 +1 @@
|
|
1
|
+
apply 'https://github.com/solidusio/solidus_starter_frontend/raw/v4.5/template.rb'
|
@@ -0,0 +1 @@
|
|
1
|
+
# noop
|