X-Git-Url: https://git.mdrn.pl/redakcja.git/blobdiff_plain/c48ff2d3e64065793c24cfb8ae151f02b8e6646a..2de0fde86873c879961365b4b9ce3904a158e84f:/src/wiki/views.py diff --git a/src/wiki/views.py b/src/wiki/views.py index 17f7b73c..543a473c 100644 --- a/src/wiki/views.py +++ b/src/wiki/views.py @@ -7,6 +7,7 @@ import logging from time import mktime from urllib.parse import quote +from django.apps import apps from django.conf import settings from django.urls import reverse from django import http @@ -14,11 +15,11 @@ from django.http import Http404, HttpResponseForbidden from django.middleware.gzip import GZipMiddleware from django.utils.decorators import decorator_from_middleware from django.utils.formats import localize -from django.utils.translation import ugettext as _ +from django.utils.translation import gettext as _ from django.views.decorators.http import require_POST, require_GET from django.shortcuts import get_object_or_404, render -from catalogue.models import Book, Chunk +from documents.models import Book, Chunk from . import nice_diff from wiki import forms from wiki.helpers import (JSONResponse, JSONFormInvalid, JSONServerError, @@ -47,7 +48,7 @@ def editor(request, slug, chunk=None, template_name='wiki/document_details.html' try: book = Book.objects.get(slug=slug) except Book.DoesNotExist: - return http.HttpResponseRedirect(reverse("catalogue_create_missing", args=[slug])) + return http.HttpResponseRedirect(reverse("documents_create_missing", args=[slug])) else: raise Http404 if not chunk.book.accessible(request): @@ -72,11 +73,22 @@ def editor(request, slug, chunk=None, template_name='wiki/document_details.html' "text_revert": forms.DocumentTextRevertForm(prefix="textrevert"), "pubmark": forms.DocumentPubmarkForm(prefix="pubmark"), }, - 'can_pubmark': request.user.has_perm('catalogue.can_pubmark'), + 'can_pubmark': request.user.has_perm('documents.can_pubmark'), 'REDMINE_URL': settings.REDMINE_URL, }) +def editor_user_area(request): + return render(request, 'wiki/editor-user-area.html', { + 'forms': { + "text_save": forms.DocumentTextSaveForm(user=request.user, prefix="textsave"), + "text_revert": forms.DocumentTextRevertForm(prefix="textrevert"), + "pubmark": forms.DocumentPubmarkForm(prefix="pubmark"), + }, + 'can_pubmark': request.user.has_perm('documents.can_pubmark'), + }) + + @require_GET def editor_readonly(request, slug, chunk=None, template_name='wiki/document_details_readonly.html'): try: @@ -130,7 +142,7 @@ def text(request, chunk_id): stage = form.cleaned_data['stage_completed'] tags = [stage] if stage else [] publishable = (form.cleaned_data['publishable'] and - request.user.has_perm('catalogue.can_pubmark')) + request.user.has_perm('documents.can_pubmark')) doc.commit(author=author, text=text, parent=parent, @@ -264,6 +276,8 @@ def revision(request, chunk_id): doc = get_object_or_404(Chunk, pk=chunk_id) if not doc.book.accessible(request): return HttpResponseForbidden("Not authorized.") + Presence = apps.get_model('team', 'Presence') + Presence.report(request.user, doc, request.GET.get('a') == 'true') return http.HttpResponse(str(doc.revision())) @@ -291,7 +305,7 @@ def history(request, chunk_id): @require_POST -@ajax_require_permission('catalogue.can_pubmark') +@ajax_require_permission('documents.can_pubmark') def pubmark(request, chunk_id): form = forms.DocumentPubmarkForm(request.POST, prefix="pubmark") if form.is_valid(): @@ -314,3 +328,7 @@ def pubmark(request, chunk_id): def themes(request): prefix = request.GET.get('q', '') return http.HttpResponse('\n'.join([str(t) for t in Theme.objects.filter(name__istartswith=prefix)])) + + +def back(request): + return render(request, 'wiki/back.html')