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

Rename has_person_predicate predicate to has_predicate

Rename has_person_predicate predicate to has_predicate
parent e6206af4
No related branches found
No related tags found
1 merge request!207Resolve "Roles and permissions"
Pipeline #1589 failed
...@@ -2,7 +2,7 @@ from rules import add_perm, always_allow ...@@ -2,7 +2,7 @@ from rules import add_perm, always_allow
from aleksis.core.models import Person, Group, Announcement from aleksis.core.models import Person, Group, Announcement
from aleksis.core.util.predicates import ( from aleksis.core.util.predicates import (
has_person_predicate, has_person,
has_global_perm, has_global_perm,
has_any_object, has_any_object,
is_current_person, is_current_person,
...@@ -13,82 +13,82 @@ from aleksis.core.util.predicates import ( ...@@ -13,82 +13,82 @@ from aleksis.core.util.predicates import (
add_perm("core", always_allow) add_perm("core", always_allow)
# View dashboard # View dashboard
add_perm("core.view_dashboard", has_person_predicate) add_perm("core.view_dashboard", has_person)
# Use search # Use search
search_predicate = has_person_predicate & has_global_perm("core.search") search_predicate = has_person & has_global_perm("core.search")
add_perm("core.search", search_predicate) add_perm("core.search", search_predicate)
# View persons # View persons
view_persons_predicate = has_person_predicate & ( view_persons_predicate = has_person & (
has_global_perm("core.view_person") | has_any_object("core.view_person", Person) has_global_perm("core.view_person") | has_any_object("core.view_person", Person)
) )
add_perm("core.view_persons", view_persons_predicate) add_perm("core.view_persons", view_persons_predicate)
# View person # View person
view_person_predicate = has_person_predicate & ( view_person_predicate = has_person & (
has_global_perm("core.view_person") | has_object_perm("core.view_person") | is_current_person has_global_perm("core.view_person") | has_object_perm("core.view_person") | is_current_person
) )
add_perm("core.view_person", view_person_predicate) add_perm("core.view_person", view_person_predicate)
# View person address # View person address
view_address_predicate = has_person_predicate & ( view_address_predicate = has_person & (
has_global_perm("core.view_address") | has_object_perm("core.view_address") | is_current_person has_global_perm("core.view_address") | has_object_perm("core.view_address") | is_current_person
) )
add_perm("core.view_address", view_address_predicate) add_perm("core.view_address", view_address_predicate)
# View person contact details # View person contact details
view_contact_details_predicate = has_person_predicate & ( view_contact_details_predicate = has_person & (
has_global_perm("core.view_contact_details") | has_object_perm("core.view_contact_details") | is_current_person has_global_perm("core.view_contact_details") | has_object_perm("core.view_contact_details") | is_current_person
) )
add_perm("core.view_contact_details", view_contact_details_predicate) add_perm("core.view_contact_details", view_contact_details_predicate)
# View person photo # View person photo
view_photo_predicate = has_person_predicate & ( view_photo_predicate = has_person & (
has_global_perm("core.view_photo") | has_object_perm("core.view_photo") | is_current_person has_global_perm("core.view_photo") | has_object_perm("core.view_photo") | is_current_person
) )
add_perm("core.view_photo", view_photo_predicate) add_perm("core.view_photo", view_photo_predicate)
# View persons groups # View persons groups
view_groups_predicate = has_person_predicate & ( view_groups_predicate = has_person & (
has_global_perm("core.view_person_groups") | has_object_perm("core.view_person_groups") | is_current_person has_global_perm("core.view_person_groups") | has_object_perm("core.view_person_groups") | is_current_person
) )
add_perm("core.view_person_groups", view_groups_predicate) add_perm("core.view_person_groups", view_groups_predicate)
# Edit person # Edit person
edit_person_predicate = has_person_predicate & ( edit_person_predicate = has_person & (
has_global_perm("core.change_person") | has_object_perm("core.change_person") has_global_perm("core.change_person") | has_object_perm("core.change_person")
) )
add_perm("core.edit_person", edit_person_predicate) add_perm("core.edit_person", edit_person_predicate)
# Link persons with accounts # Link persons with accounts
link_persons_accounts_predicate = has_person_predicate & has_global_perm("core.link_persons_accounts") link_persons_accounts_predicate = has_person & has_global_perm("core.link_persons_accounts")
add_perm("core.link_persons_accounts", link_persons_accounts_predicate) add_perm("core.link_persons_accounts", link_persons_accounts_predicate)
# View groups # View groups
view_groups_predicate = has_person_predicate & ( view_groups_predicate = has_person & (
has_global_perm("core.view_group") | has_any_object("core.view_group", Group) has_global_perm("core.view_group") | has_any_object("core.view_group", Group)
) )
add_perm("core.view_groups", view_groups_predicate) add_perm("core.view_groups", view_groups_predicate)
# View group # View group
view_group_predicate = has_person_predicate & ( view_group_predicate = has_person & (
has_global_perm("core.view_group") | has_object_perm("core.view_group") has_global_perm("core.view_group") | has_object_perm("core.view_group")
) )
add_perm("core.view_group", view_group_predicate) add_perm("core.view_group", view_group_predicate)
# Edit group # Edit group
edit_group_predicate = has_person_predicate & ( edit_group_predicate = has_person & (
has_global_perm("core.change_group") | has_object_perm("core.change_group") has_global_perm("core.change_group") | has_object_perm("core.change_group")
) )
add_perm("core.edit_group", edit_group_predicate) add_perm("core.edit_group", edit_group_predicate)
# Edit school information # Edit school information
edit_school_information_predicate = has_person_predicate & has_global_perm("core.change_school") edit_school_information_predicate = has_person & has_global_perm("core.change_school")
add_perm("core.edit_school_information", edit_school_information_predicate) add_perm("core.edit_school_information", edit_school_information_predicate)
# Edit school term # Edit school term
edit_schoolterm_predicate = has_person_predicate & has_global_perm("core.change_schoolterm") edit_schoolterm_predicate = has_person & has_global_perm("core.change_schoolterm")
add_perm("core.edit_schoolterm", edit_schoolterm_predicate) add_perm("core.edit_schoolterm", edit_schoolterm_predicate)
# Manage school # Manage school
...@@ -96,38 +96,38 @@ manage_school_predicate = edit_school_information_predicate | edit_schoolterm_pr ...@@ -96,38 +96,38 @@ manage_school_predicate = edit_school_information_predicate | edit_schoolterm_pr
add_perm("core.manage_school", manage_school_predicate) add_perm("core.manage_school", manage_school_predicate)
# Manage data # Manage data
manage_data_predicate = has_person_predicate & has_global_perm("core.manage_data") manage_data_predicate = has_person & has_global_perm("core.manage_data")
add_perm("core.manage_data", manage_data_predicate) add_perm("core.manage_data", manage_data_predicate)
# View announcements # View announcements
view_announcements_predicate = has_person_predicate & ( view_announcements_predicate = has_person & (
has_global_perm("core.view_announcement") | has_any_object("core.view_announcement", Announcement) has_global_perm("core.view_announcement") | has_any_object("core.view_announcement", Announcement)
) )
add_perm("core.view_announcements", view_announcements_predicate) add_perm("core.view_announcements", view_announcements_predicate)
# Create or edit announcement # Create or edit announcement
create_or_edit_announcement_predicate = has_person_predicate & ( create_or_edit_announcement_predicate = has_person & (
has_global_perm("core.add_announcement") & (has_global_perm("core.change_announcement") | has_object_perm("core.change_announcement")) has_global_perm("core.add_announcement") & (has_global_perm("core.change_announcement") | has_object_perm("core.change_announcement"))
) )
add_perm("core.create_or_edit_announcement", create_or_edit_announcement_predicate) add_perm("core.create_or_edit_announcement", create_or_edit_announcement_predicate)
# Delete announcement # Delete announcement
delete_announcement_predicate = has_person_predicate & ( delete_announcement_predicate = has_person & (
has_global_perm("core.delete_announcement") | has_object_perm("core.delete_announcement") has_global_perm("core.delete_announcement") | has_object_perm("core.delete_announcement")
) )
add_perm("core.delete_announcement", delete_announcement_predicate) add_perm("core.delete_announcement", delete_announcement_predicate)
# Use impersonate # Use impersonate
impersonate_predicate = has_person_predicate & has_global_perm("core.impersonate") impersonate_predicate = has_person & has_global_perm("core.impersonate")
add_perm("core.impersonate", impersonate_predicate) add_perm("core.impersonate", impersonate_predicate)
# View system status # View system status
view_system_status_predicate = has_person_predicate & has_global_perm("core.view_system_status") view_system_status_predicate = has_person & has_global_perm("core.view_system_status")
add_perm("core.view_system_status", view_system_status_predicate) add_perm("core.view_system_status", view_system_status_predicate)
# View people menu (persons + objects) # View people menu (persons + objects)
add_perm("core.view_people_menu", has_person_predicate & (view_persons_predicate | view_groups_predicate)) add_perm("core.view_people_menu", has_person & (view_persons_predicate | view_groups_predicate))
# View admin menu # View admin menu
view_admin_menu_predicate = has_person_predicate & (manage_data_predicate | manage_school_predicate | impersonate_predicate | view_system_status_predicate | view_announcements_predicate) view_admin_menu_predicate = has_person & (manage_data_predicate | manage_school_predicate | impersonate_predicate | view_system_status_predicate | view_announcements_predicate)
add_perm("core.view_admin_menu", view_admin_menu_predicate) add_perm("core.view_admin_menu", view_admin_menu_predicate)
...@@ -6,7 +6,7 @@ from guardian.backends import ObjectPermissionBackend ...@@ -6,7 +6,7 @@ from guardian.backends import ObjectPermissionBackend
from guardian.shortcuts import get_objects_for_user from guardian.shortcuts import get_objects_for_user
from rules import predicate from rules import predicate
from aleksis.core.util.core_helpers import has_person from aleksis.core.util.core_helpers import has_person as has_person_helper
# 1. Global permissions (view all, add, change all, delete all) # 1. Global permissions (view all, add, change all, delete all)
# 2. Object permissions (view, change, delete) # 2. Object permissions (view, change, delete)
...@@ -73,10 +73,10 @@ def has_any_object(perm: str, klass): ...@@ -73,10 +73,10 @@ def has_any_object(perm: str, klass):
@predicate @predicate
def has_person_predicate(user: User) -> bool: def has_person(user: User) -> bool:
""" Predicate which checks whether a user has a linked person """ """ Predicate which checks whether a user has a linked person """
return has_person(user) return has_person_helper(user)
@predicate @predicate
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment