|
|
@ -18,7 +18,11 @@ class Drilldown(LoginRequiredMixin, View):
|
|
|
|
def get(self, request):
|
|
|
|
def get(self, request):
|
|
|
|
if not request.user.has_plan(self.plan_name):
|
|
|
|
if not request.user.has_plan(self.plan_name):
|
|
|
|
return render(request, "denied.html")
|
|
|
|
return render(request, "denied.html")
|
|
|
|
context = {"fields": settings.OPENSEARCH_MAIN_SEARCH_FIELDS}
|
|
|
|
context = {
|
|
|
|
|
|
|
|
"fields": settings.OPENSEARCH_MAIN_SEARCH_FIELDS,
|
|
|
|
|
|
|
|
"sizes": settings.OPENSEARCH_MAIN_SIZES,
|
|
|
|
|
|
|
|
"timescales": settings.OPENSEARCH_MAIN_TIMESCALES,
|
|
|
|
|
|
|
|
}
|
|
|
|
return render(request, self.template_name, context)
|
|
|
|
return render(request, self.template_name, context)
|
|
|
|
|
|
|
|
|
|
|
|
def post(self, request):
|
|
|
|
def post(self, request):
|
|
|
@ -27,13 +31,15 @@ class Drilldown(LoginRequiredMixin, View):
|
|
|
|
fields = None
|
|
|
|
fields = None
|
|
|
|
if "fields" in request.POST:
|
|
|
|
if "fields" in request.POST:
|
|
|
|
fields = request.POST.getlist("fields")
|
|
|
|
fields = request.POST.getlist("fields")
|
|
|
|
if "results" in request.POST:
|
|
|
|
if "size" in request.POST:
|
|
|
|
results = request.POST["results"]
|
|
|
|
size = request.POST["size"]
|
|
|
|
if "query" in request.POST:
|
|
|
|
if "query" in request.POST:
|
|
|
|
query = request.POST["query"]
|
|
|
|
query = request.POST["query"]
|
|
|
|
# field = results.POST["field"]
|
|
|
|
# field = results.POST["field"]
|
|
|
|
# print("FIELD ", field)
|
|
|
|
# print("FIELD ", field)
|
|
|
|
results = run_main_query(client, query, fields, results)
|
|
|
|
results = run_main_query(client, request.user, query, fields, size)
|
|
|
|
|
|
|
|
if not results:
|
|
|
|
|
|
|
|
return render(request, "denied.html")
|
|
|
|
# pp.pprint(results)
|
|
|
|
# pp.pprint(results)
|
|
|
|
results_parsed = []
|
|
|
|
results_parsed = []
|
|
|
|
if "hits" in results.keys():
|
|
|
|
if "hits" in results.keys():
|
|
|
@ -46,7 +52,10 @@ class Drilldown(LoginRequiredMixin, View):
|
|
|
|
"card": results["hits"]["total"]["value"],
|
|
|
|
"card": results["hits"]["total"]["value"],
|
|
|
|
"took": results["took"],
|
|
|
|
"took": results["took"],
|
|
|
|
"redacted": results["redacted"],
|
|
|
|
"redacted": results["redacted"],
|
|
|
|
|
|
|
|
"exemption": results["exemption"],
|
|
|
|
"fields": settings.OPENSEARCH_MAIN_SEARCH_FIELDS,
|
|
|
|
"fields": settings.OPENSEARCH_MAIN_SEARCH_FIELDS,
|
|
|
|
|
|
|
|
"sizes": settings.OPENSEARCH_MAIN_SIZES,
|
|
|
|
|
|
|
|
"timescales": settings.OPENSEARCH_MAIN_TIMESCALES,
|
|
|
|
}
|
|
|
|
}
|
|
|
|
return render(request, self.template_name, context)
|
|
|
|
return render(request, self.template_name, context)
|
|
|
|
return render(request, self.template_name)
|
|
|
|
return render(request, self.template_name)
|
|
|
|