Skip to content
Snippets Groups Projects
Commit 7d2203bd authored by Bastien Abadie's avatar Bastien Abadie
Browse files

Merge branch 'permission-denied-mixin' into 'master'

Raise an explicit DRF PermissionDenied in Corpus ACL mixin

See merge request !1270
parents e05e0554 94c507d8
No related branches found
No related tags found
1 merge request!1270Raise an explicit DRF PermissionDenied in Corpus ACL mixin
......@@ -36,7 +36,7 @@ class TestDestroyWorkerResults(FixtureAPITestCase):
self.assertEqual(response.status_code, status.HTTP_403_FORBIDDEN)
self.assertDictEqual(
response.json(),
{'detail': 'You do not have permission to perform this action.'}
{'detail': 'You do not have admin access to this corpus.'}
)
def test_worker_results_destroy_wrong_corpus_id(self):
......
from django.conf import settings
from django.core.exceptions import PermissionDenied
from django.db.models import Q
from django.shortcuts import get_object_or_404
from django.views.decorators.cache import cache_page
from drf_spectacular.utils import extend_schema, extend_schema_view
from rest_framework.exceptions import APIException, ValidationError
from rest_framework.exceptions import APIException, PermissionDenied, ValidationError
from rest_framework.serializers import CharField, Serializer
from arkindex.dataimport.models import DataImport, DataImportMode, Repository, Worker
......@@ -131,7 +130,7 @@ class CorpusACLMixin(ACLMixin):
"""
corpus = get_object_or_404(Corpus, id=corpus_id)
if not self.has_access(corpus, role.value):
raise PermissionDenied
raise PermissionDenied(detail=f'You do not have {str(role).lower()} access to this corpus.')
return corpus
@property
......
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