kpsul/kfet/open/views.py

33 lines
987 B
Python
Raw Normal View History

2022-06-27 15:34:24 +02:00
from asgiref.sync import async_to_sync
2017-06-22 15:48:45 +02:00
from django.conf import settings
from django.contrib.auth.decorators import permission_required
from django.core.exceptions import PermissionDenied
from django.http import HttpResponse
from django.views.decorators.csrf import csrf_exempt
from django.views.decorators.http import require_POST
from .open import kfet_open
TRUE_STR = ["1", "True", "true"]
@csrf_exempt
@require_POST
def raw_open(request):
token = request.POST.get("token")
2017-06-22 15:48:45 +02:00
if token != settings.KFETOPEN_TOKEN:
raise PermissionDenied
raw_open = request.POST.get("raw_open") in TRUE_STR
kfet_open.raw_open = raw_open
2022-06-27 15:34:24 +02:00
async_to_sync(kfet_open.send_ws)()
return HttpResponse()
@permission_required("kfet.can_force_close", raise_exception=True)
@require_POST
def force_close(request):
force_close = request.POST.get("force_close") in TRUE_STR
kfet_open.force_close = force_close
2022-06-27 15:34:24 +02:00
async_to_sync(kfet_open.send_ws)()
return HttpResponse()