-
+
+
+
- {% include "pages/side-nav.njk" %}
+ {% include "pages/side-nav.njk" %}
-
+
-
-
Breach Notice - Warning Type
+
+ {% include "partials/review-required.njk" %}
- {{ govukRadios({
- id: "warning-type",
- name: "warningType",
- fieldset: {
- legend: {
- text: "Select a Warning Type",
- isPageHeading: false,
- classes: "govuk-fieldset__legend--m"
- }
- },
- items: warningTypeRadioButtons,
- errorMessage: {
- text: errorMessages.warningType.text
- } if errorMessages.warningType.text
- }) }}
+
Breach Notice - Warning Type
- {{ govukSelect({
- id: "sentence-type",
- name: "sentenceType",
- label: {
- text: "Select the Sentence Type being enforced",
- classes: "govuk-fieldset__legend--m"
- },
- items: sentenceTypeSelectItems,
- errorMessage: {
- text: errorMessages.sentenceType.text
- } if errorMessages.sentenceType.text
- }) }}
+ {{ govukRadios({
+ id: "warning-type",
+ name: "warningType",
+ fieldset: {
+ legend: {
+ text: "Select a Warning Type",
+ isPageHeading: false,
+ classes: "govuk-fieldset__legend--m"
+ }
+ },
+ items: warningTypeRadioButtons,
+ errorMessage: {
+ text: errorMessages.warningType.text
+ } if errorMessages.warningType.text
+ }) }}
-
- {{ govukButton({
- text: "Continue",
- preventDoubleClick: "true",
- type: "submit",
- attributes: {
- id: "continue-button"
- }
- }) }}
- {{ govukButton({
- text: "Save Progress and Close",
- href: "/basic-details/"+breachNotice.id,
- classes: "govuk-button--secondary",
- preventDoubleClick: "true",
- attributes: {
- id: "close-button"
- }
- }) }}
-
-
+ {{ govukSelect({
+ id: "sentence-type",
+ name: "sentenceType",
+ label: {
+ text: "Select the Sentence Type being enforced",
+ classes: "govuk-fieldset__legend--m"
+ },
+ items: sentenceTypeSelectItems,
+ errorMessage: {
+ text: errorMessages.sentenceType.text
+ } if errorMessages.sentenceType.text
+ }) }}
+
+
+ {{ govukButton({
+ text: "Continue",
+ preventDoubleClick: "true",
+ type: "submit",
+ attributes: {
+ id: "continue-button"
+ }
+ }) }}
+ {{ govukButton({
+ text: "Save Progress and Close",
+ href: "/basic-details/"+breachNotice.id,
+ classes: "govuk-button--secondary",
+ preventDoubleClick: "true",
+ attributes: {
+ id: "close-button"
+ }
+ }) }}
-
+
+
+
{% endblock %}
diff --git a/server/views/partials/review-required.njk b/server/views/partials/review-required.njk
new file mode 100644
index 0000000..fdcd62d
--- /dev/null
+++ b/server/views/partials/review-required.njk
@@ -0,0 +1,24 @@
+{%- from "moj/components/alert/macro.njk" import mojAlert -%}
+
+{% if breachNotice.reviewRequiredDate != null %}
+
+ {% set messageHtml %}
+ {% if breachNotice.reviewEvent == 'MERGE' %}
+ A Merge occurred on {{ breachNotice.reviewRequiredDate | toUserDate() }} in NDelius and important details have chaged. This report should be reviewed before proceeding. Please confirm all information or discard this report.
+ {% endif %}
+ {% if breachNotice.reviewEvent == 'UNMERGE' %}
+ A Unmerge occurred on {{ breachNotice.reviewRequiredDate | toUserDate() }} in NDelius and important details have chaged. This report should be reviewed before proceeding. Please confirm all information or discard this report.
+ {% endif %}
+ {% endset -%}
+
+ {{ mojAlert({
+ variant: "warning",
+ title: "Review Required",
+ showTitleAsHeading: true,
+ dismissible: false,
+ html: messageHtml,
+ attributes: {
+ id: "reviewAlert"
+ }
+ }) }}
+{% endif %}
diff --git a/wiremock/mappings/breach-notice-api.json b/wiremock/mappings/breach-notice-api.json
index b672b00..5ae71e2 100644
--- a/wiremock/mappings/breach-notice-api.json
+++ b/wiremock/mappings/breach-notice-api.json
@@ -749,6 +749,156 @@
},
"transformers": ["response-template"]
}
+ },
+ {
+ "request": {
+ "url": "/breach-notice-api/breach-notice/00000000-0000-0000-0000-100000000101",
+ "method": "GET"
+ },
+ "response": {
+ "status": 200,
+ "jsonBody": {
+ "id": "00000000-0000-0000-0000-100000000101",
+ "crn": "X100504",
+ "titleAndFullName": "Mr Billy The Kid",
+ "dateOfLetter": "2025-01-01",
+ "referenceNumber": "REF0001",
+ "responseRequiredByDate": "2025-01-01",
+ "breachNoticeTypeCode": "BW",
+ "breachNoticeTypeDescription": "Breach Warning",
+ "breachConditionTypeCode": "BRE",
+ "breachConditionTypeDescription": "Breach",
+ "breachSentenceTypeCode": "CO",
+ "breachSentenceTypeDescription": "Community Order(s)",
+ "responsibleOfficer": "An Officer",
+ "contactNumber": "0892929187",
+ "nextAppointmentType": "App Type",
+ "nextAppointmentDate": "2025-01-01T12:34:56",
+ "nextAppointmentLocation": "Location",
+ "nextAppointmentOfficer": "Officer",
+ "nextAppointmentContact": "0292827177",
+ "completedDate": null,
+ "offenderAddress": {
+ "addressId": 12345,
+ "type": "Postal",
+ "buildingName": null,
+ "buildingNumber": "21",
+ "streetName": "Postal Street",
+ "district": "Postal District",
+ "townCity": "PostCity",
+ "county": "Postal County",
+ "postcode": "NE30 3ZZ"
+ },
+ "replyAddress": {
+ "addressId": 33333,
+ "type": "Postal",
+ "buildingName": null,
+ "buildingNumber": "21",
+ "streetName": "Reply Street",
+ "district": "Reply District",
+ "townCity": "Reply City",
+ "county": "Reply County",
+ "postcode": "NE22 3AA"
+ },
+ "basicDetailsSaved": true,
+ "warningTypeSaved": true,
+ "warningDetailsSaved": true,
+ "nextAppointmentSaved": true,
+ "useDefaultAddress": true,
+ "useDefaultReplyAddress": true,
+ "reviewRequiredDate": "2025-01-01T12:34:56",
+ "reviewEvent": "MERGE",
+ "breachNoticeContactList": [
+ {
+ "contactId": 1
+ }
+ ],
+ "breachNoticeRequirementList": [
+ {
+ "requirementId": 1
+ }
+ ]
+ },
+ "headers": {
+ "Content-Type": "application/json;charset=UTF-8"
+ },
+ "transformers": ["response-template"]
+ }
+ },
+ {
+ "request": {
+ "url": "/breach-notice-api/breach-notice/00000000-0000-0000-0000-100000000102",
+ "method": "GET"
+ },
+ "response": {
+ "status": 200,
+ "jsonBody": {
+ "id": "00000000-0000-0000-0000-100000000102",
+ "crn": "X100504",
+ "titleAndFullName": "Mr Billy The Kid",
+ "dateOfLetter": "2025-01-01",
+ "referenceNumber": "REF0001",
+ "responseRequiredByDate": "2025-01-01",
+ "breachNoticeTypeCode": "BW",
+ "breachNoticeTypeDescription": "Breach Warning",
+ "breachConditionTypeCode": "BRE",
+ "breachConditionTypeDescription": "Breach",
+ "breachSentenceTypeCode": "CO",
+ "breachSentenceTypeDescription": "Community Order(s)",
+ "responsibleOfficer": "An Officer",
+ "contactNumber": "0892929187",
+ "nextAppointmentType": "App Type",
+ "nextAppointmentDate": "2025-01-01T12:34:56",
+ "nextAppointmentLocation": "Location",
+ "nextAppointmentOfficer": "Officer",
+ "nextAppointmentContact": "0292827177",
+ "completedDate": null,
+ "offenderAddress": {
+ "addressId": 12345,
+ "type": "Postal",
+ "buildingName": null,
+ "buildingNumber": "21",
+ "streetName": "Postal Street",
+ "district": "Postal District",
+ "townCity": "PostCity",
+ "county": "Postal County",
+ "postcode": "NE30 3ZZ"
+ },
+ "replyAddress": {
+ "addressId": 33333,
+ "type": "Postal",
+ "buildingName": null,
+ "buildingNumber": "21",
+ "streetName": "Reply Street",
+ "district": "Reply District",
+ "townCity": "Reply City",
+ "county": "Reply County",
+ "postcode": "NE22 3AA"
+ },
+ "basicDetailsSaved": true,
+ "warningTypeSaved": true,
+ "warningDetailsSaved": true,
+ "nextAppointmentSaved": true,
+ "useDefaultAddress": true,
+ "useDefaultReplyAddress": true,
+ "reviewRequiredDate": "2025-01-01T12:34:56",
+ "reviewEvent": "UNMERGE",
+ "breachNoticeContactList": [
+ {
+ "contactId": 1
+ }
+ ],
+ "breachNoticeRequirementList": [
+ {
+ "requirementId": 1
+ }
+ ]
+ },
+ "headers": {
+ "Content-Type": "application/json;charset=UTF-8"
+ },
+ "transformers": ["response-template"]
+ }
}
]
}