From 2b230aff2544233640100e69711c173bd2ae7327 Mon Sep 17 00:00:00 2001 From: Nathan Brown Date: Wed, 1 Nov 2023 10:55:32 +0000 Subject: [PATCH] feat(cb2-9620): add in IVA30 fail path and start document creation (#95) * feat(cb2-9260): create new document path and dummy template * feat(cb2-9260): add in content for handlebars file * feat(cb2-9620): start work on css for the iva30 * feat(cb2-9620): finish css work * feat(cb2-9620): refactor name based on PR feedback * feat(cb2-9620): fix import name --------- Co-authored-by: nbrown --- .../gov/dvsa/enums/CertificateTemplates.java | 4 +- .../uk/gov/dvsa/enums/CertificateTypes.java | 5 +- .../uk/gov/dvsa/enums/DocumentsConfig.java | 5 +- .../java/uk/gov/dvsa/model/cvs/IVA30.java | 19 +++ .../resources/assets/stylesheets/iva-30.hbs | 123 ++++++++++++++++ .../views/CommercialVehicles/IVA30.hbs | 131 ++++++++++++++++++ 6 files changed, 283 insertions(+), 4 deletions(-) create mode 100644 src/main/java/uk/gov/dvsa/model/cvs/IVA30.java create mode 100644 src/main/resources/assets/stylesheets/iva-30.hbs create mode 100644 src/main/resources/views/CommercialVehicles/IVA30.hbs diff --git a/src/main/java/uk/gov/dvsa/enums/CertificateTemplates.java b/src/main/java/uk/gov/dvsa/enums/CertificateTemplates.java index ffa7e148..a71480d4 100644 --- a/src/main/java/uk/gov/dvsa/enums/CertificateTemplates.java +++ b/src/main/java/uk/gov/dvsa/enums/CertificateTemplates.java @@ -33,7 +33,9 @@ public enum CertificateTemplates { RWT_DATA("CommercialVehicles/RWT_DATA"), - INSPECTION_CHECKLIST("MOT/Inspection_Checklist"); + INSPECTION_CHECKLIST("MOT/Inspection_Checklist"), + + IVA30("CommercialVehicles/IVA30"); private final String certificateTemplateName; diff --git a/src/main/java/uk/gov/dvsa/enums/CertificateTypes.java b/src/main/java/uk/gov/dvsa/enums/CertificateTypes.java index 62c76694..f4cf394f 100644 --- a/src/main/java/uk/gov/dvsa/enums/CertificateTypes.java +++ b/src/main/java/uk/gov/dvsa/enums/CertificateTypes.java @@ -23,7 +23,6 @@ public enum CertificateTypes { VT29("MOT/VT29"), - CVS_PASS("CVS/VTP20"), CVS_FAIL("CVS/VTP30"), CVS_PSV_PRS("CVS/PSV_PRS"), @@ -39,7 +38,9 @@ public enum CertificateTypes { TRAILER_INTO_SERVICE("CVS/TrailerIntoService"), - INSPECTION_CHECKLIST("MOT/InspectionChecklist"); + INSPECTION_CHECKLIST("MOT/InspectionChecklist"), + + IVA30("CVS/IVA30"); private final String certificateType; diff --git a/src/main/java/uk/gov/dvsa/enums/DocumentsConfig.java b/src/main/java/uk/gov/dvsa/enums/DocumentsConfig.java index 80b842e4..4b1f585b 100644 --- a/src/main/java/uk/gov/dvsa/enums/DocumentsConfig.java +++ b/src/main/java/uk/gov/dvsa/enums/DocumentsConfig.java @@ -72,7 +72,10 @@ public enum DocumentsConfig { new String[]{CertificateTemplates.VTG5A.getCertificateTemplateName(), CertificateTemplates.VTG30.getCertificateTemplateName()}), INSPECTION_CHECKLIST(CertificateTypes.INSPECTION_CHECKLIST.getCertificateType(), InspectionChecklist.class, - new String[]{CertificateTemplates.INSPECTION_CHECKLIST.getCertificateTemplateName()}); + new String[]{CertificateTemplates.INSPECTION_CHECKLIST.getCertificateTemplateName()}), + + IVA30(CertificateTypes.IVA30.getCertificateType(), IVA30.class, + new String[]{CertificateTemplates.IVA30.getCertificateTemplateName()}); private final String documentName; diff --git a/src/main/java/uk/gov/dvsa/model/cvs/IVA30.java b/src/main/java/uk/gov/dvsa/model/cvs/IVA30.java new file mode 100644 index 00000000..dd5c4746 --- /dev/null +++ b/src/main/java/uk/gov/dvsa/model/cvs/IVA30.java @@ -0,0 +1,19 @@ +package uk.gov.dvsa.model.cvs; + +import com.fasterxml.jackson.annotation.JsonIgnoreProperties; +import com.fasterxml.jackson.annotation.JsonProperty; +import uk.gov.dvsa.model.Document; + +@JsonIgnoreProperties(ignoreUnknown = true) +public class IVA30 extends Document { + @JsonProperty("dummyProperty") + private String dummyProperty; + + public String getDummyProperty() { + return dummyProperty; + } + public IVA30 setDummyProperty(String dummyProperty) { + this.dummyProperty = dummyProperty; + return this; + } +} diff --git a/src/main/resources/assets/stylesheets/iva-30.hbs b/src/main/resources/assets/stylesheets/iva-30.hbs new file mode 100644 index 00000000..c8d20f77 --- /dev/null +++ b/src/main/resources/assets/stylesheets/iva-30.hbs @@ -0,0 +1,123 @@ + +@page { +size: A4 portrait; +margin: 20px 24px 0 24px; +padding: 0; +} + +p { margin:5px; } + +p, +div, +span { +font-family: "Calibri", sans-serif; +} + +h1 { +font-size: 100%; +} + +html, +body { +line-height: 1; +margin: 0; +-fs-page-sequence: start; +page-break-inside: avoid; +font-size: 90%; +} + +*, +:after, +:before { +box-sizing: border-box; +line-height: 1; +} + +.separate-page { +page-break-after: always; +} +.section-border { +border-style: solid; +border-color: black grey grey grey; +margin-bottom: 5px; +} + +.section-title-border { +border-style: solid; +border-color: black; +background-color: grey; +font-weight:bold; +text-align: center; +margin-left: -2px; +margin-top: -2px; +} + +.section-title-border h1 { +margin: 0px; +padding: 0px; +} + +.section-text-wrapper { +padding: 3px; +} + +.exam-list { +width: 100%; +} + +#left-exam-list { +float: left; +width: 50%; +} + +#right-exam-list { +float: right; +width: 50%; +} + +.footer { +width: 100%; +} + +#footer-left { +float: left; +text-align: left; +width: 50%; +} + +#footer-right { +float: right; +text-align: right; +width: 40%; +} + +#no-margin-p { +margin: 0px; +} + +.bold-title { +font-size: 1.5em; +} + +.vehicle-section-list { +margin-top: 0px; +padding-top: 0px; +list-style-type: none; +} +.item-list { +margin-left: 50px; +margin-bottom: 0px; +} + +.item-list li { +white-space: pre-wrap; +} + +.refusal-list { +clear: both; +} + +.refusal-list p { +margin: 0px; +clear: both; +} \ No newline at end of file diff --git a/src/main/resources/views/CommercialVehicles/IVA30.hbs b/src/main/resources/views/CommercialVehicles/IVA30.hbs new file mode 100644 index 00000000..e29d65c3 --- /dev/null +++ b/src/main/resources/views/CommercialVehicles/IVA30.hbs @@ -0,0 +1,131 @@ + + + + IVA30 + + + + + +
+ +
+
+

RE-EXAMINATION

+
+
+

This notification indicates the items of non-compliance being the reason(s) + why an Individual Approval Certificate (IAC) has not been issued. An application + for re-examination can be made up to 6 calendar months following the issue date + of the first "Notification of Refusal" in respect of the original application. + In any other case, a new application and a full fee must be submitted.

+

When modification/rectification has been completed, or additional evidence of + compliance obtained, an application for a re-examination (verbally or in writing) + should be made, in the case of an M1 or N1 vehicle class listed below, to attend at the test + station that issued this notification and in respect of any other class or category, to + the test station of your choice. To obtain a re-examination appointment please contact (0300) 200 1188

+ +
+
    +
  • Amateur Built Vehicle
  • +
  • Rebuilt Vehicle
  • +
  • Motor Ambulance
  • +
  • Motor Caravan
  • +
  • Vehicle manufactured using parts of a registered vehicle
  • +
+ +
    +
  • Disabled Person's Vehicle
  • +
  • Hearse
  • +
  • Armoured Vehicle
  • +
  • Vehicle manufactured in very low volume
  • +
+
+ +
+

Where a "Notification of Refusal" is issued, a further examination (a retest) will be carried + out without further payment if:

+

- the vehicle is submitted for the examination at the place where it was previously examined, and

+

- the vehicle is submitted for examination before the end of the fifth day on which DVSA is accepting + vehicles for inspection following the day of the original examination, and

+

- in the case of any vehicle category, the application is due to a failure to provide sufficient + documentary evidence before the examination to demonstrate compliance, or

+

- in the case of an M1 or N1 category vehicle only, failure is due to one or more of the following + items (subject to a maximum of six items)

+
+ +
    +
  • Item 3 Fuel tanks/rear protective devices - fuel filer arrangements only;
  • +
  • Item 4 Rear registration plate space - all requirements;
  • +
  • Item 7 Audible warning - operation of audible warning device;
  • +
  • Item 8 Indirect vision - all except field of view;
  • +
  • Item 9 Braking - warning lamps only;
  • +
  • Item 10 EMC - markings only;
  • +
  • Item 12 Interior fittings - no more than 3 separate examples of failure to comply;
  • +
  • Item 13 Anti-theft & immobiliser - all requirements;
  • +
  • Item 16 Exterior projects - no more than 3 separate examples of failure to comply;
  • +
  • Item 17 Speedometer - illumination only;
  • +
  • Item 18 Plates - all requirements;
  • +
  • Item 20-30 Lighting - all except angle of visibility and position;
  • +
  • Item 31 Seat belts - child restraint warning label only;
  • +
  • Item 33 Controls - no more than 3 separate examples of failure to comply;
  • +
  • Item 34 Defrost/demist all requirements;
  • +
  • Item 35 Wash/wipe - all requirements;
  • +
  • Item 36 Heating - all requirements;
  • +
  • Item 37 Wheel guards - all requirements;
  • +
  • Item 45 Safety glass - approval marking only;
  • +
  • Item 46 Tyres - approval marking, one example only;
  • + +
+
+
+ +
+
+

USE OF THE VEHICLE

+
+
+

It is an offence to use a vehicle that requires type approval without an Individual Approval + Certificate confirming compliance with the type approval requirements, except for the purposes of:

+
    +
  • - submitting it, by previous arrangement, for an approval examination;
  • +
  • - bringing it away from such an examination;
  • +
  • - delivering it, by previous arrangement, to a place where relevant work is to be done on it following + receipt of a refusal to issue an Individual Approval Certificate;
  • +
  • - bringing it away from a place where relevant work has been done on it.
  • +
+

You may have been notified of defects in addition to those appertaining to the approval requirements. + Even in the above circumstances you may be committing an offence if you use the vehicle, and it does + not comply with the various regulations relating to its construction and use.

+
+
+ + +
+
+

YOUR RIGHT TO APPEAL

+
+
+ +

If you do not agree with the refusal to issue an Individual Approval Certificate, you may appeal. If you + wish to appeal against all or any of the grounds for refusal you must complete form IVA17 which is + available from the test location or from the gov.uk website www.gov.uk/vehicleapproval. The form, together + with the appropriate fee, must be received at the Vehicle Approvals Section, DVSA, Ellipse, Padley + Road, Swansea, SA1 8AN within 14 days of the date the original notification of refusal was issued.

+ +

It is important that no modification/rectification work carried out on the vehicle before the appeal + test as this may affect the outcome of the appeal.

+
+
+ + + +
+ + + \ No newline at end of file