From b3bd112cdb9cc12939def1b45267b430e1054cbc Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Mon, 5 Jun 2023 19:44:23 +0100 Subject: [PATCH 01/12] Remove Order #shipped_shipments method --- app/models/spree/order.rb | 4 ---- app/models/spree/return_authorization.rb | 4 ++-- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/app/models/spree/order.rb b/app/models/spree/order.rb index 74a4f332d9..45d699305d 100644 --- a/app/models/spree/order.rb +++ b/app/models/spree/order.rb @@ -301,10 +301,6 @@ module Spree number end - def shipped_shipments - shipments.shipped - end - def contains?(variant) find_line_item_by_variant(variant).present? end diff --git a/app/models/spree/return_authorization.rb b/app/models/spree/return_authorization.rb index fae012a084..9f353cd2fd 100644 --- a/app/models/spree/return_authorization.rb +++ b/app/models/spree/return_authorization.rb @@ -63,7 +63,7 @@ module Spree end def returnable_inventory - order.shipped_shipments.collect{ |s| s.inventory_units.to_a }.flatten + order.shipments.shipped.collect{ |s| s.inventory_units.to_a }.flatten end # Used when Adjustment#update_adjustment! wants to update the related adjustment @@ -74,7 +74,7 @@ module Spree private def must_have_shipped_units - return unless order.nil? || order.shipped_shipments.none? + return unless order.nil? || order.shipments.shipped.none? errors.add(:order, Spree.t(:has_no_shipped_units)) end From 10dbeb32b292465126340e772a5878acf947ef23 Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Mon, 5 Jun 2023 19:48:24 +0100 Subject: [PATCH 02/12] Remove Order #credit_cards method --- app/controllers/spree/admin/payments_controller.rb | 3 ++- app/models/spree/order.rb | 5 ----- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/app/controllers/spree/admin/payments_controller.rb b/app/controllers/spree/admin/payments_controller.rb index ffe0a13b3c..1933962c1a 100644 --- a/app/controllers/spree/admin/payments_controller.rb +++ b/app/controllers/spree/admin/payments_controller.rb @@ -129,7 +129,8 @@ module Spree @payment_methods.first end - @previous_cards = @order.credit_cards.with_payment_profile + credit_card_ids = @order.payments.from_credit_card.pluck(:source_id).uniq + @previous_cards = CreditCard.where(id: credit_card_ids).with_payment_profile end # At this point admin should have passed through Customer Details step diff --git a/app/models/spree/order.rb b/app/models/spree/order.rb index 45d699305d..70604b5690 100644 --- a/app/models/spree/order.rb +++ b/app/models/spree/order.rb @@ -337,11 +337,6 @@ module Spree complete? || resumed? || awaiting_return? || returned? end - def credit_cards - credit_card_ids = payments.from_credit_card.pluck(:source_id).uniq - CreditCard.where(id: credit_card_ids) - end - # Finalizes an in progress order after checkout is complete. # Called after transition to complete state when payments will have been processed def finalize! From 17b10d10c0eb41f8709c0a7fc34e41976c67da0a Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Mon, 5 Jun 2023 19:51:49 +0100 Subject: [PATCH 03/12] Make Order #deliver_order_confirmation_email method private --- app/models/spree/order.rb | 14 +++++++------- spec/models/spree/order_spec.rb | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/app/models/spree/order.rb b/app/models/spree/order.rb index 70604b5690..cd3179e5e3 100644 --- a/app/models/spree/order.rb +++ b/app/models/spree/order.rb @@ -365,13 +365,6 @@ module Spree ) end - def deliver_order_confirmation_email - return if subscription.present? - - Spree::OrderMailer.confirm_email_for_customer(id).deliver_later(wait: 10.seconds) - Spree::OrderMailer.confirm_email_for_shop(id).deliver_later(wait: 10.seconds) - end - # Helper methods for checkout steps def paid? payment_state == 'paid' || payment_state == 'credit_owed' @@ -618,6 +611,13 @@ module Spree private + def deliver_order_confirmation_email + return if subscription.present? + + Spree::OrderMailer.confirm_email_for_customer(id).deliver_later(wait: 10.seconds) + Spree::OrderMailer.confirm_email_for_shop(id).deliver_later(wait: 10.seconds) + end + def fee_handler @fee_handler ||= OrderFeesHandler.new(self) end diff --git a/spec/models/spree/order_spec.rb b/spec/models/spree/order_spec.rb index 5c250f970e..3b24adf1cc 100644 --- a/spec/models/spree/order_spec.rb +++ b/spec/models/spree/order_spec.rb @@ -935,7 +935,7 @@ describe Spree::Order do expect(Spree::OrderMailer).to receive(:confirm_email_for_customer).and_return(mailer) expect(Spree::OrderMailer).to receive(:confirm_email_for_shop).and_return(mailer) - order.deliver_order_confirmation_email + order.__send__(:deliver_order_confirmation_email) end it "does not send confirmation emails when the order belongs to a subscription" do @@ -944,7 +944,7 @@ describe Spree::Order do expect(Spree::OrderMailer).not_to receive(:confirm_email_for_customer) expect(Spree::OrderMailer).not_to receive(:confirm_email_for_shop) - order.deliver_order_confirmation_email + order.__send__(:deliver_order_confirmation_email) end end From 05a715a43acb841d882d584d36ec3f31a5bfce79 Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Mon, 5 Jun 2023 19:52:48 +0100 Subject: [PATCH 04/12] Remove Order #distribution_set? method --- app/models/spree/order.rb | 4 ---- app/views/spree/admin/shared/_order_tabs.html.haml | 2 +- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/app/models/spree/order.rb b/app/models/spree/order.rb index cd3179e5e3..ff6138e9dc 100644 --- a/app/models/spree/order.rb +++ b/app/models/spree/order.rb @@ -571,10 +571,6 @@ module Spree save! end - def distribution_set? - distributor && order_cycle - end - def shipping_tax shipment_adjustments.reload.tax.sum(:amount) end diff --git a/app/views/spree/admin/shared/_order_tabs.html.haml b/app/views/spree/admin/shared/_order_tabs.html.haml index 40cc8e323c..415c3ca861 100644 --- a/app/views/spree/admin/shared/_order_tabs.html.haml +++ b/app/views/spree/admin/shared/_order_tabs.html.haml @@ -42,7 +42,7 @@ %dd#date_complete = pretty_time(@order.completed_at) - - if @order.distribution_set? + - if @order.distributor && @order.order_cycle %nav.menu %ul - customer_details_classes = "active" if current == "Customer Details" From 8a27dd84fe0e1a920d853b99e3263746179df8cb Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Mon, 5 Jun 2023 19:55:05 +0100 Subject: [PATCH 05/12] Make Order #disallow_guest_order method private --- app/models/spree/order.rb | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/app/models/spree/order.rb b/app/models/spree/order.rb index ff6138e9dc..a18870bf24 100644 --- a/app/models/spree/order.rb +++ b/app/models/spree/order.rb @@ -504,12 +504,6 @@ module Spree errors.add(:base, I18n.t(:spree_order_availability_error)) end - def disallow_guest_order - return unless using_guest_checkout? && registered_email? - - errors.add(:email, I18n.t('devise.failure.already_registered')) - end - # After changing line items of a completed order def update_shipping_fees! shipments.each do |shipment| @@ -607,6 +601,12 @@ module Spree private + def disallow_guest_order + return unless using_guest_checkout? && registered_email? + + errors.add(:email, I18n.t('devise.failure.already_registered')) + end + def deliver_order_confirmation_email return if subscription.present? From 3dd4e7ef03613a3c2fdb4be8143e5e1e188f1666 Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Mon, 5 Jun 2023 18:59:32 +0100 Subject: [PATCH 06/12] Delegate order updater method --- app/controllers/api/v0/shipments_controller.rb | 2 +- app/controllers/checkout_controller.rb | 2 +- app/controllers/split_checkout_controller.rb | 2 +- app/controllers/spree/admin/adjustments_controller.rb | 2 +- .../spree/admin/orders/customer_details_controller.rb | 2 +- app/models/spree/order.rb | 4 ++-- spec/factories/order_factory.rb | 4 ++-- 7 files changed, 9 insertions(+), 9 deletions(-) diff --git a/app/controllers/api/v0/shipments_controller.rb b/app/controllers/api/v0/shipments_controller.rb index 0905abe954..92108b334a 100644 --- a/app/controllers/api/v0/shipments_controller.rb +++ b/app/controllers/api/v0/shipments_controller.rb @@ -32,7 +32,7 @@ module Api @shipment.fee_adjustment.fire_events(:open) if @shipment.update(shipment_params) - @order.updater.update_totals_and_states + @order.update_totals_and_states end @shipment.fee_adjustment.close diff --git a/app/controllers/checkout_controller.rb b/app/controllers/checkout_controller.rb index 2c8b7f7cfe..ea4ad42ac7 100644 --- a/app/controllers/checkout_controller.rb +++ b/app/controllers/checkout_controller.rb @@ -115,7 +115,7 @@ class CheckoutController < ::BaseController end def update_payment_total - @order.updater.update_totals + @order.update_totals @order.updater.update_pending_payment end diff --git a/app/controllers/split_checkout_controller.rb b/app/controllers/split_checkout_controller.rb index 1ccf66f27c..db900e7f0d 100644 --- a/app/controllers/split_checkout_controller.rb +++ b/app/controllers/split_checkout_controller.rb @@ -172,7 +172,7 @@ class SplitCheckoutController < ::BaseController @order.select_shipping_method(params[:shipping_method_id]) @order.update(order_params) - @order.updater.update_totals_and_states + @order.update_totals_and_states validate_current_step! diff --git a/app/controllers/spree/admin/adjustments_controller.rb b/app/controllers/spree/admin/adjustments_controller.rb index 55ab5efefe..2d53dfb13c 100644 --- a/app/controllers/spree/admin/adjustments_controller.rb +++ b/app/controllers/spree/admin/adjustments_controller.rb @@ -14,7 +14,7 @@ module Spree def update_order @order.reload - @order.updater.update_totals_and_states + @order.update_totals_and_states end def collection diff --git a/app/controllers/spree/admin/orders/customer_details_controller.rb b/app/controllers/spree/admin/orders/customer_details_controller.rb index 0ce7ccc166..ed13ae4e52 100644 --- a/app/controllers/spree/admin/orders/customer_details_controller.rb +++ b/app/controllers/spree/admin/orders/customer_details_controller.rb @@ -58,7 +58,7 @@ module Spree @order.create_tax_charge! Spree::TaxRate.adjust(@order, @order.adjustments.admin) - @order.updater.update_totals_and_states + @order.update_totals_and_states end def order_params diff --git a/app/models/spree/order.rb b/app/models/spree/order.rb index a18870bf24..eb7a747f76 100644 --- a/app/models/spree/order.rb +++ b/app/models/spree/order.rb @@ -83,7 +83,7 @@ module Spree accepts_nested_attributes_for :shipments delegate :admin_and_handling_total, :payment_fee, :ship_total, to: :adjustments_fetcher - delegate :update_totals, to: :updater + delegate :update_totals, :update_totals_and_states, to: :updater delegate :create_line_item_fees!, :create_order_fees!, :update_order_fees!, :update_line_item_fees!, :recreate_all_fees!, to: :fee_handler @@ -712,7 +712,7 @@ module Spree return if adjustment.finalized? adjustment.update_adjustment!(force: true) - updater.update_totals_and_states + update_totals_and_states end end end diff --git a/spec/factories/order_factory.rb b/spec/factories/order_factory.rb index efe0eec076..0127bf2541 100644 --- a/spec/factories/order_factory.rb +++ b/spec/factories/order_factory.rb @@ -17,7 +17,7 @@ FactoryBot.define do after(:create) do |order| order.line_items << build(:line_item, order: order) - order.updater.update_totals_and_states + order.update_totals_and_states order.order_cycle.exchanges.outgoing.first.variants << order.line_items.first.variant end @@ -49,7 +49,7 @@ FactoryBot.define do after(:create) do |order| create(:line_item, order: order) order.line_items.reload # to ensure order.line_items is accessible after - order.updater.update_totals_and_states + order.update_totals_and_states end end From 1a7d70772af9d7b9d67ec1ef274f7292ea1f31a5 Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Mon, 5 Jun 2023 19:56:06 +0100 Subject: [PATCH 07/12] Make Order #products_available_from_new_distribution method private --- app/models/spree/order.rb | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/app/models/spree/order.rb b/app/models/spree/order.rb index eb7a747f76..66692ef1e7 100644 --- a/app/models/spree/order.rb +++ b/app/models/spree/order.rb @@ -496,14 +496,6 @@ module Spree shipments.map(&:refresh_rates) end - # Check that line_items in the current order are available from a newly selected distribution - def products_available_from_new_distribution - return if OrderCycleDistributedVariants.new(order_cycle, distributor) - .distributes_order_variants?(self) - - errors.add(:base, I18n.t(:spree_order_availability_error)) - end - # After changing line items of a completed order def update_shipping_fees! shipments.each do |shipment| @@ -607,6 +599,14 @@ module Spree errors.add(:email, I18n.t('devise.failure.already_registered')) end + # Check that line_items in the current order are available from a newly selected distribution + def products_available_from_new_distribution + return if OrderCycleDistributedVariants.new(order_cycle, distributor) + .distributes_order_variants?(self) + + errors.add(:base, I18n.t(:spree_order_availability_error)) + end + def deliver_order_confirmation_email return if subscription.present? From a62e51c0d02e5b931ad9fc04bf1dc5e4985241eb Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Mon, 5 Jun 2023 19:59:09 +0100 Subject: [PATCH 08/12] Remove Order #refresh_shipment_rates method --- app/models/spree/order.rb | 4 ---- spec/controllers/admin/bulk_line_items_controller_spec.rb | 2 +- spec/factories/order_factory.rb | 2 +- spec/system/consumer/shopping/orders_spec.rb | 2 +- 4 files changed, 3 insertions(+), 7 deletions(-) diff --git a/app/models/spree/order.rb b/app/models/spree/order.rb index 66692ef1e7..6b3b463b7f 100644 --- a/app/models/spree/order.rb +++ b/app/models/spree/order.rb @@ -492,10 +492,6 @@ module Spree end end - def refresh_shipment_rates - shipments.map(&:refresh_rates) - end - # After changing line items of a completed order def update_shipping_fees! shipments.each do |shipment| diff --git a/spec/controllers/admin/bulk_line_items_controller_spec.rb b/spec/controllers/admin/bulk_line_items_controller_spec.rb index 4e31f4f12d..b0dc8c3bd4 100644 --- a/spec/controllers/admin/bulk_line_items_controller_spec.rb +++ b/spec/controllers/admin/bulk_line_items_controller_spec.rb @@ -377,7 +377,7 @@ describe Admin::BulkLineItemsController, type: :controller do line_item1.product.update_columns(tax_category_id: tax_cat5.id) line_item2.product.update_columns(tax_category_id: tax_cat10.id) - order.refresh_shipment_rates + order.shipments.map(&:refresh_rates) order.select_shipping_method(shipping_method.id) order.finalize! order.recreate_all_fees! diff --git a/spec/factories/order_factory.rb b/spec/factories/order_factory.rb index 0127bf2541..311c2043d8 100644 --- a/spec/factories/order_factory.rb +++ b/spec/factories/order_factory.rb @@ -76,7 +76,7 @@ FactoryBot.define do distributor { create(:distributor_enterprise) } - after(:create, &:refresh_shipment_rates) + after(:create) { |order, _evaluator| order.shipments.map(&:refresh_rates) } factory :order_ready_to_ship do payment_state { 'paid' } diff --git a/spec/system/consumer/shopping/orders_spec.rb b/spec/system/consumer/shopping/orders_spec.rb index 20ca151d3a..f8da05c9cb 100644 --- a/spec/system/consumer/shopping/orders_spec.rb +++ b/spec/system/consumer/shopping/orders_spec.rb @@ -120,7 +120,7 @@ describe "Order Management" do before do order.shipment.shipping_method.calculator.update(preferred_amount: 5.0) - order.refresh_shipment_rates + order.shipments.map(&:refresh_rates) order.save order.reload From 7c72969792652e5d491cdd394cf19fd4f654253f Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Mon, 5 Jun 2023 20:03:11 +0100 Subject: [PATCH 09/12] Move Order #state_changed method out into Checkout concern (alongside order states logic) --- app/models/spree/order.rb | 13 ------------- app/models/spree/order/checkout.rb | 13 +++++++++++++ 2 files changed, 13 insertions(+), 13 deletions(-) diff --git a/app/models/spree/order.rb b/app/models/spree/order.rb index 6b3b463b7f..7f8d69474c 100644 --- a/app/models/spree/order.rb +++ b/app/models/spree/order.rb @@ -426,19 +426,6 @@ module Spree restart_checkout_flow if state.in?(["payment", "confirmation"]) end - def state_changed(name) - state = "#{name}_state" - return unless persisted? - - old_state = __send__("#{state}_was") - state_changes.create( - previous_state: old_state, - next_state: __send__(state), - name: name, - user_id: user_id - ) - end - def shipped? %w(partial shipped).include?(shipment_state) end diff --git a/app/models/spree/order/checkout.rb b/app/models/spree/order/checkout.rb index 01997e676c..23606d52cf 100644 --- a/app/models/spree/order/checkout.rb +++ b/app/models/spree/order/checkout.rb @@ -136,6 +136,19 @@ module Spree ) end + def state_changed(name) + state = "#{name}_state" + return unless persisted? + + old_state = __send__("#{state}_was") + state_changes.create( + previous_state: old_state, + next_state: __send__(state), + name: name, + user_id: user_id + ) + end + private def validate_payment_method! From 760bf269ca473e7c12ecc2e3719ab23d2b4cc280 Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Wed, 7 Jun 2023 18:47:16 +0100 Subject: [PATCH 10/12] Pull validations-related methods out into a separate module --- app/models/concerns/order_validations.rb | 42 ++++++++++++++++++++++++ app/models/spree/order.rb | 32 +----------------- 2 files changed, 43 insertions(+), 31 deletions(-) create mode 100644 app/models/concerns/order_validations.rb diff --git a/app/models/concerns/order_validations.rb b/app/models/concerns/order_validations.rb new file mode 100644 index 0000000000..1adf4e4a63 --- /dev/null +++ b/app/models/concerns/order_validations.rb @@ -0,0 +1,42 @@ +# frozen_string_literal: true + +require 'active_support/concern' + +module OrderValidations + extend ActiveSupport::Concern + + private + + def disallow_guest_order + return unless using_guest_checkout? && registered_email? + + errors.add(:email, I18n.t('devise.failure.already_registered')) + end + + # Check that line_items in the current order are available from a newly selected distribution + def products_available_from_new_distribution + return if OrderCycleDistributedVariants.new(order_cycle, distributor) + .distributes_order_variants?(self) + + errors.add(:base, I18n.t(:spree_order_availability_error)) + end + + # Determine if email is required (we don't want validation errors before we hit the checkout) + def require_email + true unless (new_record? || cart?) && !checkout_processing + end + + def ensure_line_items_present + return if line_items.present? + + errors.add(:base, Spree.t(:there_are_no_items_for_this_order)) + false + end + + def ensure_available_shipping_rates + return unless shipments.empty? || shipments.any? { |shipment| shipment.shipping_rates.blank? } + + errors.add(:base, Spree.t(:items_cannot_be_shipped)) + false + end +end diff --git a/app/models/spree/order.rb b/app/models/spree/order.rb index 7f8d69474c..cc8bd1acf4 100644 --- a/app/models/spree/order.rb +++ b/app/models/spree/order.rb @@ -8,6 +8,7 @@ require 'open_food_network/tag_rule_applicator' module Spree class Order < ApplicationRecord include OrderShipment + include OrderValidations include Checkout include Balance include SetUnusedAddressFields @@ -576,20 +577,6 @@ module Spree private - def disallow_guest_order - return unless using_guest_checkout? && registered_email? - - errors.add(:email, I18n.t('devise.failure.already_registered')) - end - - # Check that line_items in the current order are available from a newly selected distribution - def products_available_from_new_distribution - return if OrderCycleDistributedVariants.new(order_cycle, distributor) - .distributes_order_variants?(self) - - errors.add(:base, I18n.t(:spree_order_availability_error)) - end - def deliver_order_confirmation_email return if subscription.present? @@ -626,23 +613,6 @@ module Spree self.email = user.email if user end - # Determine if email is required (we don't want validation errors before we hit the checkout) - def require_email - return true unless (new_record? || cart?) && !checkout_processing - end - - def ensure_line_items_present - return if line_items.present? - - errors.add(:base, Spree.t(:there_are_no_items_for_this_order)) && (return false) - end - - def ensure_available_shipping_rates - return unless shipments.empty? || shipments.any? { |shipment| shipment.shipping_rates.blank? } - - errors.add(:base, Spree.t(:items_cannot_be_shipped)) && (return false) - end - def after_cancel shipments.each(&:cancel!) payments.checkout.each(&:void!) From bf051fc35b2f0c2c3486eb51b9511e8ddecb389c Mon Sep 17 00:00:00 2001 From: Matt-Yorkley <9029026+Matt-Yorkley@users.noreply.github.com> Date: Wed, 7 Jun 2023 18:49:20 +0100 Subject: [PATCH 11/12] Pull checkout-workflow-related callback methods out into the Checkout module which defines checkout state changes --- app/models/spree/order.rb | 15 --------------- app/models/spree/order/checkout.rb | 15 +++++++++++++++ 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/app/models/spree/order.rb b/app/models/spree/order.rb index cc8bd1acf4..6c71181852 100644 --- a/app/models/spree/order.rb +++ b/app/models/spree/order.rb @@ -613,21 +613,6 @@ module Spree self.email = user.email if user end - def after_cancel - shipments.each(&:cancel!) - payments.checkout.each(&:void!) - - OrderMailer.cancel_email(id).deliver_later if send_cancellation_email - update(payment_state: updater.update_payment_state) - end - - def after_resume - shipments.each(&:resume!) - payments.void.each(&:resume!) - - update(payment_state: updater.update_payment_state) - end - def use_billing? @use_billing == true || @use_billing == 'true' || @use_billing == '1' end diff --git a/app/models/spree/order/checkout.rb b/app/models/spree/order/checkout.rb index 23606d52cf..618cc6db27 100644 --- a/app/models/spree/order/checkout.rb +++ b/app/models/spree/order/checkout.rb @@ -151,6 +151,21 @@ module Spree private + def after_cancel + shipments.each(&:cancel!) + payments.checkout.each(&:void!) + + OrderMailer.cancel_email(id).deliver_later if send_cancellation_email + update(payment_state: updater.update_payment_state) + end + + def after_resume + shipments.each(&:resume!) + payments.void.each(&:resume!) + + update(payment_state: updater.update_payment_state) + end + def validate_payment_method! return unless checkout_processing return if payments.any? From 99fbf80b4ccef6c66d7d2b02099c254a2fdfe026 Mon Sep 17 00:00:00 2001 From: Maikel Linke Date: Thu, 8 Jun 2023 11:15:42 +1000 Subject: [PATCH 12/12] Style Layout/MultilineMethodCallIndentation --- app/models/concerns/order_validations.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/concerns/order_validations.rb b/app/models/concerns/order_validations.rb index 1adf4e4a63..36733f5c35 100644 --- a/app/models/concerns/order_validations.rb +++ b/app/models/concerns/order_validations.rb @@ -16,7 +16,7 @@ module OrderValidations # Check that line_items in the current order are available from a newly selected distribution def products_available_from_new_distribution return if OrderCycleDistributedVariants.new(order_cycle, distributor) - .distributes_order_variants?(self) + .distributes_order_variants?(self) errors.add(:base, I18n.t(:spree_order_availability_error)) end