@@ -2546,34 +2546,31 @@ def get_context_data(self, **kwargs):
25462546 return context
25472547
25482548 def get_dependency_tree (self , project ):
2549- root_packages = project .discoveredpackages .root_packages ().order_by ("name" )
2549+ root_packages = (
2550+ project .discoveredpackages .root_packages ()
2551+ .order_by ("name" )
2552+ .only_package_url_fields (
2553+ extra = ["project_id" , "compliance_alert" , "affected_by_vulnerabilities" ]
2554+ )
2555+ )
25502556 project_children = [self .get_node (package ) for package in root_packages ]
25512557
25522558 # Dependencies with no assigned `for_packages`.
25532559 project_dependencies = project .discovereddependencies .project_dependencies ()
25542560 for dependency in project_dependencies :
25552561 project_children .append ({"name" : dependency .package_url })
25562562
2557- project_tree = {
2563+ dependency_tree = {
25582564 "name" : project .name ,
25592565 "children" : project_children ,
25602566 }
2561-
2562- return project_tree
2567+ return dependency_tree
25632568
25642569 def get_node (self , package ):
2565- node = {
2566- "name" : str (package ),
2567- "url" : package .get_absolute_url (),
2568- "compliance_alert" : package .compliance_alert ,
2569- "has_compliance_issue" : package .has_compliance_issue ,
2570- "is_vulnerable" : package .is_vulnerable ,
2571- }
2572-
25732570 # Resolved dependencies
25742571 children = [
25752572 self .get_node (child_package )
2576- for child_package in package .children_packages .all ()
2573+ for child_package in package .children_packages .all (). order_by ( "name" )
25772574 ]
25782575
25792576 # Un-resolved dependencies
@@ -2586,7 +2583,12 @@ def get_node(self, package):
25862583 }
25872584 )
25882585
2589- if children :
2590- node ["children" ] = children
2591-
2586+ node = {
2587+ "name" : str (package ),
2588+ "url" : package .get_absolute_url (),
2589+ "compliance_alert" : package .compliance_alert ,
2590+ "has_compliance_issue" : package .has_compliance_issue ,
2591+ "is_vulnerable" : package .is_vulnerable ,
2592+ "children" : children ,
2593+ }
25922594 return node
0 commit comments