From bcca2eee9db8ea5ec0b3a0268de78e3e4f24938e Mon Sep 17 00:00:00 2001 From: Luis Ramos Date: Wed, 19 Aug 2020 04:29:49 +0100 Subject: [PATCH] Bring user and ability related files from spree_core --- config/initializers/user_class_extensions.rb | 25 ++++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 config/initializers/user_class_extensions.rb diff --git a/config/initializers/user_class_extensions.rb b/config/initializers/user_class_extensions.rb new file mode 100644 index 0000000000..de8743a11d --- /dev/null +++ b/config/initializers/user_class_extensions.rb @@ -0,0 +1,25 @@ +Spree::Core::Engine.config.to_prepare do + if Spree.user_class + Spree.user_class.class_eval do + include Spree::Core::UserBanners + has_and_belongs_to_many :spree_roles, + :join_table => 'spree_roles_users', + :foreign_key => "user_id", + :class_name => "Spree::Role" + + has_many :spree_orders, :foreign_key => "user_id", :class_name => "Spree::Order" + + belongs_to :ship_address, :class_name => 'Spree::Address' + belongs_to :bill_address, :class_name => 'Spree::Address' + + # has_spree_role? simply needs to return true or false whether a user has a role or not. + def has_spree_role?(role_in_question) + spree_roles.where(:name => role_in_question.to_s).any? + end + + def last_incomplete_spree_order + spree_orders.incomplete.where(:created_by_id => self.id).order('created_at DESC').first + end + end + end +end