X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/4c48c47d0b84e516114c16ee191359166e93a51c..6a259b96cff47e1fd64cbfd6f3d1e1d8e8b6486c:/apps/wiki/views.py diff --git a/apps/wiki/views.py b/apps/wiki/views.py index 75650e09..0455bdde 100644 --- a/apps/wiki/views.py +++ b/apps/wiki/views.py @@ -114,7 +114,10 @@ def text(request, slug, chunk=None): author = None text = form.cleaned_data['text'] parent_revision = form.cleaned_data['parent_revision'] - parent = doc.at_revision(parent_revision) + if parent_revision is not None: + parent = doc.at_revision(parent_revision) + else: + parent = None stage = form.cleaned_data['stage_completed'] tags = [stage] if stage else [] doc.commit(author=author, @@ -137,12 +140,17 @@ def text(request, slug, chunk=None): try: revision = int(revision) except (ValueError, TypeError): - revision = None + revision = doc.revision() + + if revision is not None: + text = doc.at_revision(revision).materialize() + else: + text = '' return JSONResponse({ - 'text': doc.at_revision(revision).materialize(), + 'text': text, 'meta': {}, - 'revision': revision if revision else doc.revision(), + 'revision': revision, }) @@ -272,8 +280,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")})