Implement more elements on Insights page

This commit is contained in:
2022-07-21 13:52:10 +01:00
parent 9de9ddff6f
commit 17d465171b
11 changed files with 291 additions and 152 deletions

View File

@@ -5,6 +5,7 @@ from django.views import View
from rest_framework.parsers import FormParser
from rest_framework.views import APIView
from core.lib.nicktrace import get_nicks
from core.lib.opensearch import query_single_result
from core.lib.threshold import (
annotate_num_chans,
@@ -16,7 +17,7 @@ from core.lib.threshold import (
class InsightsSearch(LoginRequiredMixin, View):
# parser_classes = [JSONParser]
template_name = "ui/insights/results.html"
template_name = "ui/insights/info.html"
plan_name = "drilldown"
def post(self, request):
@@ -57,6 +58,44 @@ class InsightsChannels(LoginRequiredMixin, APIView):
return HttpResponse("No results")
class InsightsNicks(LoginRequiredMixin, APIView):
parser_classes = [FormParser]
template_name = "ui/insights/nicks.html"
plan_name = "drilldown"
def post(self, request):
if not request.user.has_plan(self.plan_name):
return HttpResponseForbidden()
if "net" not in request.data:
return HttpResponse("No net")
if "nick" not in request.data:
return HttpResponse("No nick")
net = request.data["net"]
nick = request.data["nick"]
context = {"net": net, "nick": nick}
return render(request, self.template_name, context)
class InsightsMeta(LoginRequiredMixin, APIView):
parser_classes = [FormParser]
template_name = "ui/insights/meta.html"
plan_name = "drilldown"
def post(self, request):
if not request.user.has_plan(self.plan_name):
return HttpResponseForbidden()
if "net" not in request.data:
return HttpResponse("No net")
if "nick" not in request.data:
return HttpResponse("No nick")
net = request.data["net"]
nick = request.data["nick"]
context = {"net": net, "nick": nick}
return render(request, self.template_name, context)
class InsightsInfoModal(LoginRequiredMixin, APIView):
parser_classes = [FormParser]
plan_name = "drilldown"