Sha256: db6d4eb348b5636795938b3d212b7c2d63bdd440ffd267182714313df8b98b1c
Contents?: true
Size: 859 Bytes
Versions: 10
Compression:
Stored size: 859 Bytes
Contents
class Ability include CanCan::Ability def initialize(user, ip_address = nil) case user.try(:role).try(:name) when 'Administrator' can [:read, :create, :update], Manifestation can :destroy, Manifestation do |manifestation| if defined?(EnjuCirculation) manifestation.items.empty? and !manifestation.periodical_master? and !manifestation.is_reserved? else manifestation.items.empty? and !manifestation.periodical_master? end end when 'Librarian' can [:read, :create, :update], Manifestation can :destroy, Manifestation do |manifestation| false end when 'User' can :read, Manifestation do |manifestation| manifestation.required_role_id <= 2 end can :edit, Manifestation else can :read, Manifestation end end end
Version data entries
10 entries across 10 versions & 1 rubygems