diff --git a/app/models/customer.rb b/app/models/customer.rb index 7f23c60589..362be4d54a 100644 --- a/app/models/customer.rb +++ b/app/models/customer.rb @@ -20,6 +20,7 @@ class Customer < ApplicationRecord before_validation :downcase_email before_validation :empty_code + before_validation :set_unused_address_fields validates :code, uniqueness: { scope: :enterprise_id, allow_nil: true } validates :email, presence: true, 'valid_email_2/email': true, @@ -52,4 +53,9 @@ class Customer < ApplicationRecord errors.add(:base, I18n.t('admin.customers.destroy.has_associated_orders')) throw :abort 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/enterprise_group.rb b/app/models/enterprise_group.rb index 7d100ea2c6..1c3b435d9e 100644 --- a/app/models/enterprise_group.rb +++ b/app/models/enterprise_group.rb @@ -54,7 +54,7 @@ class EnterpriseGroup < ApplicationRecord } def set_unused_address_fields - address.firstname = address.lastname = I18n.t(:unused) + address.firstname = address.lastname = address.company = I18n.t(:unused) end def set_undefined_address_fields diff --git a/app/models/spree/order.rb b/app/models/spree/order.rb index e7af441b7e..41dbe30bd0 100644 --- a/app/models/spree/order.rb +++ b/app/models/spree/order.rb @@ -86,6 +86,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! @@ -611,6 +612,11 @@ 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 ccd8975f6f..b8a9379772 100644 --- a/app/models/spree/user.rb +++ b/app/models/spree/user.rb @@ -20,7 +20,8 @@ module Spree before_validation :set_login before_destroy :check_completed_orders - + before_validation :set_unused_address_fields + roles_table_name = Role.table_name scope :admin, lambda { includes(:spree_roles).where("#{roles_table_name}.name" => "admin") } @@ -150,6 +151,11 @@ 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 f533b617f5..e4f3c63da1 100644 --- a/app/models/subscription.rb +++ b/app/models/subscription.rb @@ -27,6 +27,8 @@ 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) } @@ -75,6 +77,11 @@ 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