Skip to content

Commit

Permalink
chore: rename rule to toggle_site, remove is_element_editor and use s…
Browse files Browse the repository at this point in the history
…ettings.SITE_ID
  • Loading branch information
MyPyDavid committed Feb 12, 2024
1 parent bf61f0b commit b55935c
Show file tree
Hide file tree
Showing 2 changed files with 7 additions and 10 deletions.
3 changes: 1 addition & 2 deletions rdmo/core/permissions.py
Original file line number Diff line number Diff line change
Expand Up @@ -81,8 +81,7 @@ def has_permission(self, request, view):
class CanToggleElementCurrentSite(DjangoModelPermissions):

perms_map = {
'GET': ['%(app_label)s.view_%(model_name)s'],
'PUT': ['%(app_label)s.change_%(model_name)s_toggle_own_site'],
'PUT': ['%(app_label)s.change_%(model_name)s_toggle_site'],
}

@log_result
Expand Down
14 changes: 6 additions & 8 deletions rdmo/management/rules.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
import logging

from django.contrib.sites.models import Site
from django.conf import settings

import rules
from rules.predicates import is_authenticated, is_superuser
Expand All @@ -19,8 +19,7 @@ def is_editor_for_current_site(user) -> bool:
''' Checks if any editor role exists for the user '''
if not is_editor(user):
return False # if the user is not an editor, return False
current_site = Site.objects.get_current()
return user.role.editor.filter(id=current_site.id).exists()
return user.role.editor.filter(id=settings.SITE_ID).exists()


@rules.predicate
Expand Down Expand Up @@ -52,8 +51,7 @@ def is_reviewer_for_current_site(user) -> bool:
''' Checks if any reviewer role exists for the user '''
if not is_reviewer(user):
return False # if the user is not an reviewer, return False
current_site = Site.objects.get_current()
return user.role.reviewer.filter(id=current_site.id).exists()
return user.role.reviewer.filter(id=settings.SITE_ID).exists()


@rules.predicate
Expand Down Expand Up @@ -153,7 +151,7 @@ def is_legacy_reviewer(user) -> bool:
rules.add_perm('tasks.change_task_object', is_element_editor)
rules.add_perm('tasks.delete_task_object', is_element_editor)
# toggle current site field perm
rules.add_perm('tasks.change_task_toggle_own_site', is_element_editor | is_editor_for_current_site)
rules.add_perm('tasks.change_task_toggle_site', is_editor_for_current_site)

# Model Permissions for views
rules.add_perm('views.view_view', is_editor | is_reviewer)
Expand All @@ -165,7 +163,7 @@ def is_legacy_reviewer(user) -> bool:
rules.add_perm('views.change_view_object', is_element_editor)
rules.add_perm('views.delete_view_object', is_element_editor)
# toggle current site field perm
rules.add_perm('views.change_view_toggle_own_site', is_element_editor | is_editor_for_current_site)
rules.add_perm('views.change_view_toggle_site', is_editor_for_current_site)

# Model permissions for catalogs
rules.add_perm('questions.view_catalog', is_editor | is_reviewer)
Expand All @@ -177,7 +175,7 @@ def is_legacy_reviewer(user) -> bool:
rules.add_perm('questions.change_catalog_object', is_element_editor)
rules.add_perm('questions.delete_catalog_object', is_element_editor)
# toggle current site field perm
rules.add_perm('questions.change_catalog_toggle_own_site', is_element_editor | is_editor_for_current_site)
rules.add_perm('questions.change_catalog_toggle_site', is_editor_for_current_site)

# Model permissions for sections
rules.add_perm('questions.view_section', is_editor | is_reviewer)
Expand Down

0 comments on commit b55935c

Please sign in to comment.