diff --git a/core/lib/context.py b/core/lib/context.py index 1976fda..c4607ad 100644 --- a/core/lib/context.py +++ b/core/lib/context.py @@ -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"}}) diff --git a/core/views/ui/drilldown.py b/core/views/ui/drilldown.py index d55f314..59054d0 100644 --- a/core/views/ui/drilldown.py +++ b/core/views/ui/drilldown.py @@ -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)