X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/391b7a7b21da0ae7aae68826cfee514c8ea7eca9..753e8bf1e2fe3ccc0a21166cc7da1d88c08bbb89:/apps/wiki/views.py diff --git a/apps/wiki/views.py b/apps/wiki/views.py index adffcb76..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 @@ -229,7 +229,11 @@ def diff(request, slug, chunk=None): doc = Chunk.get(slug, chunk) except (Chunk.MultipleObjectsReturned, Chunk.DoesNotExist): raise Http404 - docA = doc.at_revision(revA).materialize() + # allow diff from the beginning + if revA: + docA = doc.at_revision(revA).materialize() + else: + docA = "" docB = doc.at_revision(revB).materialize() return http.HttpResponse(nice_diff.html_diff_table(docA.splitlines(), @@ -260,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(): @@ -280,8 +284,7 @@ def pubmark(request, slug, chunk=None): publishable = form.cleaned_data['publishable'] change = doc.at_revision(revision) if publishable != change.publishable: - change.publishable = publishable - change.save() + change.set_publishable(publishable) return JSONResponse({"message": _("Revision marked")}) else: return JSONResponse({"message": _("Nothing changed")})