Sha256: 83c5bfed15e350f8e747d0d70fe4a670fd6f8d35799ac34b4d283432b72e8f69

Contents?: true

Size: 750 Bytes

Versions: 12

Compression:

Stored size: 750 Bytes

Contents

module Sufia
  module Ability
    extend ActiveSupport::Concern
    included do
      self.ability_logic += [:sufia_abilities]
    end

    def sufia_abilities
      generic_file_abilities
      featured_work_abilities
      editor_abilities
      stats_abilities
    end

    def featured_work_abilities
      can [:create, :destroy, :update], FeaturedWork if user_groups.include? 'admin'
    end

    def generic_file_abilities
      can :create, [GenericFile, Collection] if user_groups.include? 'registered'
    end

    def editor_abilities
      if user_groups.include? 'admin'
        can :create, TinymceAsset
        can :update, ContentBlock
      end
    end

    def stats_abilities
      alias_action :stats, to: :read
    end
  end
end

Version data entries

12 entries across 12 versions & 2 rubygems

Version Path
sufia-4.0.1 sufia-models/app/models/concerns/sufia/ability.rb
sufia-models-4.0.1 app/models/concerns/sufia/ability.rb
sufia-models-4.0.0 app/models/concerns/sufia/ability.rb
sufia-4.0.0 sufia-models/app/models/concerns/sufia/ability.rb
sufia-4.0.0.rc2 sufia-models/app/models/concerns/sufia/ability.rb
sufia-models-4.0.0.rc2 app/models/concerns/sufia/ability.rb
sufia-4.0.0.rc1 sufia-models/lib/sufia/ability.rb
sufia-models-4.0.0.rc1 lib/sufia/ability.rb
sufia-4.0.0.beta4 sufia-models/lib/sufia/ability.rb
sufia-models-4.0.0.beta4 lib/sufia/ability.rb
sufia-models-4.0.0.beta3 lib/sufia/ability.rb
sufia-4.0.0.beta3 sufia-models/lib/sufia/ability.rb