diff --git a/taiga/projects/wiki/permissions.py b/taiga/projects/wiki/permissions.py index 5bd0d2a9..5a197b76 100644 --- a/taiga/projects/wiki/permissions.py +++ b/taiga/projects/wiki/permissions.py @@ -24,6 +24,7 @@ class WikiPagePermission(ResourcePermission): retrieve_perms = HasProjectPerm('view_wiki_pages') create_perms = HasProjectPerm('add_wiki_page') update_perms = HasProjectPerm('modify_wiki_page') + partial_update_perms = HasProjectPerm('modify_wiki_page') destroy_perms = HasProjectPerm('delete_wiki_page') list_perms = AllowAny() render_perms = AllowAny() @@ -34,5 +35,6 @@ class WikiLinkPermission(ResourcePermission): retrieve_perms = HasProjectPerm('view_wiki_links') create_perms = HasProjectPerm('add_wiki_link') update_perms = HasProjectPerm('modify_wiki_link') + partial_update_perms = HasProjectPerm('modify_wiki_link') destroy_perms = HasProjectPerm('delete_wiki_link') list_perms = AllowAny() diff --git a/taiga/projects/wiki/serializers.py b/taiga/projects/wiki/serializers.py index 1632324f..d248211a 100644 --- a/taiga/projects/wiki/serializers.py +++ b/taiga/projects/wiki/serializers.py @@ -18,11 +18,14 @@ from rest_framework import serializers from . import models +from taiga.projects.history import services as history_service + from taiga.mdrender.service import render as mdrender class WikiPageSerializer(serializers.ModelSerializer): html = serializers.SerializerMethodField("get_html") + editions = serializers.SerializerMethodField("get_editions") class Meta: model = models.WikiPage @@ -30,6 +33,9 @@ class WikiPageSerializer(serializers.ModelSerializer): def get_html(self, obj): return mdrender(obj.project, obj.content) + def get_editions(self, obj): + return history_service.get_history_queryset_by_model_instance(obj).count() + class WikiLinkSerializer(serializers.ModelSerializer):