- doc = get_object_or_404(Chunk, pk=chunk_id)
-
- changes = []
- for change in doc.history().order_by('-created_at'):
- changes.append({
- "version": change.revision,
- "description": change.description,
- "author": change.author_str(),
- "date": change.created_at,
- "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('catalogue.can_pubmark')
-def pubmark(request, chunk_id):
- form = forms.DocumentPubmarkForm(request.POST, prefix="pubmark")
- if form.is_valid():
- doc = get_object_or_404(Chunk, pk=chunk_id)
-
- revision = form.cleaned_data['revision']
- publishable = form.cleaned_data['publishable']
- change = doc.at_revision(revision)
- if publishable != change.publishable:
- change.set_publishable(publishable)
- return JSONResponse({"message": _("Revision marked")})
- else:
- return JSONResponse({"message": _("Nothing changed")})
- else:
- return JSONFormInvalid(form)
-