From 30fe2a1fd2e2b204d25f880f307ab2a91916efaa Mon Sep 17 00:00:00 2001 From: tdruez Date: Mon, 3 Mar 2025 10:41:39 +0400 Subject: [PATCH 1/4] Add ability to provide initial values in ProjectCreateView Signed-off-by: tdruez --- scanpipe/views.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/scanpipe/views.py b/scanpipe/views.py index 52e48c30b..a5a943796 100644 --- a/scanpipe/views.py +++ b/scanpipe/views.py @@ -639,6 +639,14 @@ class ProjectCreateView(ConditionalLoginRequired, FormAjaxMixin, generic.CreateV form_class = ProjectForm template_name = "scanpipe/project_form.html" + def get_initial(self): + """Get initial data for the form from the URL query parameters.""" + initial = super().get_initial() + for field in self.form_class().fields: + if value := self.request.GET.get(field): + initial[field] = value + return initial + def get_context_data(self, **kwargs): context = super().get_context_data(**kwargs) pipelines = { From ba5029edec953833b16b2d9701e6da23605bf7ca Mon Sep 17 00:00:00 2001 From: tdruez Date: Mon, 3 Mar 2025 10:42:10 +0400 Subject: [PATCH 2/4] Display scan and download links in Package list Signed-off-by: tdruez --- scanpipe/templates/scanpipe/package_list.html | 30 ++++++++++++++----- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/scanpipe/templates/scanpipe/package_list.html b/scanpipe/templates/scanpipe/package_list.html index ee415673f..085372993 100644 --- a/scanpipe/templates/scanpipe/package_list.html +++ b/scanpipe/templates/scanpipe/package_list.html @@ -22,14 +22,28 @@ {% for package in object_list %} - - {# CAUTION: Avoid relying on get_absolute_url to prevent unnecessary query triggers #} - {{ package.package_url }} - {% if package.is_vulnerable %} - - - - {% endif %} + +
+
+ {# CAUTION: Avoid relying on get_absolute_url to prevent unnecessary query triggers #} + {{ package.package_url }} +
+
+ {% if package.is_vulnerable %} + + + + {% endif %} + {% if package.download_url %} + + + + + + + {% endif %} +
+
From 53f7c81159263e65277fa2927c5c6997f8c18b19 Mon Sep 17 00:00:00 2001 From: tdruez Date: Mon, 3 Mar 2025 11:06:51 +0400 Subject: [PATCH 3/4] Add analysis_subproject field on DiscoveredPackage model #1613 To track analysis of the package as a subproject Signed-off-by: tdruez --- ...0_discoveredpackage_analysis_subproject.py | 19 +++++++++++++++++++ scanpipe/models.py | 9 +++++++++ 2 files changed, 28 insertions(+) create mode 100644 scanpipe/migrations/0070_discoveredpackage_analysis_subproject.py diff --git a/scanpipe/migrations/0070_discoveredpackage_analysis_subproject.py b/scanpipe/migrations/0070_discoveredpackage_analysis_subproject.py new file mode 100644 index 000000000..270297251 --- /dev/null +++ b/scanpipe/migrations/0070_discoveredpackage_analysis_subproject.py @@ -0,0 +1,19 @@ +# Generated by Django 5.1.5 on 2025-03-03 06:53 + +import django.db.models.deletion +from django.db import migrations, models + + +class Migration(migrations.Migration): + + dependencies = [ + ('scanpipe', '0069_project_purl'), + ] + + operations = [ + migrations.AddField( + model_name='discoveredpackage', + name='analysis_subproject', + field=models.OneToOneField(blank=True, editable=False, help_text='Sub-project dedicated to analyzing this package.', null=True, on_delete=django.db.models.deletion.SET_NULL, related_name='analyzed_package', to='scanpipe.project'), + ), + ] diff --git a/scanpipe/models.py b/scanpipe/models.py index 0461cc663..0f448c43f 100644 --- a/scanpipe/models.py +++ b/scanpipe/models.py @@ -3442,6 +3442,15 @@ class DiscoveredPackage( notes = models.TextField(blank=True) source_packages = models.JSONField(default=list, blank=True) tag = models.CharField(blank=True, max_length=50) + analysis_subproject = models.OneToOneField( + Project, + related_name="analyzed_package", + help_text=_("Sub-project dedicated to analyzing this package."), + on_delete=models.SET_NULL, + blank=True, + null=True, + editable=False, + ) objects = DiscoveredPackageQuerySet.as_manager() From 91b3d98d6a975bdf9a3d5d78009e27bad1c1237e Mon Sep 17 00:00:00 2001 From: tdruez Date: Mon, 3 Mar 2025 11:07:22 +0400 Subject: [PATCH 4/4] Refine the actions display in Pacakge list #1613 Signed-off-by: tdruez --- scanpipe/templates/scanpipe/package_list.html | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/scanpipe/templates/scanpipe/package_list.html b/scanpipe/templates/scanpipe/package_list.html index 085372993..5283e3677 100644 --- a/scanpipe/templates/scanpipe/package_list.html +++ b/scanpipe/templates/scanpipe/package_list.html @@ -35,12 +35,18 @@ {% endif %} {% if package.download_url %} - + - - - + {% if package.analysis_subproject %} + + + + {% else %} + + + + {% endif %} {% endif %}