Sha256: 5f6a7c99526b20ddefc7c364d5dbef01cdef5899b0171d3e3e9af5b75aadbd7e

Contents?: true

Size: 1.29 KB

Versions: 17

Compression:

Stored size: 1.29 KB

Contents

module Spree
  module UserRoles
    extend ActiveSupport::Concern

    included do
      has_many :role_users, class_name: 'Spree::RoleUser', foreign_key: :user_id, dependent: :destroy
      has_many :spree_roles, through: :role_users, class_name: 'Spree::Role', source: :role

      scope :spree_admin, -> { joins(:spree_roles).where(Spree::Role.table_name => { name: 'admin' }) }

      # has_spree_role? simply needs to return true or false whether a user has a role or not.
      def has_spree_role?(role_name)
        spree_roles.exists?(name: role_name)
      end

      def self.admin
        ActiveSupport::Deprecation.warn('`User#admin` is deprecated and will be removed in Spree 5. Please use `User#spree_admin`')

        spree_admin
      end

      def self.admin_created?
        ActiveSupport::Deprecation.warn('`User#admin_created?` is deprecated and will be removed in Spree 5. Please use `User#spree_admin_created?`')

        spree_admin_created?
      end

      def admin?
        ActiveSupport::Deprecation.warn('`User#admin?` is deprecated and will be removed in Spree 5. Please use `User#spree_admin?`')

        spree_admin?
      end

      def self.spree_admin_created?
        spree_admin.exists?
      end

      def spree_admin?
        has_spree_role?('admin')
      end
    end
  end
end

Version data entries

17 entries across 17 versions & 1 rubygems

Version Path
spree_core-4.6.6 app/models/concerns/spree/user_roles.rb
spree_core-4.5.5 app/models/concerns/spree/user_roles.rb
spree_core-4.4.1 app/models/concerns/spree/user_roles.rb
spree_core-4.5.4 app/models/concerns/spree/user_roles.rb
spree_core-4.6.5 app/models/concerns/spree/user_roles.rb
spree_core-4.6.4 app/models/concerns/spree/user_roles.rb
spree_core-4.6.3 app/models/concerns/spree/user_roles.rb
spree_core-4.6.2 app/models/concerns/spree/user_roles.rb
spree_core-4.6.1 app/models/concerns/spree/user_roles.rb
spree_core-4.6.0 app/models/concerns/spree/user_roles.rb
spree_core-4.5.3 app/models/concerns/spree/user_roles.rb
spree_core-4.5.2 app/models/concerns/spree/user_roles.rb
spree_core-4.5.1 app/models/concerns/spree/user_roles.rb
spree_core-4.5.0 app/models/concerns/spree/user_roles.rb
spree_core-4.4.0 app/models/concerns/spree/user_roles.rb
spree_core-4.4.0.rc2 app/models/concerns/spree/user_roles.rb
spree_core-4.4.0.rc1 app/models/concerns/spree/user_roles.rb