django_coreprotect/views.py

98 lines
3.0 KiB
Python
Raw Normal View History

from django.shortcuts import render
from django.views.generic import View
from django_coreprotect.models import CoWorld
class Home(View):
def get(self, request):
form = form_data(request.GET)
return render(request, "coreprotect/coreprotect.html", {"form": form, "results": result_data(form)})
def post(self, request):
pass
class Form:
block_break = False
block_place = False
chat = False
chest_use = False
command = False
interact = False
login_logout = False
sign_place = False
worlds = []
ignore_environment = False
limit_results = "200"
players = ""
x = ""
y = ""
z = ""
radius = ""
blocks = ""
date_from = ""
date_to = ""
search = False
def form_data(request_data):
form = Form()
worlds = CoWorld.objects.all()
# Actions
form.block_break = checkbox(request_data["block_break"]) if "block_break" in request_data else False
form.block_place = checkbox(request_data["block_place"]) if "block_place" in request_data else False
form.chat = checkbox(request_data["chat"]) if "chat" in request_data else False
form.chest_use = checkbox(request_data["chest_use"]) if "chest_use" in request_data else False
form.command = checkbox(request_data["command"]) if "command" in request_data else False
form.interact = checkbox(request_data["interact"]) if "interact" in request_data else False
form.login_logout = checkbox(request_data["login_logout"]) if "login_logout" in request_data else False
form.sign_place = checkbox(request_data["sign_place"]) if "sign_place" in request_data else False
# Worlds
for world in worlds:
world_id = "world_{}".format(world.id)
w = {
"id": world_id,
"checked": checkbox(request_data[world_id]) if world_id in request_data else False,
"name": world.world
}
form.worlds.append(w)
# Options
form.ignore_environment = checkbox(request_data["ignore_environment"]) if "ignore_environment" in request_data else False
# Limit Results
form.limit_results = request_data["limit_results"] if "limit_results" in request_data else "200"
# Players
form.players = request_data["players"] if "players" in request_data else ""
# Coordinates
form.x = request_data["x"] if "x" in request_data else ""
form.y = request_data["y"] if "y" in request_data else ""
form.z = request_data["z"] if "z" in request_data else ""
form.radius = request_data["radius"] if "radius" in request_data else ""
# Blocks
form.blocks = request_data["blocks"] if "blocks" in request_data else ""
# Date and Time
form.date_from = request_data["date_from"] if "date_from" in request_data else ""
form.date_to = request_data["date_to"] if "date_to" in request_data else ""
# Search
form.search = "search" in request_data and request_data["search"] == "true"
return form
def checkbox(value):
return True if value == "on" else False
def result_data(form):
results = {}
return results