From 8d50e5ecb99cb265f8fb10509a7ec5dd282f8927 Mon Sep 17 00:00:00 2001 From: Michael Price Date: Sat, 17 Feb 2018 03:02:18 -0400 Subject: [PATCH] Fix document tag serializer error when trying to add a tag to a document without having the tag attach permission. Signed-off-by: Michael Price --- mayan/apps/tags/serializers.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/mayan/apps/tags/serializers.py b/mayan/apps/tags/serializers.py index 6a8830f792..daf0fcdbf5 100644 --- a/mayan/apps/tags/serializers.py +++ b/mayan/apps/tags/serializers.py @@ -1,5 +1,6 @@ from __future__ import absolute_import, unicode_literals +from django.core.exceptions import PermissionDenied from django.utils.translation import ugettext_lazy as _ from rest_framework import serializers @@ -109,12 +110,15 @@ class NewDocumentTagSerializer(serializers.Serializer): try: tag = Tag.objects.get(pk=validated_data['tag_pk']) - AccessControlList.objects.check_access( - permissions=permission_tag_attach, - user=self.context['request'].user, obj=tag - ) - - tag.documents.add(validated_data['document']) + try: + AccessControlList.objects.check_access( + permissions=permission_tag_attach, + user=self.context['request'].user, obj=tag + ) + except PermissionDenied: + pass + else: + tag.documents.add(validated_data['document']) except Exception as exception: raise ValidationError(exception)