diff --git a/HISTORY.rst b/HISTORY.rst index b3f8d64979..d3b7aed3a9 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -35,6 +35,7 @@ - When changing document types, don't delete the old metadata that is also found in the new document type. GitLab issue #421. - Add tag attach and tag remove events. +- Change the permission needed to attach and remove tags. 2.6.4 (2017-07-26) ================== diff --git a/mayan/apps/tags/forms.py b/mayan/apps/tags/forms.py index ea8f48851b..4afbf9cfc8 100644 --- a/mayan/apps/tags/forms.py +++ b/mayan/apps/tags/forms.py @@ -17,6 +17,7 @@ logger = logging.getLogger(__name__) class TagMultipleSelectionForm(forms.Form): def __init__(self, *args, **kwargs): help_text = kwargs.pop('help_text', None) + permission = kwargs.pop('permission', permission_tag_view) queryset = kwargs.pop('queryset', Tag.objects.all()) user = kwargs.pop('user', None) @@ -24,7 +25,7 @@ class TagMultipleSelectionForm(forms.Form): super(TagMultipleSelectionForm, self).__init__(*args, **kwargs) queryset = AccessControlList.objects.filter_by_access( - permission=permission_tag_view, queryset=queryset, user=user + permission=permission, queryset=queryset, user=user ) self.fields['tags'] = forms.ModelMultipleChoiceField( diff --git a/mayan/apps/tags/views.py b/mayan/apps/tags/views.py index 9dd4e6b447..3b405bb372 100644 --- a/mayan/apps/tags/views.py +++ b/mayan/apps/tags/views.py @@ -63,6 +63,7 @@ class TagAttachActionView(MultipleObjectFormActionView): queryset = self.get_queryset() result = { 'help_text': _('Tags to be attached.'), + 'permission': permission_tag_attach, 'user': self.request.user } @@ -94,7 +95,7 @@ class TagAttachActionView(MultipleObjectFormActionView): } ) else: - tag.attach_to(instance) + tag.attach_to(document=instance, user=self.request.user) messages.success( self.request, _( @@ -269,6 +270,7 @@ class TagRemoveActionView(MultipleObjectFormActionView): queryset = self.get_queryset() result = { 'help_text': _('Tags to be removed.'), + 'permission': permission_tag_remove, 'user': self.request.user } @@ -299,7 +301,7 @@ class TagRemoveActionView(MultipleObjectFormActionView): } ) else: - tag.remove_from(instance) + tag.remove_from(document=instance, user=self.request.user) messages.success( self.request, _(