From 4ac9918f152cc49badd4a359bfed41e723161cdf Mon Sep 17 00:00:00 2001 From: Radek Czajka Date: Wed, 5 Oct 2011 13:29:12 +0200 Subject: [PATCH] publishable setting fix --- apps/catalogue/models/book.py | 1 - apps/catalogue/models/chunk.py | 1 + apps/catalogue/models/listeners.py | 7 ++++++- apps/dvcs/models.py | 4 ++-- apps/wiki/views.py | 6 +++--- 5 files changed, 12 insertions(+), 7 deletions(-) diff --git a/apps/catalogue/models/book.py b/apps/catalogue/models/book.py index db52128d..fb593889 100755 --- a/apps/catalogue/models/book.py +++ b/apps/catalogue/models/book.py @@ -42,7 +42,6 @@ class Book(models.Model): ordering = ['parent_number', 'title'] verbose_name = _('book') verbose_name_plural = _('books') - permissions = [('can_pubmark', 'Can mark for publishing')] # Representing diff --git a/apps/catalogue/models/chunk.py b/apps/catalogue/models/chunk.py index 3ce20504..00e18d98 100755 --- a/apps/catalogue/models/chunk.py +++ b/apps/catalogue/models/chunk.py @@ -38,6 +38,7 @@ class Chunk(dvcs_models.Document): ordering = ['number'] verbose_name = _('chunk') verbose_name_plural = _('chunks') + permissions = [('can_pubmark', 'Can mark for publishing')] # Representing # ============ diff --git a/apps/catalogue/models/listeners.py b/apps/catalogue/models/listeners.py index 7848974f..532f1e79 100755 --- a/apps/catalogue/models/listeners.py +++ b/apps/catalogue/models/listeners.py @@ -40,9 +40,14 @@ def publish_listener(sender, *args, **kwargs): post_publish.connect(publish_listener) +def publishable_listener(sender, *args, **kwargs): + sender.tree.touch() + sender.tree.book.touch() +post_publishable.connect(publishable_listener) + + def listener_create(sender, instance, created, **kwargs): if created: instance.chunk_set.create(number=1, slug='1') models.signals.post_save.connect(listener_create, sender=Book) - diff --git a/apps/dvcs/models.py b/apps/dvcs/models.py index 0ba8fe50..6cfda911 100644 --- a/apps/dvcs/models.py +++ b/apps/dvcs/models.py @@ -10,7 +10,7 @@ from django.utils.translation import ugettext_lazy as _ from mercurial import mdiff, simplemerge from django.conf import settings -from dvcs.signals import post_commit +from dvcs.signals import post_commit, post_publishable from dvcs.storage import GzipFileSystemStorage @@ -167,7 +167,7 @@ class Change(models.Model): def set_publishable(self, publishable): self.publishable = publishable self.save() - post_publishable(sender=self, publishable=publishable).send() + post_publishable.send(sender=self, publishable=publishable) def create_tag_model(model): diff --git a/apps/wiki/views.py b/apps/wiki/views.py index 2a317f25..dc2ec6f1 100644 --- a/apps/wiki/views.py +++ b/apps/wiki/views.py @@ -9,7 +9,7 @@ from django.http import Http404 from django.middleware.gzip import GZipMiddleware from django.utils.decorators import decorator_from_middleware from django.utils.encoding import smart_unicode -from django.utils.translation import ugettext_lazy as _ +from django.utils.translation import ugettext as _ from django.views.decorators.http import require_POST, require_GET from django.views.generic.simple import direct_to_template @@ -264,14 +264,14 @@ def history(request, slug, chunk=None): "description": change.description, "author": change.author_str(), "date": change.created_at, - "publishable": "Publishable\n" if change.publishable else "", + "publishable": _("Publishable") + "\n" if change.publishable else "", "tag": ',\n'.join(unicode(tag) for tag in change.tags.all()), }) return JSONResponse(changes) @require_POST -@ajax_require_permission('wiki.can_pubmark') +@ajax_require_permission('catalogue.can_pubmark') def pubmark(request, slug, chunk=None): form = forms.DocumentPubmarkForm(request.POST, prefix="pubmark") if form.is_valid(): -- 2.20.1