Skip to content

Commit

Permalink
Merge pull request #569 from kobotoolbox/568-user-cannot-validate-wit…
Browse files Browse the repository at this point in the history
…h-validate-xform

Non-owner users with 'validation_xform' permissions cannot validate submissions.
  • Loading branch information
jnm committed Aug 9, 2019
2 parents ccafe55 + b1b626e commit 0b58e81
Showing 1 changed file with 6 additions and 2 deletions.
8 changes: 6 additions & 2 deletions onadata/apps/api/permissions.py
Expand Up @@ -3,7 +3,7 @@
from rest_framework.permissions import IsAuthenticated

from onadata.libs.permissions import CAN_ADD_XFORM_TO_PROFILE
from onadata.libs.permissions import CAN_CHANGE_XFORM
from onadata.libs.permissions import CAN_CHANGE_XFORM, CAN_VALIDATE_XFORM
from onadata.apps.api.tools import get_user_profile_or_none, \
check_inherit_permission_from_project
from onadata.apps.logger.models import XForm
Expand Down Expand Up @@ -73,9 +73,13 @@ def has_object_permission(self, request, view, obj):

if request.method == 'DELETE' and view.action == 'labels':
user = request.user

return user.has_perms([CAN_CHANGE_XFORM], obj)

if request.method in ['PATCH', 'DELETE'] \
and view.action.endswith('validation_status'):
user = request.user
return user.has_perms([CAN_VALIDATE_XFORM], obj)

return super(XFormPermissions, self).has_object_permission(
request, view, obj)

Expand Down

0 comments on commit 0b58e81

Please sign in to comment.