Skip to content
Snippets Groups Projects
Commit a6cf1059 authored by Hangzhi Yu's avatar Hangzhi Yu
Browse files

Adapt coursebook printing permissions

parent 46846c41
No related branches found
No related tags found
1 merge request!462Resolve "Allow access to other groups for special roles like school management"
Pipeline #194982 failed
...@@ -52,19 +52,6 @@ register_absence_predicate = has_person & ( ...@@ -52,19 +52,6 @@ register_absence_predicate = has_person & (
) )
add_perm("alsijil.register_absence_rule", register_absence_predicate) 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 extra mark list
view_extramarks_predicate = has_person & has_global_perm("alsijil.view_extramark") view_extramarks_predicate = has_person & has_global_perm("alsijil.view_extramark")
add_perm("alsijil.view_extramarks_rule", view_extramarks_predicate) add_perm("alsijil.view_extramarks_rule", view_extramarks_predicate)
...@@ -171,6 +158,18 @@ view_documentations_for_group_predicate = has_person & ( ...@@ -171,6 +158,18 @@ view_documentations_for_group_predicate = has_person & (
) )
add_perm("alsijil.view_documentations_for_group_rule", view_documentations_for_group_predicate) 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 view_documentations_menu_predicate = has_person
add_perm("alsijil.view_documentations_menu_rule", view_documentations_menu_predicate) add_perm("alsijil.view_documentations_menu_rule", view_documentations_menu_predicate)
......
...@@ -54,7 +54,7 @@ def full_register_for_group(request: HttpRequest, ids: str) -> HttpResponse: ...@@ -54,7 +54,7 @@ def full_register_for_group(request: HttpRequest, ids: str) -> HttpResponse:
groups = [] groups = []
for id_ in ids: for id_ in ids:
group = get_object_or_404(Group, pk=id_) 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() raise PermissionDenied()
groups.append(group) groups.append(group)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment