Skip to content

Commit

Permalink
♻️ Ensure setting permission template for work factories (#6723)
Browse files Browse the repository at this point in the history
* ♻️ Ensure setting permission template for work factories

Prior to this commit, even if we specified an admin_set as part of
creation, we would not use that set's permission template.  This could
result in inconsistent behavior.

With this commit, we have normalized the behavior.

* Fix issue where trait may not be defined
  • Loading branch information
jeremyf authored Mar 11, 2024
1 parent 94ec447 commit 3542ca7
Showing 1 changed file with 11 additions and 0 deletions.
11 changes: 11 additions & 0 deletions spec/factories/hyrax_work.rb
Original file line number Diff line number Diff line change
Expand Up @@ -66,6 +66,11 @@
.assign_access_for(visibility: evaluator.visibility_setting)
end

if evaluator.respond_to?(:admin_set) && evaluator.admin_set.present?
template = Hyrax::PermissionTemplate.find_by(source_id: evaluator.admin_set.id)
Hyrax::PermissionTemplateApplicator.apply(template).to(model: work) if template
end

work.permission_manager.edit_groups = work.permission_manager.edit_groups.to_a + evaluator.edit_groups
work.permission_manager.edit_users = work.permission_manager.edit_users.to_a + evaluator.edit_users
work.permission_manager.read_users = work.permission_manager.read_users.to_a + evaluator.read_users
Expand All @@ -80,6 +85,12 @@
.new(resource: work)
.assign_access_for(visibility: evaluator.visibility_setting)
end

if evaluator.respond_to?(:admin_set) && evaluator.admin_set.present?
template = Hyrax::PermissionTemplate.find_by(source_id: evaluator.admin_set.id)
Hyrax::PermissionTemplateApplicator.apply(template).to(model: work) if template
end

work.permission_manager.edit_groups = work.permission_manager.edit_groups.to_a + evaluator.edit_groups
work.permission_manager.edit_users = work.permission_manager.edit_users.to_a + evaluator.edit_users
work.permission_manager.read_users = work.permission_manager.read_users.to_a + evaluator.read_users
Expand Down

0 comments on commit 3542ca7

Please sign in to comment.