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_should2 = []
# Type is one of msg or notice
#extra_should.append({"match": {"mtype": "msg"}})
#extra_should.append({"match": {"mtype": "notice"}})
# extra_should.append({"match": {"mtype": "msg"}})
# extra_should.append({"match": {"mtype": "notice"}})
extra_should.append({"match": {"type": "znc"}})
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_should2 = []
extra_should2.append({"match": {"nick": channel}})
#extra_should2.append({"match": {"mtype": "msg"}})
#extra_should2.append({"match": {"mtype": "notice"}})
# extra_should2.append({"match": {"mtype": "msg"}})
# extra_should2.append({"match": {"mtype": "notice"}})
extra_should.append({"match": {"type": "query"}})
extra_should2.append({"match": {"type": "self"}})

View File

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