Skip to content

Commit 50eaa16

Browse files
committed
have compliance alerts in the single panel
Signed-off-by: NucleonGodX <[email protected]>
1 parent a22533c commit 50eaa16

File tree

6 files changed

+22
-72
lines changed

6 files changed

+22
-72
lines changed

scanpipe/templates/scanpipe/panels/clarity_compliance.html

Lines changed: 0 additions & 32 deletions
This file was deleted.

scanpipe/templates/scanpipe/panels/project_compliance.html

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,11 @@
11
{% load humanize %}
2-
{% if compliance_alerts %}
2+
{% if compliance_alerts or clarity_compliance_alert %}
33
<div class="column is-half">
44
<nav id="compliance-panel" class="panel is-dark">
55
<p class="panel-heading">
66
Compliance alerts
77
</p>
8-
{% for model_name, model_alerts in compliance_alerts.items %}
8+
{% for model_name, model_alerts in compliance_alerts.items %}
99
<div class="panel-block">
1010
<span class="pr-1">
1111
{{ model_name|title }}
@@ -19,6 +19,20 @@
1919
{% endfor %}
2020
</div>
2121
{% endfor %}
22+
{% if clarity_compliance_alert %}
23+
<div class="panel-block">
24+
<span class="pr-1">
25+
License clarity
26+
</span>
27+
<span class="tag is-rounded ml-1
28+
{% if clarity_compliance_alert == 'error' %}is-danger
29+
{% elif clarity_compliance_alert == 'warning' %}is-warning
30+
{% elif clarity_compliance_alert == 'ok' %}is-success
31+
{% else %}is-light{% endif %}">
32+
{{ clarity_compliance_alert|title }}
33+
</span>
34+
</div>
35+
{% endif %}
2236
</nav>
2337
</div>
24-
{% endif %}
38+
{% endif %}

scanpipe/templates/scanpipe/project_detail.html

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -120,7 +120,6 @@
120120
{% if policies_enabled %}
121121
<div class="columns">
122122
<div hx-get="{% url 'project_compliance_panel' project.slug %}" hx-trigger="load" hx-swap="outerHTML"></div>
123-
<div hx-get="{% url 'clarity_compliance_panel' project.slug %}" hx-trigger="load" hx-swap="outerHTML"></div>
124123
</div>
125124
{% endif %}
126125

scanpipe/tests/test_views.py

Lines changed: 5 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -997,6 +997,9 @@ def test_scanpipe_views_project_compliance_panel_view(self, mock_policies_enable
997997
compliance_alert=DiscoveredPackage.Compliance.ERROR,
998998
)
999999

1000+
self.project1.extra_data = {"clarity_compliance_alert": "warning"}
1001+
self.project1.save(update_fields=["extra_data"])
1002+
10001003
mock_policies_enabled.return_value = False
10011004
response = self.client.get(url)
10021005
self.assertEqual(404, response.status_code)
@@ -1005,27 +1008,11 @@ def test_scanpipe_views_project_compliance_panel_view(self, mock_policies_enable
10051008
response = self.client.get(url)
10061009
self.assertContains(response, "Compliance alerts")
10071010
self.assertContains(response, "1 Error")
1011+
self.assertContains(response, "License clarity")
1012+
self.assertContains(response, "Warning")
10081013
expected = f"/project/{self.project1.slug}/packages/?compliance_alert=error"
10091014
self.assertContains(response, expected)
10101015

1011-
@mock.patch.object(Project, "policies_enabled", new_callable=mock.PropertyMock)
1012-
def test_scanpipe_views_project_clarity_compliance_panel_view(
1013-
self, mock_policies_enabled
1014-
):
1015-
url = reverse("clarity_compliance_panel", args=[self.project1.slug])
1016-
self.project1.extra_data = {"clarity_compliance_alert": "error"}
1017-
self.project1.save(update_fields=["extra_data"])
1018-
1019-
mock_policies_enabled.return_value = False
1020-
response = self.client.get(url)
1021-
self.assertEqual(404, response.status_code)
1022-
1023-
mock_policies_enabled.return_value = True
1024-
response = self.client.get(url)
1025-
self.assertContains(response, "Clarity Compliance")
1026-
self.assertContains(response, "Error")
1027-
self.assertContains(response, "License clarity is insufficient")
1028-
10291016
def test_scanpipe_views_pipeline_help_view(self):
10301017
url = reverse("pipeline_help", args=["not_existing_pipeline"])
10311018
response = self.client.get(url)

scanpipe/urls.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -221,11 +221,6 @@
221221
views.ProjectCompliancePanelView.as_view(),
222222
name="project_compliance_panel",
223223
),
224-
path(
225-
"projects/<slug:slug>/clarity_compliance_panel/",
226-
views.ClarityCompliancePanelView.as_view(),
227-
name="clarity_compliance_panel",
228-
),
229224
path(
230225
"project/<slug:slug>/",
231226
views.ProjectDetailView.as_view(),

scanpipe/views.py

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1209,19 +1209,6 @@ def get_context_data(self, **kwargs):
12091209
fail_level="missing",
12101210
)
12111211
context["compliance_alerts"] = compliance_alerts
1212-
return context
1213-
1214-
1215-
class ClarityCompliancePanelView(ConditionalLoginRequired, generic.DetailView):
1216-
model = Project
1217-
template_name = "scanpipe/panels/clarity_compliance.html"
1218-
1219-
def get_context_data(self, **kwargs):
1220-
context = super().get_context_data(**kwargs)
1221-
project = self.object
1222-
1223-
if not project.policies_enabled:
1224-
raise Http404
12251212

12261213
extra_data = project.extra_data or {}
12271214
context["clarity_compliance_alert"] = extra_data.get("clarity_compliance_alert")

0 commit comments

Comments
 (0)