Sha256: cc5a1304a3522494bb2a61bf634b4371a015fde4eba667b5033af84733352ab0
Contents?: true
Size: 1.7 KB
Versions: 6
Compression:
Stored size: 1.7 KB
Contents
module EnjuSubject class Ability include CanCan::Ability def initialize(user, ip_address = nil) case user.try(:role).try(:name) when 'Administrator' can :manage, [ Classification, Subject, SubjectHasClassification, SubjectHeadingTypeHasSubject ] can :manage, WorkHasSubject if LibraryGroup.site_config.network_access_allowed?(ip_address) can [:read, :create, :update], ClassificationType can [:destroy, :delete], ClassificationType do |classification_type| classification_type.classifications.empty? end can :manage, [ Classification, Subject, SubjectHasClassification, SubjectHeadingType, SubjectType ] else can :read, [ ClassificationType, SubjectHeadingType, SubjectType ] end when 'Librarian' can :manage, [ SubjectHasClassification, WorkHasSubject ] can :read, [ Classification, ClassificationType, Subject, SubjectType, SubjectHeadingType, SubjectHeadingTypeHasSubject ] when 'User' can :read, [ Classification, ClassificationType, Subject, SubjectHasClassification, SubjectHeadingType, WorkHasSubject ] else can :read, [ Classification, ClassificationType, Subject, SubjectHasClassification, SubjectHeadingType, WorkHasSubject ] end end end end
Version data entries
6 entries across 6 versions & 1 rubygems