In the "Add Sharing" section, add group such as "manager-longbeach" as manager where such group would be a manager group with manager user manager@lb.edu in it.
The above action would throw an exception but it executes it and after save changes manager manager@lb.edu would be able to manage such collection. When the admin removes such group access it throws the same exception and it would result in an error page and it would not complete such action.
The error occurs in the call model.reset_access_controls_for(collection: source) located in /rvm/gems/ruby-2.6.5/gems/hyrax-3.6.0/app/forms/hyrax/forms/permission_template_form.rb line 72
The actual error is raised in /usr/local/rvm/gems/ruby-2.6.5/gems/active-fedora-13.3.0/lib/active_fedora/indexing/suffix.rb:72
In 2.9.6
PermissionTemplateForm.update_access
reset_access_controls!
update_workflow_responsibilities(remove_agent: remove_agent) if source_model.is_a?(AdminSet)
In 3.6.0
PermissionTemplateForm.update_access
model.reset_access_controls_for(collection: source) this one is the one that causes issue where source is Hyrax::PcdmCollection
update_workflow_responsibilities(remove_agent: remove_agent) if source.is_a?(Hyrax::AdministrativeSet)
One thing is a little strange to me is that the object collection type seems to be different during creating and modifying processes, I wonder if this is the cause of the problem. I can't even find where Hyrax.config.collection_class is.
During creating a collection in app/controllers/hyrax/dashboard/collections_controller.rb
def create
# Manual load and authorize necessary because Cancan will pass in all
# form attributes. When `permissions_attributes` are present the
# collection is saved without a value for `has_model.`
@collection = Hyrax.config.collection_class.new
Rails.logger.error "CollectionsController.create collection_class #{Hyrax.config.collection_class} #{collection.inspect}"
Story
Reported by Bryan Tu via email: