diff --git a/aleksis/apps/alsijil/rules.py b/aleksis/apps/alsijil/rules.py index bea6bb7fcb720e226eff21a968210c3fb96ed8ef..93db2dd87f8415f997200104337d248807a1713d 100644 --- a/aleksis/apps/alsijil/rules.py +++ b/aleksis/apps/alsijil/rules.py @@ -52,19 +52,6 @@ register_absence_predicate = has_person & ( ) add_perm("alsijil.register_absence_rule", register_absence_predicate) -# View full register for group -view_full_register_predicate = has_person & ( - is_group_owner - | ( - is_parent_group_owner - & is_site_preference_set("alsijil", "inherit_privileges_from_parent_group") - ) - | has_global_perm("alsijil.view_full_register") - | has_object_perm("core.view_full_register_group") -) -add_perm("alsijil.view_full_register_rule", view_full_register_predicate) - - # View extra mark list view_extramarks_predicate = has_person & has_global_perm("alsijil.view_extramark") add_perm("alsijil.view_extramarks_rule", view_extramarks_predicate) @@ -171,6 +158,18 @@ view_documentations_for_group_predicate = has_person & ( ) add_perm("alsijil.view_documentations_for_group_rule", view_documentations_for_group_predicate) +print_documentations_for_group_predicate = has_person & ( + has_global_perm("alsijil.view_all_coursebooks") + | has_global_perm("alsijil.view_full_register") + | is_group_owner + | ( + is_parent_group_owner + & is_site_preference_set("alsijil", "inherit_privileges_from_parent_group") + ) + | has_object_perm("core.view_full_register_group") +) +add_perm("alsijil.print_documentations_for_group_rule", print_documentations_for_group_predicate) + view_documentations_menu_predicate = has_person add_perm("alsijil.view_documentations_menu_rule", view_documentations_menu_predicate) diff --git a/aleksis/apps/alsijil/views.py b/aleksis/apps/alsijil/views.py index 71b4cbdd6ee85c3eb280c9f15549e31736b060ab..8cf6f512ae28c69418c35b6dc6da039ea040cbb9 100644 --- a/aleksis/apps/alsijil/views.py +++ b/aleksis/apps/alsijil/views.py @@ -54,7 +54,7 @@ def full_register_for_group(request: HttpRequest, ids: str) -> HttpResponse: groups = [] for id_ in ids: group = get_object_or_404(Group, pk=id_) - if not request.user.has_perm("alsijil.view_full_register_rule", group): + if not request.user.has_perm("alsijil.print_documentations_for_group_rule", group): raise PermissionDenied() groups.append(group)