rework roles with rolify
This commit is contained in:
parent
f9f840c811
commit
4af0e59ca6
40 changed files with 167 additions and 228 deletions
|
|
@ -1,4 +1,7 @@
|
|||
class Role < ActiveRecord::Base
|
||||
attr_accessible :name
|
||||
attr_accessible :name, :description
|
||||
has_and_belongs_to_many :users
|
||||
belongs_to :resource, polymorphic: true
|
||||
|
||||
scopify
|
||||
end
|
||||
|
|
|
|||
|
|
@ -1,7 +1,10 @@
|
|||
class User < ActiveRecord::Base
|
||||
rolify
|
||||
include Gravtastic
|
||||
gravtastic size: 32
|
||||
|
||||
before_create :setup_role
|
||||
|
||||
# Include default devise modules. Others available are:
|
||||
# :token_authenticatable, :confirmable,
|
||||
# :lockable, :timeoutable and :omniauthable
|
||||
|
|
@ -23,8 +26,6 @@ class User < ActiveRecord::Base
|
|||
|
||||
accepts_nested_attributes_for :roles
|
||||
|
||||
before_create :setup_role
|
||||
|
||||
validates :name, presence: true
|
||||
|
||||
# Searches for user based on email. Returns found user or new user.
|
||||
|
|
@ -47,26 +48,13 @@ class User < ActiveRecord::Base
|
|||
user
|
||||
end
|
||||
|
||||
def role?(role)
|
||||
Rails.logger.debug('Checking role in user')
|
||||
!!roles.find_by_name(role.to_s.downcase.camelize)
|
||||
end
|
||||
|
||||
def admin?
|
||||
role?('Admin')
|
||||
end
|
||||
|
||||
def organizer?
|
||||
role?('Organizer')
|
||||
end
|
||||
|
||||
def get_roles
|
||||
roles
|
||||
end
|
||||
|
||||
def setup_role
|
||||
roles << Role.where(name: 'Admin') if User.count == 0
|
||||
roles << Role.where(name: 'Participant') if roles.empty?
|
||||
roles << Role.where(name: 'organizer') if User.count == 0
|
||||
roles << Role.where(name: 'participant') if roles.empty?
|
||||
end
|
||||
|
||||
def self.prepare(params)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue