Merge pull request #19690 from edx/dcs/retire-perm
Refactored the retirement permission to use Django rules
This commit is contained in:
@@ -3,7 +3,6 @@ Permissions classes for User accounts API views.
|
||||
"""
|
||||
from __future__ import unicode_literals
|
||||
|
||||
from django.conf import settings
|
||||
from rest_framework import permissions
|
||||
|
||||
|
||||
@@ -23,7 +22,4 @@ class CanRetireUser(permissions.BasePermission):
|
||||
retire a User account.
|
||||
"""
|
||||
def has_permission(self, request, view):
|
||||
return (
|
||||
request.user.username == settings.RETIREMENT_SERVICE_WORKER_USERNAME or
|
||||
request.user.is_superuser
|
||||
)
|
||||
return request.user.has_perm('accounts.can_retire_user')
|
||||
|
||||
20
openedx/core/djangoapps/user_api/rules.py
Normal file
20
openedx/core/djangoapps/user_api/rules.py
Normal file
@@ -0,0 +1,20 @@
|
||||
"""
|
||||
Django rules for accounts
|
||||
"""
|
||||
from __future__ import absolute_import
|
||||
|
||||
from django.conf import settings
|
||||
import rules
|
||||
|
||||
|
||||
@rules.predicate
|
||||
def can_retire_user(user):
|
||||
"""
|
||||
Returns whether the user can retire accounts
|
||||
"""
|
||||
return (
|
||||
user.username == settings.RETIREMENT_SERVICE_WORKER_USERNAME or
|
||||
user.is_superuser
|
||||
)
|
||||
|
||||
rules.add_perm('accounts.can_retire_user', can_retire_user)
|
||||
Reference in New Issue
Block a user