mirror of
https://github.com/openfoodfoundation/openfoodnetwork
synced 2026-01-30 21:27:17 +00:00
27 lines
985 B
Ruby
27 lines
985 B
Ruby
# frozen_string_literal: true
|
|
|
|
Spree::Core::Engine.config.to_prepare do
|
|
# has_spree_role? simply needs to return true or false whether a user has a role or not.
|
|
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: id).order('created_at DESC').first
|
|
end
|
|
end
|
|
end
|