Sha256: 81d525275580a01289e245af1e21c30f709220d056a0d69449ff298923f36f59

Contents?: true

Size: 1.67 KB

Versions: 6

Compression:

Stored size: 1.67 KB

Contents

# frozen_string_literal: true
module Hyrax
  module Ability
    module AdminSetAbility
      def admin_set_abilities # rubocop:disable Metrics/MethodLength
        if admin?
          can :manage, AdminSet
          can :manage_any, AdminSet
          can :create_any, AdminSet
          can :view_admin_show_any, AdminSet
        else
          can :manage_any, AdminSet if Hyrax::Collections::PermissionsService.can_manage_any_admin_set?(ability: self)
          can [:create_any, :create], AdminSet if Hyrax::CollectionTypes::PermissionsService.can_create_admin_set_collection_type?(ability: self)
          can :view_admin_show_any, AdminSet if Hyrax::Collections::PermissionsService.can_view_admin_show_for_any_admin_set?(ability: self)

          can [:edit, :update, :destroy], AdminSet do |admin_set| # for test by solr_doc, see solr_document_ability.rb
            test_edit(admin_set.id)
          end

          can :deposit, AdminSet do |admin_set| # for test by solr_doc, see collection_ability.rb
            Hyrax::Collections::PermissionsService.can_deposit_in_collection?(ability: self, collection_id: admin_set.id)
          end

          can :view_admin_show, AdminSet do |admin_set| # admin show page # for test by solr_doc, see collection_ability.rb
            Hyrax::Collections::PermissionsService.can_view_admin_show_for_collection?(ability: self, collection_id: admin_set.id)
          end
        end

        # TODO: I'm not sure why this is checked with AdminSet abilities.  It was before the refactor and since I'm not sure what the connection is, I left it here.
        can :review, :submissions do
          can_review_submissions?
        end
      end
    end
  end
end

Version data entries

6 entries across 6 versions & 1 rubygems

Version Path
hyrax-3.1.0 app/models/concerns/hyrax/ability/admin_set_ability.rb
hyrax-3.0.2 app/models/concerns/hyrax/ability/admin_set_ability.rb
hyrax-3.0.1 app/models/concerns/hyrax/ability/admin_set_ability.rb
hyrax-3.0.0 app/models/concerns/hyrax/ability/admin_set_ability.rb
hyrax-3.0.0.pre.rc4 app/models/concerns/hyrax/ability/admin_set_ability.rb
hyrax-3.0.0.pre.rc3 app/models/concerns/hyrax/ability/admin_set_ability.rb