Skip to content

Commit f738afb

Browse files
authored
Merge pull request #81 from hmrc/BDOG-237
Bdog 237
2 parents 9ef2ea9 + ca7a7ab commit f738afb

File tree

4 files changed

+28
-21
lines changed

4 files changed

+28
-21
lines changed

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

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -117,9 +117,11 @@ class ShutterServiceController @Inject()(
117117
step1Out = Step1Out(sf.serviceNames, env, status)
118118
} yield status match {
119119
case ShutterStatusValue.Shuttered => Redirect(appRoutes.ShutterServiceController.step2Get)
120-
.withSession(request.session + updateFlowState(request.session)(_.copy(step1 = Some(step1Out))))
120+
.withSession(request.session + updateFlowState(request.session)(_.copy(step1 = Some(step1Out))))
121121
case ShutterStatusValue.Unshuttered => Redirect(appRoutes.ShutterServiceController.step3Get)
122-
.withSession(request.session + updateFlowState(request.session)(_.copy(step1 = Some(step1Out) , step2 = Some(Step2Out(reason = "", outageMessage = "")))))
122+
.withSession(request.session + updateFlowState(request.session)(_.copy( step1 = Some(step1Out)
123+
, step2 = Some(Step2Out(reason = "", outageMessage = "", requiresOutageMessage = false))
124+
)))
123125
}
124126
).merge
125127
}
@@ -160,10 +162,11 @@ class ShutterServiceController @Inject()(
160162
)
161163
step2f = fromSession(request.session).flatMap(_.step2) match {
162164
case Some(step2Out) => Step2Form(
163-
reason = step2Out.reason
164-
, outageMessage = step2Out.outageMessage
165+
reason = step2Out.reason
166+
, outageMessage = step2Out.outageMessage
167+
, requiresOutageMessage = step2Out.requiresOutageMessage
165168
)
166-
case None => Step2Form(reason = "", outageMessage = "")
169+
case None => Step2Form(reason = "", outageMessage = "", requiresOutageMessage = true)
167170
}
168171
html <- EitherT.right[Result](showPage2(step2Form.fill(step2f), step1Out).map(Ok(_)))
169172
} yield html
@@ -186,7 +189,7 @@ class ShutterServiceController @Inject()(
186189
hasErrors = formWithErrors => EitherT.left(showPage2(formWithErrors, step1Out).map(BadRequest(_)))
187190
, success = data => EitherT.pure[Future, Result](data)
188191
)
189-
step2Out = Step2Out(sf.reason, sf.outageMessage)
192+
step2Out = Step2Out(sf.reason, sf.outageMessage, sf.requiresOutageMessage)
190193
} yield Redirect(appRoutes.ShutterServiceController.step3Get)
191194
.withSession(request.session + updateFlowState(request.session)(fs => fs.copy(step2 = Some(step2Out))))
192195
).merge
@@ -200,9 +203,9 @@ class ShutterServiceController @Inject()(
200203
// --------------------------------------------------------------------------
201204

202205
private def showPage3(form3: Form[Step3Form], step1Out: Step1Out, step2Out: Step2Out)(implicit request: Request[Any]): Html = {
203-
val back = if (step1Out.status == ShutterStatusValue.Shuttered)
204-
appRoutes.ShutterServiceController.step2Get
205-
else appRoutes.ShutterServiceController.step1Post
206+
val back = if (step1Out.status == ShutterStatusValue.Shuttered)
207+
appRoutes.ShutterServiceController.step2Get
208+
else appRoutes.ShutterServiceController.step1Post
206209
page3(form3, step1Out, step2Out, back)
207210
}
208211

@@ -306,19 +309,22 @@ object ShutterServiceController {
306309
def step2Form(implicit messagesProvider: MessagesProvider) =
307310
Form(
308311
Forms.mapping(
309-
"reason" -> Forms.text
310-
, "outageMessage" -> Forms.text
312+
"reason" -> Forms.text
313+
, "outageMessage" -> Forms.text
314+
, "requiresOutageMessage" -> Forms.boolean
311315
)(Step2Form.apply)(Step2Form.unapply)
312316
)
313317

314318
case class Step2Form(
315-
reason : String
316-
, outageMessage: String
319+
reason : String
320+
, outageMessage : String
321+
, requiresOutageMessage: Boolean
317322
)
318323

319324
case class Step2Out(
320-
reason : String
321-
, outageMessage: String
325+
reason : String
326+
, outageMessage : String
327+
, requiresOutageMessage: Boolean
322328
)
323329

324330
private implicit val step2OutFormats =

app/views/shuttering/ShutterStatePage.scala.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ <h1>Shutter Status: @selectedEnv.toString</h1>
9090
<td class="shutter-service">@state.serviceName</td>
9191
<td class="shutter-state">@state.status.value</td>
9292
<td class="shutter-user">@state.lastEvent.map(_.username).getOrElse("")</td>
93-
<td class="shutter-date">@state.lastEvent.map(e => DateTimeFormatter.ofPattern("yyyy-MM-dd hh:mm:SS z").withZone(ZoneId.systemDefault).format(e.timestamp)).getOrElse("")</td>
93+
<td class="shutter-date">@state.lastEvent.map(e => DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:SS z").withZone(ZoneId.systemDefault).format(e.timestamp)).getOrElse("")</td>
9494
@if(isSignedIn) {
9595
<td>
9696
<a id="shutter-link" href="@uk.gov.hmrc.cataloguefrontend.shuttering.routes.ShutterServiceController.step1Get(Some(state.environment.asString), Some(state.serviceName))">

app/views/shuttering/shutterService/Page2.scala.html

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,7 @@ <h1>Shutter Service</h1>
7575
</div>
7676
</div>
7777

78+
<input type="hidden" name="requiresOutageMessage" value="@requiresOutageMessage"/>
7879
@if(requiresOutageMessage) {
7980
@if(outagePages.find(_.warning.isDefined)) {
8081
<div class="row">

app/views/shuttering/shutterService/Page3.scala.html

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,10 @@
2222

2323
@this(viewMessages: ViewMessages)
2424

25-
@( form : Form[Step3Form]
26-
, step1Out: Step1Out
27-
, step2Out: Step2Out
28-
, back : Call
25+
@( form : Form[Step3Form]
26+
, step1Out : Step1Out
27+
, step2Out : Step2Out
28+
, back : Call
2929
)(implicit request : Request[_]
3030
, messagesProvider: MessagesProvider
3131
)
@@ -75,7 +75,7 @@ <h1>Shutter Service</h1>
7575
</div>
7676

7777
<table class="padded-table" style="width: 100%">
78-
@if(step1Out.status == ShutterStatusValue.Shuttered) {
78+
@if(step1Out.status == ShutterStatusValue.Shuttered && step2Out.requiresOutageMessage) {
7979
<tr>
8080
<td colspan="2">
8181
Outage Message:

0 commit comments

Comments
 (0)