Rails.configuration.to_prepare do Hyrax::FileSetPresenter.class_eval do private def fetch_parent_presenter ids = Hyrax::SolrService.query("{!field f=member_ids_ssim}#{id}", fl: Hyrax.config.id_field) .map { |x| x.fetch(Hyrax.config.id_field) } Hyrax.logger.warn("Couldn't find a parent work for FileSet: #{id}.") if ids.empty? ids.each do |id| doc = ::SolrDocument.find(id) next if current_ability.can?(:edit, doc) || current_ability.can?(:read, doc) raise WorkflowAuthorizationException if doc.suppressed? && current_ability.can?(:read, doc) end Hyrax::PresenterFactory.build_for(ids: ids, presenter_class: Hyrax::WorkShowPresenter, presenter_args: current_ability).first end end end