diff --git a/korektury/api/urls.py b/korektury/api/urls.py new file mode 100644 index 00000000..23ac8559 --- /dev/null +++ b/korektury/api/urls.py @@ -0,0 +1,7 @@ +from django.urls import path +from personalni.utils import org_required +from . import views + +urlpatterns = [ + path('korektury/api//stav', org_required(views.korektury_stav_view), name='korektury_api_pdf_stav'), +] diff --git a/korektury/api/views.py b/korektury/api/views.py new file mode 100644 index 00000000..358a3502 --- /dev/null +++ b/korektury/api/views.py @@ -0,0 +1,20 @@ +from django.http import HttpResponseForbidden, JsonResponse +from django.shortcuts import get_object_or_404 +from django.views.decorators.csrf import csrf_exempt + +from rest_framework import serializers + +from korektury.utils import send_email_notification_komentar +from korektury.models import Oprava, KorekturovanePDF, Komentar +from personalni.models import Organizator, Osoba + + +def korektury_stav_view(request, pdf_id: int, **kwargs): + q = request.POST + pdf = get_object_or_404(KorekturovanePDF, id=pdf_id) + status = q.get('state') + if status is not None: + assert status in KorekturovanePDF.STATUS.values + pdf.status = status + pdf.save() + return JsonResponse({'status': pdf.status}) diff --git a/korektury/templates/korektury/korekturovatko/_zmena_stavu.html b/korektury/templates/korektury/korekturovatko/_zmena_stavu.html index e0415019..d2cb9bec 100644 --- a/korektury/templates/korektury/korekturovatko/_zmena_stavu.html +++ b/korektury/templates/korektury/korekturovatko/_zmena_stavu.html @@ -1,9 +1,8 @@

Změnit stav PDF:

Aktuální: {{pdf.status}}
-
+ {% csrf_token %} - Přidávání korektur
Zanášení korektur @@ -12,3 +11,35 @@
+ + + diff --git a/korektury/urls.py b/korektury/urls.py index cf45ea8f..6dc00a4e 100644 --- a/korektury/urls.py +++ b/korektury/urls.py @@ -1,4 +1,6 @@ from django.urls import path +from django.urls import include + from personalni.utils import org_required from . import views @@ -7,4 +9,6 @@ urlpatterns = [ path('korektury/neseskupene/', org_required(views.KorekturyAktualniListView.as_view()), name='korektury_neseskupene_list'), path('korektury/zastarale/', org_required(views.KorekturyZastaraleListView.as_view()), name='korektury_stare_list'), path('korektury//', org_required(views.KorekturyView.as_view()), name='korektury'), + + path('api/', include('korektury.api.urls')), ]