From 7eb0c6c33cdaed421671c983433bb01bbdc5cb1f Mon Sep 17 00:00:00 2001 From: Nihal Date: Wed, 22 Sep 2021 14:15:13 +0530 Subject: [PATCH] Add module to set unused ship, bill address fields --- app/models/concerns/set_unused_address_fields.rb | 14 ++++++++++++++ app/models/spree/order.rb | 8 ++------ app/models/spree/user.rb | 8 ++------ app/models/subscription.rb | 9 ++------- 4 files changed, 20 insertions(+), 19 deletions(-) create mode 100644 app/models/concerns/set_unused_address_fields.rb diff --git a/app/models/concerns/set_unused_address_fields.rb b/app/models/concerns/set_unused_address_fields.rb new file mode 100644 index 0000000000..1e07d40660 --- /dev/null +++ b/app/models/concerns/set_unused_address_fields.rb @@ -0,0 +1,14 @@ +require 'active_support/concern' + +module SetUnusedAddressFields + extend ActiveSupport::Concern + + included do + self.before_validation :set_unused_address_fields + end + + def set_unused_address_fields + ship_address.company = 'Company' if ship_address.present? + bill_address.company = 'Company' if bill_address.present? + end +end diff --git a/app/models/spree/order.rb b/app/models/spree/order.rb index 41dbe30bd0..c21b1ecbdd 100644 --- a/app/models/spree/order.rb +++ b/app/models/spree/order.rb @@ -10,6 +10,7 @@ module Spree include OrderShipment include Checkout include Balance + include SetUnusedAddressFields searchable_attributes :number, :state, :shipment_state, :payment_state, :distributor_id, :order_cycle_id, :email, :total @@ -86,7 +87,7 @@ module Spree before_validation :clone_billing_address, if: :use_billing? before_validation :associate_customer, unless: :customer_id? before_validation :ensure_customer, unless: :customer_is_valid? - before_validation :set_unused_address_fields + before_create :link_by_email after_create :create_tax_charge! @@ -612,11 +613,6 @@ module Spree private - def set_unused_address_fields - ship_address.company = 'Company' if ship_address.present? - bill_address.company = 'Company' if bill_address.present? - end - def fee_handler @fee_handler ||= OrderFeesHandler.new(self) end diff --git a/app/models/spree/user.rb b/app/models/spree/user.rb index b8a9379772..d30e993e8e 100644 --- a/app/models/spree/user.rb +++ b/app/models/spree/user.rb @@ -2,6 +2,8 @@ module Spree class User < ApplicationRecord + include SetUnusedAddressFields + searchable_attributes :email devise :database_authenticatable, :token_authenticatable, :registerable, :recoverable, @@ -20,7 +22,6 @@ module Spree before_validation :set_login before_destroy :check_completed_orders - before_validation :set_unused_address_fields roles_table_name = Role.table_name @@ -151,11 +152,6 @@ module Spree private - def set_unused_address_fields - ship_address.company = 'Company' if ship_address.present? - bill_address.company = 'Company' if bill_address.present? - end - def check_completed_orders raise DestroyWithOrdersError if orders.complete.present? end diff --git a/app/models/subscription.rb b/app/models/subscription.rb index e4f3c63da1..8fc4667fad 100644 --- a/app/models/subscription.rb +++ b/app/models/subscription.rb @@ -1,6 +1,8 @@ # frozen_string_literal: true class Subscription < ApplicationRecord + include SetUnusedAddressFields + ALLOWED_PAYMENT_METHOD_TYPES = ["Spree::PaymentMethod::Check", "Spree::Gateway::StripeConnect", "Spree::Gateway::StripeSCA"].freeze @@ -26,8 +28,6 @@ class Subscription < ApplicationRecord accepts_nested_attributes_for :subscription_line_items, allow_destroy: true accepts_nested_attributes_for :bill_address, :ship_address - - before_validation :set_unused_address_fields scope :not_ended, -> { where('subscriptions.ends_at > (?) OR subscriptions.ends_at IS NULL', Time.zone.now) @@ -77,11 +77,6 @@ class Subscription < ApplicationRecord private - def set_unused_address_fields - ship_address.company = 'Company' if ship_address.present? - bill_address.company = 'Company' if bill_address.present? - end - def pending? return true unless begins_at