MCPcopy Index your code
hub / github.com/aboutcode-org/vulnerablecode / get_context_data

Method get_context_data

vulnerabilities/views.py:282–416  ·  view source on GitHub ↗
(self, **kwargs)

Source from the content-addressed store, hash-verified

280 slug_field = "purl"
281
282 def get_context_data(self, **kwargs):
283 context = super().get_context_data(**kwargs)
284 package = self.object
285
286 next_non_vulnerable, latest_non_vulnerable = package.get_non_vulnerable_versions
287
288 context["package"] = package
289 context["next_non_vulnerable"] = next_non_vulnerable
290 context["latest_non_vulnerable"] = latest_non_vulnerable
291 context["package_search_form"] = PackageSearchForm(self.request.GET)
292
293 if not package.type in TYPES_WITH_MULTIPLE_IMPORTERS:
294 affecting_advisories = AdvisoryV2.objects.latest_affecting_advisories_for_purl(
295 purl=package.purl
296 )
297
298 fixed_by_advisories = AdvisoryV2.objects.latest_fixed_by_advisories_for_purl(
299 purl=package.purl
300 )
301
302 context["grouped"] = False
303
304 affected_by_advisories_url = None
305 fixing_advisories_url = None
306
307 affected_by_advisories_qs_ids = affecting_advisories.only("id")
308 fixing_advisories_qs_ids = fixed_by_advisories.only("id")
309
310 affected_by_advisories = list(affected_by_advisories_qs_ids[:101])
311 if len(affected_by_advisories) > 100:
312 affected_by_advisories_url = reverse_lazy(
313 "affected_by_advisories_v2", kwargs={"purl": package.package_url}
314 )
315 context["affected_by_advisories_v2_url"] = affected_by_advisories_url
316
317 else:
318 fixed_pkg_details = get_fixed_package_details(package)
319 context["fixed_package_details"] = fixed_pkg_details
320 affecting_advs = []
321 for adv in affecting_advisories:
322 affecting_advs.append(
323 {
324 "advisory_id": adv.advisory_id.split("/")[-1],
325 "advisory": adv,
326 }
327 )
328 context["affected_by_advisories_v2"] = affecting_advs
329 context["affected_by_advisories_v2_url"] = None
330
331 fixing_advisories = list(fixing_advisories_qs_ids[:101])
332 if len(fixing_advisories) > 100:
333 fixing_advisories_url = reverse_lazy(
334 "fixing_advisories_v2", kwargs={"purl": package.package_url}
335 )
336 context["fixing_advisories_v2_url"] = fixing_advisories_url
337 context["fixing_advisories_v2"] = []
338
339 else:

Callers

nothing calls this directly

Calls 8

PackageSearchFormClass · 0.90
GroupClass · 0.90
get_context_dataMethod · 0.45
allMethod · 0.45

Tested by

no test coverage detected