From 67faf630c0b93f87dd4a358cc87646c7927478d6 Mon Sep 17 00:00:00 2001 From: Guillaume Pellerin Date: Tue, 9 Jun 2015 17:09:42 +0200 Subject: [PATCH] add permissions for epub download --- telemeta/models/collection.py | 2 ++ telemeta/models/corpus.py | 2 ++ telemeta/views/epub.py | 3 ++- 3 files changed, 6 insertions(+), 1 deletion(-) diff --git a/telemeta/models/collection.py b/telemeta/models/collection.py index e70fd29d..2b76bda4 100644 --- a/telemeta/models/collection.py +++ b/telemeta/models/collection.py @@ -128,6 +128,8 @@ class MediaCollection(MediaResource): exclude = ['alt_ids', 'travail'] + permissions = (("can_download_collection_epub", "Can download collection EPUB"),) + class Meta(MetaCore): db_table = 'media_collections' ordering = ['code'] diff --git a/telemeta/models/corpus.py b/telemeta/models/corpus.py index a1f28f96..54037477 100644 --- a/telemeta/models/corpus.py +++ b/telemeta/models/corpus.py @@ -55,6 +55,8 @@ class MediaCorpus(MediaBaseResource): objects = MediaCorpusManager() + permissions = (("can_download_corpus_epub", "Can download corpus EPUB"),) + @property def public_id(self): return self.code diff --git a/telemeta/views/epub.py b/telemeta/views/epub.py index 39bb9549..b7758ba4 100644 --- a/telemeta/views/epub.py +++ b/telemeta/views/epub.py @@ -106,7 +106,6 @@ class BaseEpubMixin(TelemetaBaseMixin): self.book.add_item(cover) break - preamble = epub.EpubHtml(title='Copyright', file_name='copyright' + '.xhtml', lang='fr') preamble.content = render_to_string(self.template_preamble, context) preamble.is_chapter = True @@ -209,6 +208,7 @@ class CorpusEpubView(BaseEpubMixin, View): return response @method_decorator(login_required) + @method_decorator(permission_required('telemeta.can_download_corpus_epub')) def dispatch(self, *args, **kwargs): return super(CorpusEpubView, self).dispatch(*args, **kwargs) @@ -231,6 +231,7 @@ class CollectionEpubView(BaseEpubMixin, View): return response @method_decorator(login_required) + @method_decorator(permission_required('telemeta.can_download_collection_epub')) def dispatch(self, *args, **kwargs): return super(CollectionEpubView, self).dispatch(*args, **kwargs) -- 2.39.5