@import com.ysoft.odc.statistics.FailedProjects @( projectsWithSelection: ProjectsWithSelection, vulnerability: Vulnerability, affectedProjects: Map[ReportInfo, Set[GroupedDependency]], vulnerableDependencies: Set[GroupedDependency], affectedLibraries: Set[PlainLibraryIdentifier], issueOption: Option[(ExportedVulnerability[String], String)], failedProjects: FailedProjects )(implicit header: DefaultRequest, mainTemplateData: MainTemplateData) @section = @{views.html.genericSection("vuln")("h2") _} @main( title = s"vulnerability ${vulnerability.name} for ${projectsWithSelection.projectNameText}", projectsOption = Some((projectsWithSelection, p => routes.Statistics.vulnerability(vulnerability.name, p))) ) { @healthReport(failedProjects) @if(projectsWithSelection.isProjectSpecified){
The vulnerability details are limited to some subset of projects.
Show it for all projects!
} @for((ticket, issueLink) <- issueOption){ Issue in your issue tracker: @ticket.ticket } @section("details", "Vulnerability details") { @views.html.vulnerability("h2", "vuln-details", vulnerability) } @section("affected-libs", s"Unique affected libraries – without version number (${affectedLibraries.size})"){ } @section("affected-deps", s"Unique affected dependencies (${vulnerableDependencies.size})"){
} @section("affected-projects", s"Affected projects (${affectedProjects.size} projects with ${affectedProjects.flatMap(_._2).size} occurrences)"){ @for((project, dependencies) <- affectedProjects.toSeq.sortBy(_._1)){

@friendlyProjectName(project) (@dependencies.size)

} } }