Recognise queries

This commit is contained in:
Mark Veidemanis 2022-08-15 19:39:26 +01:00
parent a43bb5e861
commit fdcfc715c8
Signed by: m
GPG Key ID: 5ACFCEED46C0904F
2 changed files with 32 additions and 17 deletions

View File

@ -31,8 +31,8 @@ def construct_query(index, net, channel, src, num, size, type=None, nicks=None):
extra_must.remove({"match": {"channel": channel}}) extra_must.remove({"match": {"channel": channel}})
extra_should2 = [] extra_should2 = []
# Type is one of msg or notice # Type is one of msg or notice
#extra_should.append({"match": {"mtype": "msg"}}) # extra_should.append({"match": {"mtype": "msg"}})
#extra_should.append({"match": {"mtype": "notice"}}) # extra_should.append({"match": {"mtype": "notice"}})
extra_should.append({"match": {"type": "znc"}}) extra_should.append({"match": {"type": "znc"}})
extra_should.append({"match": {"type": "self"}}) extra_should.append({"match": {"type": "self"}})
@ -43,8 +43,8 @@ def construct_query(index, net, channel, src, num, size, type=None, nicks=None):
extra_must.remove({"match": {"channel": channel}}) extra_must.remove({"match": {"channel": channel}})
extra_should2 = [] extra_should2 = []
extra_should2.append({"match": {"nick": channel}}) extra_should2.append({"match": {"nick": channel}})
#extra_should2.append({"match": {"mtype": "msg"}}) # extra_should2.append({"match": {"mtype": "msg"}})
#extra_should2.append({"match": {"mtype": "notice"}}) # extra_should2.append({"match": {"mtype": "notice"}})
extra_should.append({"match": {"type": "query"}}) extra_should.append({"match": {"type": "query"}})
extra_should2.append({"match": {"type": "self"}}) extra_should2.append({"match": {"type": "self"}})

View File

@ -252,6 +252,7 @@ class DrilldownContextModal(APIView):
size = 20 size = 20
nicks = None nicks = None
query = False
# Create the query params from the POST arguments # Create the query params from the POST arguments
mandatory = ["net", "channel", "num", "src", "index", "nick", "type"] mandatory = ["net", "channel", "num", "src", "index", "nick", "type"]
invalid = [None, False, "", "None"] invalid = [None, False, "", "None"]
@ -269,15 +270,17 @@ class DrilldownContextModal(APIView):
query_params[key] = None query_params[key] = None
type = None type = None
# SUPERUSER BLOCK #
if request.user.is_superuser:
if "type" in query_params: if "type" in query_params:
type = query_params["type"] type = query_params["type"]
if type == "znc": if type == "znc":
query_params["channel"] = "*status" query_params["channel"] = "*status"
if request.user.is_superuser:
if type in ["query", "notice"]: if type in ["query", "notice"]:
nicks = [query_params["channel"], query_params["nick"]] nicks = [query_params["channel"], query_params["nick"]]
query_params["sorting"] = "desc" query = True
if ( if (
query_params["index"] == "int" query_params["index"] == "int"
and query_params["mtype"] == "msg" and query_params["mtype"] == "msg"
@ -285,6 +288,17 @@ class DrilldownContextModal(APIView):
): ):
query_params["index"] = "main" query_params["index"] = "main"
if query_params["type"] in ["znc", "auth"]:
query = True
# SUPERUSER BLOCK #
if not request.user.is_superuser:
if "index" in query_params:
query_params["index"] = "main"
query_params["sorting"] = "desc"
# Create the query with the context helper # Create the query with the context helper
search_query = construct_query( search_query = construct_query(
query_params["index"], query_params["index"],
@ -326,7 +340,8 @@ class DrilldownContextModal(APIView):
"mtype": query_params["mtype"], "mtype": query_params["mtype"],
"nick": query_params["nick"], "nick": query_params["nick"],
} }
if nicks: if request.user.is_superuser:
if query:
context["query"] = True context["query"] = True
return render(request, self.template_name, context) return render(request, self.template_name, context)