Skip to content

Commit 5671373

Browse files
committed
Add dependency detail view #447
Signed-off-by: Jono Yang <jyang@nexb.com>
1 parent f240333 commit 5671373

5 files changed

Lines changed: 26 additions & 2 deletions

File tree

scanpipe/models.py

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1980,6 +1980,12 @@ class DiscoveredDependency(
19801980
),
19811981
)
19821982

1983+
def __str__(self):
1984+
return self.purl or str(self.uuid)
1985+
1986+
def get_absolute_url(self):
1987+
return reverse("dependency_detail", args=[self.project_id, self.pk])
1988+
19831989
@classmethod
19841990
def create_from_data(cls, project, dependency_data):
19851991
"""

scanpipe/templates/scanpipe/dependency_list.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
{% for dependency in object_list %}
3535
<tr class="break-word">
3636
<td style="min-width: 500px;" title="{{ dependency.purl }}">
37-
{{ dependency.purl }}
37+
<a href="{{ dependency.get_absolute_url }}">{{ dependency.purl }}</a>
3838
</td>
3939
<td>
4040
{{ dependency.extracted_requirement }}

scanpipe/templates/scanpipe/package_list.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
<tbody>
2828
{% for package in object_list %}
2929
<tr class="break-word">
30-
<td style="min-width: 500px;" title="{{ package.package_uid }}">
30+
<td style="min-width: 500px;" title="{{ package.package_url }}">
3131
<a href="{{ package.get_absolute_url }}">{{ package.package_url }}</a>
3232
</td>
3333
<td style="min-width: 300px; max-width: 400px;">

scanpipe/urls.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -41,6 +41,11 @@
4141
views.DiscoveredPackageDetailsView.as_view(),
4242
name="package_detail",
4343
),
44+
path(
45+
"project/<uuid:uuid>/dependencies/<int:pk>/",
46+
views.DiscoveredDependencyDetailsView.as_view(),
47+
name="dependency_detail",
48+
),
4449
path(
4550
"project/<uuid:uuid>/resources/",
4651
views.CodebaseResourceListView.as_view(),

scanpipe/views.py

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,7 @@
4343

4444
from scancodeio.auth import ConditionalLoginRequired
4545
from scancodeio.auth import conditional_login_required
46+
from scanpipe.api.serializers import DiscoveredDependencySerializer
4647
from scanpipe.api.serializers import DiscoveredPackageSerializer
4748
from scanpipe.filters import DependencyFilterSet
4849
from scanpipe.filters import ErrorFilterSet
@@ -702,6 +703,18 @@ def get_context_data(self, **kwargs):
702703
return context
703704

704705

706+
class DiscoveredDependencyDetailsView(
707+
ConditionalLoginRequired, ProjectRelatedViewMixin, generic.DetailView
708+
):
709+
model = DiscoveredDependency
710+
template_name = "scanpipe/dependency_detail.html"
711+
712+
def get_context_data(self, **kwargs):
713+
context = super().get_context_data(**kwargs)
714+
context["dependency_data"] = DiscoveredDependencySerializer(self.object).data
715+
return context
716+
717+
705718
@conditional_login_required
706719
def run_detail_view(request, uuid):
707720
template = "scanpipe/includes/run_modal_content.html"

0 commit comments

Comments
 (0)