Changing UserRole to UserRoleJoin

Beware, this breaks the view for some reason
This commit is contained in:
Jason Denney
2013-04-23 23:21:17 -04:00
parent a3fcdec10c
commit 91bb2ea43e
17 changed files with 100 additions and 37 deletions
+4 -4
View File
@@ -1,14 +1,14 @@
class Ability
include CanCan::Ability
def initialize(current_user)
@current_user = current_user
self.send(current_user.role.to_sym)
self.send(current_user.role.role.to_sym)
end
def admin
can :manage, :all
end
end
def staff
can :manage, :all
@@ -21,7 +21,7 @@ class Ability
def user
can :read, :all
can :update, Bike, :id => @current_user.bike_id unless @current_user.bike.nil?
can :manage, Bike, :id => @current_user.bike_id unless @current_user.bike.nil?
can :manage, ::ActsAsLoggable::Log, { :loggable_type => "Bike", :loggable_id => @current_user.bike_id }
can :manage, ::ActsAsLoggable::Log, { :loggable_type => "User", :loggable_id => @current_user.id }
end
+16
View File
@@ -0,0 +1,16 @@
class Role < ActiveRecord::Base
attr_accessible :role
has_many :user_role_joins
has_many :users, through: :user_role_joins
validates_uniqueness_of :role
def to_s
self.role
end
def ==(other)
self.role == other.role
end
end
+8 -7
View File
@@ -7,14 +7,16 @@ class User < ActiveRecord::Base
# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :password_confirmation, :remember_me,
:first_name, :last_name, :nickname, :user_role_id, :bike_id,
:first_name, :last_name, :nickname, :bike_id,
:user_profiles_attributes
has_many :transactions
has_many :user_profiles
accepts_nested_attributes_for :user_profiles, allow_destroy: false
has_one :user_role
has_many :user_role_joins
has_many :roles, through: :user_role_joins
belongs_to :bike
validates :first_name, :presence => true
@@ -28,12 +30,11 @@ class User < ActiveRecord::Base
to_s
end
def role
user_role.role
end
def role?(role)
user_role.to_s == role.to_s
if role.kind_of?(String) or role.kind_of?(Symbol)
role = Role.find_by_role(role.to_s)
end
roles.include?(role)
end
def total_hours
-11
View File
@@ -1,11 +0,0 @@
class UserRole < ActiveRecord::Base
attr_accessible :role
belongs_to :user
self.per_page = 15
def to_s
self.role
end
end
+13
View File
@@ -0,0 +1,13 @@
class UserRoleJoin < ActiveRecord::Base
#set_table_name :user_role_joins
attr_accessible :role_id, :user_id
belongs_to :user
belongs_to :role
validate :role_id, presence: true, numericality: true
validate :user_id, presence: true, numericality: true
validates_uniqueness_of :user_id, :scope => :role_id
self.per_page = 15
end