98 lines
3.0 KiB
Python
98 lines
3.0 KiB
Python
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 |