Skip to content

Commit c1909f5

Browse files
committed
Add a separate live evaluation dashboard #1953
Signed-off-by: Michael Ehab Mikhail <michael.ehab@hotmail.com>
1 parent 6c0c6c8 commit c1909f5

File tree

2 files changed

+52
-4
lines changed

2 files changed

+52
-4
lines changed

vulnerabilities/views.py

Lines changed: 46 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,7 @@
3434
from vulnerabilities.forms import PackageSearchForm
3535
from vulnerabilities.forms import PipelineSchedulePackageForm
3636
from vulnerabilities.forms import VulnerabilitySearchForm
37+
from vulnerabilities.importers import LIVE_IMPORTERS_REGISTRY
3738
from vulnerabilities.models import ImpactedPackage
3839
from vulnerabilities.models import PipelineRun
3940
from vulnerabilities.models import PipelineSchedule
@@ -642,18 +643,59 @@ class PipelineScheduleListView(ListView, FormMixin):
642643
form_class = PipelineSchedulePackageForm
643644

644645
def get_queryset(self):
646+
live_pipeline_ids = list(LIVE_IMPORTERS_REGISTRY.keys())
645647
form = self.form_class(self.request.GET)
648+
646649
if form.is_valid():
647-
return PipelineSchedule.objects.filter(
650+
return PipelineSchedule.objects.exclude(pipeline_id__in=live_pipeline_ids).filter(
648651
pipeline_id__icontains=form.cleaned_data.get("search")
649652
)
650-
return PipelineSchedule.objects.all()
653+
return PipelineSchedule.objects.exclude(pipeline_id__in=live_pipeline_ids)
651654

652655
def get_context_data(self, **kwargs):
653656
context = super().get_context_data(**kwargs)
654-
context["active_pipeline_count"] = PipelineSchedule.objects.filter(is_active=True).count()
657+
live_pipeline_ids = list(LIVE_IMPORTERS_REGISTRY.keys())
658+
659+
context["active_pipeline_count"] = (
660+
PipelineSchedule.objects.exclude(pipeline_id__in=live_pipeline_ids)
661+
.filter(is_active=True)
662+
.count()
663+
)
664+
context["disabled_pipeline_count"] = (
665+
PipelineSchedule.objects.exclude(pipeline_id__in=live_pipeline_ids)
666+
.filter(is_active=False)
667+
.count()
668+
)
669+
return context
670+
671+
672+
class LiveEvaluationPipelineScheduleListView(ListView, FormMixin):
673+
model = PipelineSchedule
674+
context_object_name = "schedule_list"
675+
template_name = "pipeline_dashboard.html"
676+
paginate_by = 20
677+
form_class = PipelineSchedulePackageForm
678+
679+
def get_queryset(self):
680+
live_pipeline_ids = list(LIVE_IMPORTERS_REGISTRY.keys())
681+
form = self.form_class(self.request.GET)
682+
683+
if form.is_valid():
684+
return PipelineSchedule.objects.filter(
685+
pipeline_id__in=live_pipeline_ids,
686+
pipeline_id__icontains=form.cleaned_data.get("search"),
687+
)
688+
return PipelineSchedule.objects.filter(pipeline_id__in=live_pipeline_ids)
689+
690+
def get_context_data(self, **kwargs):
691+
context = super().get_context_data(**kwargs)
692+
live_pipeline_ids = list(LIVE_IMPORTERS_REGISTRY.keys())
693+
694+
context["active_pipeline_count"] = PipelineSchedule.objects.filter(
695+
pipeline_id__in=live_pipeline_ids, is_active=True
696+
).count()
655697
context["disabled_pipeline_count"] = PipelineSchedule.objects.filter(
656-
is_active=False
698+
pipeline_id__in=live_pipeline_ids, is_active=False
657699
).count()
658700
return context
659701

vulnerablecode/urls.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,6 +33,7 @@
3333
from vulnerabilities.views import ApiUserCreateView
3434
from vulnerabilities.views import HomePage
3535
from vulnerabilities.views import HomePageV2
36+
from vulnerabilities.views import LiveEvaluationPipelineScheduleListView
3637
from vulnerabilities.views import PackageDetails
3738
from vulnerabilities.views import PackageSearch
3839
from vulnerabilities.views import PackageSearchV2
@@ -90,6 +91,11 @@ def __init__(self, *args, **kwargs):
9091
PipelineScheduleListView.as_view(),
9192
name="dashboard",
9293
),
94+
path(
95+
"pipelines/live-evaluation-dashboard/",
96+
LiveEvaluationPipelineScheduleListView.as_view(),
97+
name="live-evaluation-dashboard",
98+
),
9399
path(
94100
"pipelines/<str:pipeline_id>/runs/",
95101
PipelineRunListView.as_view(),

0 commit comments

Comments
 (0)