Skip to content

Commit 3eb8283

Browse files
authored
Merge pull request #990 from hmrc/BDOG-3301
BDOG-3301 teams page - add shutter counts + fix explorer links
2 parents 42c98df + fab6129 commit 3eb8283

File tree

7 files changed

+122
-70
lines changed

7 files changed

+122
-70
lines changed

app/uk/gov/hmrc/cataloguefrontend/CatalogueController.scala

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,7 @@ class CatalogueController @Inject() (
166166
repoModules <- serviceDependenciesConnector.getRepositoryModules(repositoryName, version)
167167
shutterStates <- ShutterType.values.toSeq.foldLeftM[Future, Seq[ShutterState]](Seq.empty): (acc, shutterType) =>
168168
shutterService
169-
.getShutterStates(shutterType, env, Some(serviceName))
169+
.getShutterStates(shutterType, env, serviceName = Some(serviceName))
170170
.map(acc ++ _)
171171
vulnerabilitiesCount <- vulnerabilitiesConnector
172172
.vulnerabilityCounts(flag = SlugInfoFlag.ForEnvironment(env), serviceName = Some(serviceName))

app/uk/gov/hmrc/cataloguefrontend/shuttering/ShutterService.scala

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -40,13 +40,15 @@ class ShutterService @Inject() (
4040
):
4141

4242
def getShutterStates(
43-
st : ShutterType,
44-
env : Environment,
45-
serviceName: Option[ServiceName] = None
43+
st : ShutterType
44+
, env : Environment
45+
, teamName : Option[TeamName] = None
46+
, digitalService: Option[DigitalService] = None
47+
, serviceName : Option[ServiceName] = None
4648
)(using
4749
HeaderCarrier
4850
): Future[Seq[ShutterState]] =
49-
shutterConnector.shutterStates(st, env, teamName = None, digitalService = None, serviceName)
51+
shutterConnector.shutterStates(st, env, teamName, digitalService, serviceName)
5052

5153
def updateShutterStatus(
5254
serviceName: ServiceName,

app/uk/gov/hmrc/cataloguefrontend/teams/TeamsController.scala

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,7 @@ import uk.gov.hmrc.cataloguefrontend.leakdetection.LeakDetectionService
2525
import uk.gov.hmrc.cataloguefrontend.model.{Environment, ServiceName, SlugInfoFlag, TeamName}
2626
import uk.gov.hmrc.cataloguefrontend.platforminitiatives.PlatformInitiativesConnector
2727
import uk.gov.hmrc.cataloguefrontend.servicecommissioningstatus.ServiceCommissioningStatusConnector
28+
import uk.gov.hmrc.cataloguefrontend.shuttering.{ShutterService, ShutterType}
2829
import uk.gov.hmrc.cataloguefrontend.teams.view.html.{TeamInfoOldPage, TeamInfoPage, TeamsListPage}
2930
import uk.gov.hmrc.cataloguefrontend.vulnerabilities.VulnerabilitiesConnector
3031
import uk.gov.hmrc.cataloguefrontend.whatsrunningwhere.{Profile, ProfileName, ProfileType, ReleasesConnector}
@@ -46,6 +47,7 @@ class TeamsController @Inject()(
4647
, vulnerabilitiesConnector : VulnerabilitiesConnector
4748
, releasesConnector : ReleasesConnector
4849
, leakDetectionService : LeakDetectionService
50+
, shutterService : ShutterService
4951
, umpConfig : UserManagementPortalConfig
5052
, teamInfoPage : TeamInfoPage
5153
, teamInfoOldPage : TeamInfoOldPage
@@ -74,6 +76,9 @@ class TeamsController @Inject()(
7476
, leakDetectionService.repoSummaries(team = Some(teamName), includeWarnings = false, includeExemptions = false, includeViolations = true, includeNonIssues = false)
7577
, serviceDependenciesConnector.bobbyReports(teamName = Some(teamName), flag = SlugInfoFlag.ForEnvironment(Environment.Production))
7678
, serviceDependenciesConnector.bobbyReports(teamName = Some(teamName), flag = SlugInfoFlag.Latest)
79+
, ( shutterService.getShutterStates(ShutterType.Frontend, Environment.Production, Some(teamName), None)
80+
, shutterService.getShutterStates(ShutterType.Api , Environment.Production, Some(teamName), None)
81+
).tupled.map(x => x._1 ++ x._2)
7782
, platformInitiativesConnector.getInitiatives(team = Some(teamName))
7883
, vulnerabilitiesConnector.vulnerabilityCounts(SlugInfoFlag.Latest, team = Some(teamName))
7984
, serviceCommissioningStatusConnector.cachedCommissioningStatus(teamName = Some(teamName))

app/uk/gov/hmrc/cataloguefrontend/teams/view/TeamInfoPage.scala.html

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@
2424
@import uk.gov.hmrc.cataloguefrontend.platforminitiatives.PlatformInitiative
2525
@import uk.gov.hmrc.cataloguefrontend.prcommenter.PrCommenterComment
2626
@import uk.gov.hmrc.cataloguefrontend.servicecommissioningstatus.CachedServiceCheck
27+
@import uk.gov.hmrc.cataloguefrontend.shuttering.ShutterState
2728
@import uk.gov.hmrc.cataloguefrontend.vulnerabilities.TotalVulnerabilityCount
2829
@import uk.gov.hmrc.cataloguefrontend.whatsrunningwhere.WhatsRunningWhere
2930
@import java.net.URL
@@ -43,6 +44,7 @@
4344
, Seq[LeakDetectionRepositorySummary]
4445
, Seq[BobbyReport] // Production
4546
, Seq[BobbyReport] // Latest
47+
, Seq[ShutterState]
4648
, Seq[PlatformInitiative]
4749
, Seq[TotalVulnerabilityCount]
4850
, Seq[CachedServiceCheck]
@@ -55,7 +57,8 @@
5557

5658
@standard_layout(teamName.asString, active = "teams") {
5759
<h1 class="page-heading mt-4">@teamName.asString</h1>
58-
@defining(results) { case (gitHubUrl, repos, umpTeam, openPrsRaisedByTeam, openPrsForReposOwnedByTeam, leaks, latestBobbyReports, productionBobbyReports, platformInitiatives, vulnerabilities, commissioningChecks, whatsRunningWhere, testJobs) =>
60+
@defining(results) { case (gitHubUrl, repos, umpTeam, openPrsRaisedByTeam, openPrsForReposOwnedByTeam, leaks, productionBobbyReports, latestBobbyReports, shutterStates, platformInitiatives, vulnerabilities, commissioningChecks, whatsRunningWhere, testJobs) =>
61+
5962
<section class="section-wrapper">
6063
<div class="row mb-3">
6164
<div class="col-md-4">
@@ -133,7 +136,7 @@ <h1 class="page-heading mt-4">@teamName.asString</h1>
133136

134137
@if(gitHubUrl.isDefined){
135138
<div class="row mb-3">
136-
<div class="col-md-4">
139+
<div class="col-md-3">
137140
<div class="card">
138141
<div class="card-header">
139142
<div class="h4 mb-0">Digital Services</div>
@@ -153,10 +156,13 @@ <h1 class="page-heading mt-4">@teamName.asString</h1>
153156
}
154157
</div>
155158
</div>
156-
<div class="col md-4">
157-
@healthPartial(teamName = Some(teamName), leaks, latestBobbyReports, productionBobbyReports, platformInitiatives, vulnerabilities, openPrsRaisedByTeam, openPrsForReposOwnedByTeam, commissioningChecks, whatsRunningWhere, testJobs)
159+
<div class="col md-3">
160+
@shutteringPartial(teamName = Some(teamName), shutterStates)
161+
</div>
162+
<div class="col md-3">
163+
@healthPartial(teamName = Some(teamName), leaks, productionBobbyReports, latestBobbyReports, platformInitiatives, vulnerabilities, openPrsRaisedByTeam, openPrsForReposOwnedByTeam, commissioningChecks, whatsRunningWhere, testJobs)
158164
</div>
159-
<div class="col md-4">
165+
<div class="col md-3">
160166
@explorePartial(teamName = Some(teamName))
161167
</div>
162168
</div>

app/uk/gov/hmrc/cataloguefrontend/teams/view/explorePartial.scala.html

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,14 @@
1414
* limitations under the License.
1515
*@
1616

17-
@import uk.gov.hmrc.cataloguefrontend.teams.{routes => teamRoutes}
18-
@import uk.gov.hmrc.cataloguefrontend.leakdetection.{LeakDetectionRepositorySummary, routes => leakDetectionRoutes}
19-
@import uk.gov.hmrc.cataloguefrontend.servicecommissioningstatus.{CachedServiceCheck, routes => serviceCommissioningStatusRoutes}
20-
@import uk.gov.hmrc.cataloguefrontend.platforminitiatives.{PlatformInitiative, routes => platforminitiativesRoutes}
21-
@import uk.gov.hmrc.cataloguefrontend.vulnerabilities.{TotalVulnerabilityCount, routes => vulnerabilityRoutes}
17+
@import uk.gov.hmrc.cataloguefrontend.{routes => appRoutes}
18+
@import uk.gov.hmrc.cataloguefrontend.cost.{routes => costRoutes}
2219
@import uk.gov.hmrc.cataloguefrontend.prcommenter.{PrCommenterComment, routes => prcommenterRoutes}
23-
@import uk.gov.hmrc.cataloguefrontend.connector.OpenPullRequest
20+
@import uk.gov.hmrc.cataloguefrontend.teams.{routes => teamRoutes}
21+
@import uk.gov.hmrc.cataloguefrontend.whatsrunningwhere.{routes => whatsRunningWhereRoutes}
2422

2523
@(
26-
teamName : Option[TeamName]
24+
teamName: Option[TeamName]
2725
)(implicit
2826
request: RequestHeader
2927
)
@@ -33,15 +31,16 @@
3331
<div class="h4 mb-0">Explore</div>
3432
</div>
3533
<div class="card-body">
36-
<ul class="list-unstyled">
37-
@teamName.map { x =>
38-
<li><a id="link-to-outdated-dependencies" href="@teamRoutes.TeamsController.outOfDateTeamDependencies(x)">Outdated Dependencies</a></li>
39-
}
40-
<li><a id="link-to-pr-comments" href="@prcommenterRoutes.PrCommenterController.recommendations(teamName = teamName)">PR-Commenter recommendations</a></li>
41-
<li><a href="/jdkexplorer">JDK Explorer</a></li>
42-
<li><a href="/sbtexplorer">SBT Explorer</a></li>
43-
<li><a href="/cost-explorer">Cost Explorer</a></li>
44-
<li><a href="/whats-runing-where">Whats Running Where</a></li>
34+
<ul class="list-unstyled">
35+
@teamName.map { x =>
36+
<li><a href="@teamRoutes.TeamsController.outOfDateTeamDependencies(x)">Outdated Dependencies</a></li>
37+
}
38+
<li><a href="@prcommenterRoutes.PrCommenterController.recommendations(teamName = teamName)">PR-Commenter recommendations</a></li>
39+
<li><a href="@appRoutes.JdkVersionController.compareAllEnvironments(teamName = teamName)">JDK Explorer</a></li>
40+
<li><a href="@appRoutes.SbtVersionController.compareAllEnvironments(teamName = teamName)">SBT Explorer</a></li>
41+
<li><a href="@costRoutes.CostController.costExplorer(team = teamName)">Cost Explorer</a></li>
42+
@* TODO whatsRunningWhere should use standard Catalogue form params and reverse routes *@
43+
<li><a href="@whatsRunningWhereRoutes.WhatsRunningWhereController.releases()?profile_name=@teamName.fold("")(_.asString)&profile_type=team">What's Running Where</a></li>
4544
</ul>
4645
</div>
4746
</div>

0 commit comments

Comments
 (0)