tap/app/models/ability.rb

34 lines
633 B
Ruby
Raw Normal View History

2014-12-09 18:44:58 +00:00
class Ability
include CanCan::Ability
def initialize(user)
2015-09-14 18:26:16 +00:00
return unless user
2015-10-29 13:09:52 +00:00
initialize_admin if user.admin?
initialize_koelkast if user.koelkast?
2015-10-29 13:27:06 +00:00
initialize_user(user)
2015-10-29 13:09:52 +00:00
2015-10-07 13:52:05 +00:00
can :read, Barcode
2015-10-29 13:09:52 +00:00
end
def initialize_admin
can :manage, :all
end
2015-09-20 19:21:18 +00:00
2015-10-29 13:09:52 +00:00
def initialize_koelkast
can :manage, Order do |order|
!order.try(:user).try(:private)
end
can :quickpay, User
end
2015-10-29 13:27:06 +00:00
def initialize_user(user)
2015-10-29 13:09:52 +00:00
can :read, :all
can :manage, User, id: user.id
2015-10-29 14:42:23 +00:00
can :create, Order, user: user
2015-10-29 13:09:52 +00:00
can :destroy, Order do |order|
order.try(:user) == user && order.deletable
2014-12-09 18:44:58 +00:00
end
end
end