tests fixes
[redakcja.git] / apps / wiki / views.py
index adffcb7..dc2ec6f 100644 (file)
@@ -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")})