@defra/forms-engine-plugin 0.1.10 → 0.1.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (247) hide show
  1. package/.public/javascripts/file-upload.min.js +1 -1
  2. package/.public/javascripts/file-upload.min.js.map +1 -1
  3. package/.public/stylesheets/application.min.css +1 -1
  4. package/.public/stylesheets/application.min.css.map +1 -1
  5. package/.server/client/javascripts/file-upload.js +45 -4
  6. package/.server/client/javascripts/file-upload.js.map +1 -1
  7. package/.server/client/stylesheets/application.scss +10 -0
  8. package/.server/config/index.js +3 -14
  9. package/.server/config/index.js.map +1 -1
  10. package/.server/server/constants.js +2 -0
  11. package/.server/server/constants.js.map +1 -1
  12. package/.server/server/devserver/dxt-devtool-baselayout.html +71 -0
  13. package/.server/server/forms/register-as-a-unicorn-breeder.json +393 -0
  14. package/.server/server/forms/register-as-a-unicorn-breeder.yaml +251 -0
  15. package/.server/server/index.js +12 -17
  16. package/.server/server/index.js.map +1 -1
  17. package/.server/server/plugins/engine/components/AutocompleteField.js +2 -0
  18. package/.server/server/plugins/engine/components/AutocompleteField.js.map +1 -1
  19. package/.server/server/plugins/engine/components/CheckboxesField.js +3 -4
  20. package/.server/server/plugins/engine/components/CheckboxesField.js.map +1 -1
  21. package/.server/server/plugins/engine/components/ComponentCollection.js +37 -16
  22. package/.server/server/plugins/engine/components/ComponentCollection.js.map +1 -1
  23. package/.server/server/plugins/engine/components/DatePartsField.js +36 -2
  24. package/.server/server/plugins/engine/components/DatePartsField.js.map +1 -1
  25. package/.server/server/plugins/engine/components/EmailAddressField.js +19 -3
  26. package/.server/server/plugins/engine/components/EmailAddressField.js.map +1 -1
  27. package/.server/server/plugins/engine/components/FileUploadField.js +44 -4
  28. package/.server/server/plugins/engine/components/FileUploadField.js.map +1 -1
  29. package/.server/server/plugins/engine/components/FormComponent.js +14 -2
  30. package/.server/server/plugins/engine/components/FormComponent.js.map +1 -1
  31. package/.server/server/plugins/engine/components/ListFormComponent.js +16 -3
  32. package/.server/server/plugins/engine/components/ListFormComponent.js.map +1 -1
  33. package/.server/server/plugins/engine/components/Markdown.js +24 -0
  34. package/.server/server/plugins/engine/components/Markdown.js.map +1 -0
  35. package/.server/server/plugins/engine/components/MonthYearField.js +30 -2
  36. package/.server/server/plugins/engine/components/MonthYearField.js.map +1 -1
  37. package/.server/server/plugins/engine/components/MultilineTextField.js +32 -3
  38. package/.server/server/plugins/engine/components/MultilineTextField.js.map +1 -1
  39. package/.server/server/plugins/engine/components/NumberField.js +28 -3
  40. package/.server/server/plugins/engine/components/NumberField.js.map +1 -1
  41. package/.server/server/plugins/engine/components/SelectionControlField.js +14 -0
  42. package/.server/server/plugins/engine/components/SelectionControlField.js.map +1 -1
  43. package/.server/server/plugins/engine/components/TelephoneNumberField.js +19 -3
  44. package/.server/server/plugins/engine/components/TelephoneNumberField.js.map +1 -1
  45. package/.server/server/plugins/engine/components/TextField.js +22 -3
  46. package/.server/server/plugins/engine/components/TextField.js.map +1 -1
  47. package/.server/server/plugins/engine/components/UkAddressField.js +29 -0
  48. package/.server/server/plugins/engine/components/UkAddressField.js.map +1 -1
  49. package/.server/server/plugins/engine/components/YesNoField.js +18 -0
  50. package/.server/server/plugins/engine/components/YesNoField.js.map +1 -1
  51. package/.server/server/plugins/engine/components/helpers.js +16 -0
  52. package/.server/server/plugins/engine/components/helpers.js.map +1 -1
  53. package/.server/server/plugins/engine/components/index.js +1 -0
  54. package/.server/server/plugins/engine/components/index.js.map +1 -1
  55. package/.server/server/plugins/engine/configureEnginePlugin.js +19 -3
  56. package/.server/server/plugins/engine/configureEnginePlugin.js.map +1 -1
  57. package/.server/server/plugins/engine/helpers.js +38 -18
  58. package/.server/server/plugins/engine/helpers.js.map +1 -1
  59. package/.server/server/plugins/engine/models/FormModel.js +60 -2
  60. package/.server/server/plugins/engine/models/FormModel.js.map +1 -1
  61. package/.server/server/plugins/engine/models/SummaryViewModel.js +3 -2
  62. package/.server/server/plugins/engine/models/SummaryViewModel.js.map +1 -1
  63. package/.server/server/plugins/engine/outputFormatters/human/v1.js +1 -1
  64. package/.server/server/plugins/engine/outputFormatters/human/v1.js.map +1 -1
  65. package/.server/server/plugins/engine/pageControllers/PageController.js +13 -5
  66. package/.server/server/plugins/engine/pageControllers/PageController.js.map +1 -1
  67. package/.server/server/plugins/engine/pageControllers/QuestionPageController.js +2 -2
  68. package/.server/server/plugins/engine/pageControllers/QuestionPageController.js.map +1 -1
  69. package/.server/server/plugins/engine/pageControllers/SummaryPageController.js +19 -5
  70. package/.server/server/plugins/engine/pageControllers/SummaryPageController.js.map +1 -1
  71. package/.server/server/plugins/engine/pageControllers/validationOptions.js +6 -11
  72. package/.server/server/plugins/engine/pageControllers/validationOptions.js.map +1 -1
  73. package/.server/server/plugins/engine/plugin.js +32 -20
  74. package/.server/server/plugins/engine/plugin.js.map +1 -1
  75. package/.server/server/plugins/engine/services/formsService.js +15 -29
  76. package/.server/server/plugins/engine/services/formsService.js.map +1 -1
  77. package/.server/server/plugins/engine/services/localFormsService.js +52 -0
  78. package/.server/server/plugins/engine/services/localFormsService.js.map +1 -0
  79. package/.server/server/plugins/engine/services/notifyService.js +1 -4
  80. package/.server/server/plugins/engine/services/notifyService.js.map +1 -1
  81. package/.server/server/plugins/engine/services/uploadService.js +5 -3
  82. package/.server/server/plugins/engine/services/uploadService.js.map +1 -1
  83. package/.server/server/plugins/engine/types.js.map +1 -1
  84. package/.server/server/plugins/engine/views/components/html.html +1 -1
  85. package/.server/server/plugins/engine/views/components/markdown.html +5 -0
  86. package/.server/server/plugins/engine/views/confirmation.html +1 -1
  87. package/.server/server/plugins/engine/views/file-upload.html +1 -1
  88. package/.server/server/plugins/engine/views/index.html +1 -1
  89. package/.server/server/plugins/engine/views/item-delete.html +1 -1
  90. package/.server/server/plugins/engine/views/repeat-list-summary.html +1 -1
  91. package/.server/server/plugins/engine/views/summary.html +8 -2
  92. package/.server/server/plugins/errorPages.js +4 -26
  93. package/.server/server/plugins/errorPages.js.map +1 -1
  94. package/.server/server/plugins/nunjucks/context.js +43 -33
  95. package/.server/server/plugins/nunjucks/context.js.map +1 -1
  96. package/.server/server/plugins/nunjucks/context.test.js +23 -28
  97. package/.server/server/plugins/nunjucks/context.test.js.map +1 -1
  98. package/.server/server/plugins/nunjucks/enviroment.test.js +6 -3
  99. package/.server/server/plugins/nunjucks/enviroment.test.js.map +1 -1
  100. package/.server/server/plugins/nunjucks/types.js +3 -4
  101. package/.server/server/plugins/nunjucks/types.js.map +1 -1
  102. package/.server/server/routes/index.js +0 -1
  103. package/.server/server/routes/index.js.map +1 -1
  104. package/.server/server/utils/type-utils.js +8 -0
  105. package/.server/server/utils/type-utils.js.map +1 -0
  106. package/.server/typings/hapi/index.d.js.map +1 -1
  107. package/.server/typings/joi/index.d.js.map +1 -1
  108. package/package.json +4 -3
  109. package/src/client/javascripts/file-upload.js +60 -4
  110. package/src/client/stylesheets/application.scss +10 -0
  111. package/src/config/index.ts +4 -17
  112. package/src/server/constants.js +2 -0
  113. package/src/server/devserver/dxt-devtool-baselayout.html +71 -0
  114. package/src/server/forms/register-as-a-unicorn-breeder.json +393 -0
  115. package/src/server/forms/register-as-a-unicorn-breeder.yaml +251 -0
  116. package/src/server/index.test.ts +38 -66
  117. package/src/server/index.ts +15 -17
  118. package/src/server/plugins/engine/components/AutocompleteField.test.ts +71 -3
  119. package/src/server/plugins/engine/components/AutocompleteField.ts +6 -2
  120. package/src/server/plugins/engine/components/CheckboxesField.test.ts +40 -8
  121. package/src/server/plugins/engine/components/CheckboxesField.ts +7 -3
  122. package/src/server/plugins/engine/components/ComponentCollection.ts +45 -18
  123. package/src/server/plugins/engine/components/DatePartsField.test.ts +13 -4
  124. package/src/server/plugins/engine/components/DatePartsField.ts +29 -8
  125. package/src/server/plugins/engine/components/EmailAddressField.test.ts +51 -1
  126. package/src/server/plugins/engine/components/EmailAddressField.ts +17 -2
  127. package/src/server/plugins/engine/components/FileUploadField.test.ts +53 -0
  128. package/src/server/plugins/engine/components/FileUploadField.ts +52 -3
  129. package/src/server/plugins/engine/components/FormComponent.ts +24 -2
  130. package/src/server/plugins/engine/components/ListFormComponent.ts +16 -2
  131. package/src/server/plugins/engine/components/Markdown.test.ts +48 -0
  132. package/src/server/plugins/engine/components/Markdown.ts +29 -0
  133. package/src/server/plugins/engine/components/MonthYearField.test.ts +35 -0
  134. package/src/server/plugins/engine/components/MonthYearField.ts +34 -9
  135. package/src/server/plugins/engine/components/MultilineTextField.test.ts +83 -5
  136. package/src/server/plugins/engine/components/MultilineTextField.ts +37 -2
  137. package/src/server/plugins/engine/components/NumberField.test.ts +24 -2
  138. package/src/server/plugins/engine/components/NumberField.ts +23 -3
  139. package/src/server/plugins/engine/components/RadiosField.test.ts +10 -1
  140. package/src/server/plugins/engine/components/SelectField.test.ts +2 -1
  141. package/src/server/plugins/engine/components/SelectionControlField.ts +14 -0
  142. package/src/server/plugins/engine/components/TelephoneNumberField.test.ts +30 -2
  143. package/src/server/plugins/engine/components/TelephoneNumberField.ts +17 -2
  144. package/src/server/plugins/engine/components/TextField.test.ts +33 -1
  145. package/src/server/plugins/engine/components/TextField.ts +17 -2
  146. package/src/server/plugins/engine/components/UkAddressField.test.ts +46 -3
  147. package/src/server/plugins/engine/components/UkAddressField.ts +28 -0
  148. package/src/server/plugins/engine/components/YesNoField.test.ts +9 -1
  149. package/src/server/plugins/engine/components/YesNoField.ts +24 -0
  150. package/src/server/plugins/engine/components/helpers.test.ts +24 -0
  151. package/src/server/plugins/engine/components/helpers.ts +39 -0
  152. package/src/server/plugins/engine/components/index.ts +1 -0
  153. package/src/server/plugins/engine/configureEnginePlugin.ts +32 -4
  154. package/src/server/plugins/engine/helpers.test.ts +71 -20
  155. package/src/server/plugins/engine/helpers.ts +46 -19
  156. package/src/server/plugins/engine/models/FormModel.test.ts +91 -1
  157. package/src/server/plugins/engine/models/FormModel.ts +86 -3
  158. package/src/server/plugins/engine/models/SummaryViewModel.test.ts +46 -7
  159. package/src/server/plugins/engine/models/SummaryViewModel.ts +7 -3
  160. package/src/server/plugins/engine/outputFormatters/human/v1.test.ts +1 -2
  161. package/src/server/plugins/engine/outputFormatters/human/v1.ts +1 -1
  162. package/src/server/plugins/engine/pageControllers/FileUploadPageController.test.ts +1 -0
  163. package/src/server/plugins/engine/pageControllers/PageController.test.ts +9 -6
  164. package/src/server/plugins/engine/pageControllers/PageController.ts +15 -5
  165. package/src/server/plugins/engine/pageControllers/QuestionPageController.ts +2 -2
  166. package/src/server/plugins/engine/pageControllers/SummaryPageController.ts +21 -6
  167. package/src/server/plugins/engine/pageControllers/validationOptions.ts +31 -17
  168. package/src/server/plugins/engine/plugin.ts +52 -22
  169. package/src/server/plugins/engine/services/formsService.js +17 -35
  170. package/src/server/plugins/engine/services/localFormsService.js +49 -0
  171. package/src/server/plugins/engine/services/notifyService.ts +1 -2
  172. package/src/server/plugins/engine/services/uploadService.js +10 -6
  173. package/src/server/plugins/engine/types.ts +10 -1
  174. package/src/server/plugins/engine/views/components/html.html +1 -1
  175. package/src/server/plugins/engine/views/components/markdown.html +5 -0
  176. package/src/server/plugins/engine/views/confirmation.html +1 -1
  177. package/src/server/plugins/engine/views/file-upload.html +1 -1
  178. package/src/server/plugins/engine/views/index.html +1 -1
  179. package/src/server/plugins/engine/views/item-delete.html +1 -1
  180. package/src/server/plugins/engine/views/repeat-list-summary.html +1 -1
  181. package/src/server/plugins/engine/views/summary.html +8 -2
  182. package/src/server/plugins/errorPages.ts +4 -26
  183. package/src/server/plugins/nunjucks/context.js +44 -34
  184. package/src/server/plugins/nunjucks/context.test.js +24 -27
  185. package/src/server/plugins/nunjucks/enviroment.test.js +9 -3
  186. package/src/server/plugins/nunjucks/types.js +3 -4
  187. package/src/server/routes/index.ts +0 -1
  188. package/src/server/utils/type-utils.ts +15 -0
  189. package/src/typings/hapi/index.d.ts +3 -9
  190. package/src/typings/joi/index.d.ts +8 -0
  191. package/.server/common/cookies.js +0 -55
  192. package/.server/common/cookies.js.map +0 -1
  193. package/.server/common/cookies.test.js +0 -15
  194. package/.server/common/cookies.test.js.map +0 -1
  195. package/.server/common/types.js +0 -6
  196. package/.server/common/types.js.map +0 -1
  197. package/.server/server/forms/README.md +0 -10
  198. package/.server/server/forms/report-a-terrorist.json +0 -270
  199. package/.server/server/forms/runner-components-test.json +0 -365
  200. package/.server/server/forms/test.json +0 -581
  201. package/.server/server/forms/test.yaml +0 -363
  202. package/.server/server/plugins/blankie.js +0 -29
  203. package/.server/server/plugins/blankie.js.map +0 -1
  204. package/.server/server/plugins/engine/services/formsService.test.js +0 -71
  205. package/.server/server/plugins/engine/services/formsService.test.js.map +0 -1
  206. package/.server/server/plugins/engine/views/layout.html +0 -199
  207. package/.server/server/plugins/router.js +0 -169
  208. package/.server/server/plugins/router.js.map +0 -1
  209. package/.server/server/routes/health.js +0 -15
  210. package/.server/server/routes/health.js.map +0 -1
  211. package/.server/server/routes/health.test.js +0 -32
  212. package/.server/server/routes/health.test.js.map +0 -1
  213. package/.server/server/utils/file-form-service.test.js +0 -52
  214. package/.server/server/utils/file-form-service.test.js.map +0 -1
  215. package/.server/server/views/404.html +0 -16
  216. package/.server/server/views/500.html +0 -19
  217. package/.server/server/views/help/accessibility-statement.html +0 -58
  218. package/.server/server/views/help/cookie-preferences.html +0 -57
  219. package/.server/server/views/help/cookies.html +0 -71
  220. package/.server/server/views/help/get-support.html +0 -37
  221. package/.server/server/views/help/privacy-notice.html +0 -68
  222. package/.server/server/views/help/terms-and-conditions.html +0 -83
  223. package/src/common/cookies.js +0 -58
  224. package/src/common/cookies.test.js +0 -23
  225. package/src/common/types.js +0 -5
  226. package/src/server/forms/README.md +0 -10
  227. package/src/server/forms/report-a-terrorist.json +0 -270
  228. package/src/server/forms/runner-components-test.json +0 -365
  229. package/src/server/forms/test.json +0 -581
  230. package/src/server/forms/test.yaml +0 -363
  231. package/src/server/plugins/blankie.test.ts +0 -73
  232. package/src/server/plugins/blankie.ts +0 -48
  233. package/src/server/plugins/engine/services/formsService.test.js +0 -90
  234. package/src/server/plugins/engine/views/layout.html +0 -199
  235. package/src/server/plugins/router.ts +0 -201
  236. package/src/server/routes/health.js +0 -13
  237. package/src/server/routes/health.test.js +0 -35
  238. package/src/server/routes/index.test.ts +0 -125
  239. package/src/server/utils/file-form-service.test.js +0 -79
  240. package/src/server/views/404.html +0 -16
  241. package/src/server/views/500.html +0 -19
  242. package/src/server/views/help/accessibility-statement.html +0 -58
  243. package/src/server/views/help/cookie-preferences.html +0 -57
  244. package/src/server/views/help/cookies.html +0 -71
  245. package/src/server/views/help/get-support.html +0 -37
  246. package/src/server/views/help/privacy-notice.html +0 -68
  247. package/src/server/views/help/terms-and-conditions.html +0 -83
@@ -1,58 +0,0 @@
1
- {% extends 'layout.html' %}
2
-
3
- {% set pageTitle = "Accessibility statement" %}
4
-
5
- {% block content %}
6
- <div class="govuk-grid-row">
7
- <div class="govuk-grid-column-two-thirds">
8
- <h1 class="govuk-heading-l">Accessibility statement for this form</h1>
9
- <p class="govuk-body">This accessibility statement applies to online forms with a URL that starts with
10
- https://submit-forms-to-defra.service.gov.uk.</p>
11
-
12
- <h2 class="govuk-heading-m">Technical information about this website’s accessibility</h2>
13
- <p class="govuk-body">Defra is committed to making its forms accessible, in accordance with the Public Sector Bodies
14
- (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018.</p>
15
-
16
- <h2 class="govuk-heading-m">Compliance status</h2>
17
- <p class="govuk-body">Forms created by Defra are fully compliant with the Web Content Accessibility Guidelines
18
- (WCAG) version 2.2 AA standard.</p>
19
-
20
- <h2 class="govuk-heading-m">How accessible this website is</h2>
21
- <p class="govuk-body">This section lists accessibility issues with content found in Defra forms.</p>
22
-
23
- <h3 class="govuk-heading-s">Non-compliance with the accessibility regulations</h3>
24
- <p class="govuk-body">Defra forms do not have accessibility issues that fail the WCAG 2.2 accessibility regulations.</p>
25
-
26
- <h3 class="govuk-heading-s">Content that’s not within the scope of the accessibility regulations</h3>
27
- <p class="govuk-body">The accessibility issues listed in this section do not fail the accessibility regulations. We
28
- plan to fix them as soon as possible.</p>
29
- <ul class="govuk-list govuk-list--number">
30
- <li>Forms do not default to a dark or light theme based on the ‘prefers-color-scheme’.</li>
31
- <li>The email field allows for the entry of values that are not formatted as an email address.</li>
32
- <li>The summary screen for each form does not display the question asked. Instead, it displays a summarised version of
33
- the question.</li>
34
- <li>Some optional questions are not marked as optional.</li>
35
- <li>Section titles in some forms are formatted as H2 level headings. These headings are shown before page titles
36
- which are formatted as H1 level headings (skipped heading hierarchy).</li>
37
- </ul>
38
-
39
- <h2 class="govuk-heading-m">Preparation of this accessibility statement</h2>
40
- <p class="govuk-body">This statement was prepared on 24 June 2024. It was last reviewed on 26 June 2024.</p>
41
- <p class="govuk-body">The Defra Accessibility team tested 2 online forms against the WCAG 2.2 AA standard on 17 June
42
- 2024. The tests were done using automated testing tools.</p>
43
- <p class="govuk-body">We will commission a full accessibility audit of forms created by Defra before April 2025.</p>
44
-
45
- <h2 class="govuk-heading-m">Feedback and contact information</h2>
46
- <p class="govuk-body">If you find any problems not listed on this page or think we’re not meeting accessibility
47
- requirements, email the Defra Forms team on <a class="govuk-link"
48
- href="mailto:defraforms@defra.gov.uk">defraforms@defra.gov.uk</a>.</p>
49
-
50
- <h2 class="govuk-heading-m">Enforcement procedure</h2>
51
- <p class="govuk-body">The Equality and Human Rights Commission (EHRC) is responsible for enforcing the Public Sector
52
- Bodies (Websites and Mobile Applications) (No. 2) Accessibility Regulations 2018 (the ‘accessibility
53
- regulations’). If you’re not happy with how we respond to your complaint, contact the <a class="govuk-link"
54
- href="https://www.equalityadvisoryservice.com/" rel="external">Equality Advisory and Support Service (EASS)</a>.
55
- </p>
56
- </div>
57
- </div>
58
- {% endblock %}
@@ -1,57 +0,0 @@
1
- {% extends "layout.html" %}
2
-
3
- {% from "govuk/components/radios/macro.njk" import govukRadios %}
4
- {% from "govuk/components/button/macro.njk" import govukButton %}
5
- {% from "govuk/components/notification-banner/macro.njk" import govukNotificationBanner -%}
6
-
7
- {% set pageTitle = "Cookies" %}
8
-
9
- {% block content %}
10
- <div class="govuk-grid-row">
11
- <div class="govuk-grid-column-two-thirds">
12
- {% if cookieConsentUpdated %}
13
- {% set notificationHtml %}
14
- <p class="govuk-notification-banner__heading">
15
- You’ve set your cookie preferences.
16
- </p>
17
- {% endset %}
18
-
19
- {{ govukNotificationBanner({
20
- type: "success",
21
- html: notificationHtml
22
- }) }}
23
- {% endif %}
24
-
25
- <h2 class="govuk-heading-l">Change your cookie settings</h2>
26
-
27
- <form method="post" novalidate>
28
- <input type="hidden" name="crumb" value="{{ crumb }}">
29
-
30
- {{ govukRadios({
31
- name: "cookies[analytics]",
32
- fieldset: {
33
- legend: {
34
- text: "Do you want to accept analytics cookies?",
35
- classes: "govuk-fieldset__legend--s"
36
- }
37
- },
38
- items: [
39
- {
40
- value: "yes",
41
- text: "Yes"
42
- },
43
- {
44
- value: "no",
45
- text: "No"
46
- }
47
- ],
48
- value: "yes" if cookieConsent.analytics === true else "no"
49
- }) }}
50
-
51
- {{ govukButton({
52
- text: "Save cookie settings"
53
- }) }}
54
- </form>
55
- </div>
56
- </div>
57
- {% endblock %}
@@ -1,71 +0,0 @@
1
- {% extends 'layout.html' %}
2
-
3
- {% from "govuk/components/table/macro.njk" import govukTable %}
4
-
5
- {% set pageTitle = "Cookies" %}
6
-
7
- {% block content %}
8
- <div class="govuk-grid-row">
9
- <div class="govuk-grid-column-two-thirds">
10
- <h1 class="govuk-heading-l">Cookies</h1>
11
- <p class="govuk-body">Cookies are small files saved on your phone, tablet or computer when you visit a website.</p>
12
- <p class="govuk-body">We use essential cookies to make this form work.</p>
13
-
14
- <h2 class="govuk-heading-m">Essential cookies</h2>
15
- <p class="govuk-body">Essential cookies keep your information secure. We do not need to ask your permission to use them.</p>
16
- {{ govukTable({
17
- firstCellIsHeader: true,
18
- caption: "Essential cookies we use",
19
- head: [
20
- { text: "Name" },
21
- { text: "Purpose" },
22
- { text: "Expires" }
23
- ],
24
- rows: [
25
- [
26
- { text: "cookieConsent" },
27
- { text: "Remembers your cookie preferences" },
28
- { text: "1 year" }
29
- ],
30
- [
31
- { text: "session" },
32
- { text: "Remembers the information you enter" },
33
- { text: "When you close the browser, or after " + sessionDurationPretty }
34
- ],
35
- [
36
- { text: "crumb" },
37
- { text: "Ensures forms can only be submitted from this website" },
38
- { text: "When you close the browser" }
39
- ]
40
- ]
41
- }) }}
42
-
43
- <h2 class="govuk-heading-m">Analytics cookies</h2>
44
- <p class="govuk-body">We use Google Analytics software to understand how people use our forms. We do this to help make sure the site is meeting the needs of its users and to help us make improvements.</p>
45
- {{ govukTable({
46
- firstCellIsHeader: true,
47
- caption: "Analytics cookies we use",
48
- head: [
49
- { text: "Name" },
50
- { text: "Purpose" },
51
- { text: "Expires" }
52
- ],
53
- rows: [
54
- [
55
- { text: "_ga" },
56
- { text: "Used by Google Analytics to help us count how many people visit our forms by tracking if you’ve visited before" },
57
- { text: "2 years" }
58
- ],
59
- [
60
- { text: "_ga_" + googleAnalyticsContainerId },
61
- { text: "Used by Google Analytics to find and track an individual session with your device" },
62
- { text: "2 years" }
63
- ]
64
- ]
65
- }) }}
66
-
67
- <h2 class="govuk-heading-m">Change your settings</h2>
68
- <p class="govuk-body">You can <a class="govuk-link" href="/help/cookie-preferences/{{ slug }}">change which cookies you’re happy for us to use</a>.</p>
69
- </div>
70
- </div>
71
- {% endblock %}
@@ -1,37 +0,0 @@
1
- {% extends "layout.html" %}
2
-
3
- {% set pageTitle = "Get help with your form" %}
4
-
5
- {% block content %}
6
- {% if form.contact %}
7
- <div class="govuk-width-container">
8
- <div class="govuk-grid-row">
9
- <div class="govuk-grid-column-two-thirds">
10
- <h1 class="govuk-heading-l">{{ pageTitle }}</h1>
11
- {% if form.contact.phone %}
12
- <h2 class="govuk-heading-m">Telephone</h2>
13
- <div class="app-prose-scope">
14
- {{ form.contact.phone | markdown | safe }}
15
- </div>
16
- <p class="govuk-body"><a href="https://www.gov.uk/call-charges" class="govuk-link govuk-link--no-visited-state">Find out about call charges</a></p>
17
- {% endif %}
18
-
19
- {% if form.contact.email %}
20
- <h2 class="govuk-heading-m">Email</h2>
21
- <ul class="govuk-list">
22
- <li><a class="govuk-link govuk-link--no-visited-state" href="mailto:{{ form.contact.email.address }}">{{ form.contact.email.address }}</a></li>
23
- <li>{{ form.contact.email.responseTime }}</li>
24
- </ul>
25
- {% endif %}
26
-
27
- {% if form.contact.online %}
28
- <h2 class="govuk-heading-m">Online contact form</h2>
29
- <ul class="govuk-list">
30
- <li><a class="govuk-link govuk-link--no-visited-state" href="{{ form.contact.online.url }}">{{ form.contact.online.text }}</a></li>
31
- </ul>
32
- {% endif %}
33
- </div>
34
- </div>
35
- </div>
36
- {% endif %}
37
- {% endblock %}
@@ -1,68 +0,0 @@
1
- {% extends "layout.html" %}
2
-
3
- {% set pageTitle = config.serviceName + " privacy notice" %}
4
-
5
- {% block content %}
6
- <div class="govuk-grid-row">
7
- <div class="govuk-grid-column-two-thirds">
8
- <h1 class="govuk-heading-l">{{ config.serviceName }} privacy notice</h1>
9
- <p class="govuk-body">The {{ form.title }} form was created using ‘{{ config.serviceName }}’. This service is owned and operated by the Department for Environment, Food & Rural Affairs (Defra).</p>
10
-
11
- <h2 class="govuk-heading-m">Who collects your personal data</h2>
12
- <p class="govuk-body">The organisation that created the {{ form.title }} form using ‘{{ config.serviceName }}’ is the data controller of personal data they collect. If the data controller is outside the Defra legal entity, then Defra is the data processor.</p>
13
- <p class="govuk-body">Read the <a href="{{ form.privacyNoticeUrl }}" class="govuk-link">specific privacy notice for the {{ form.title }} form</a>.</p>
14
- <p class="govuk-body">Defra also collects some data as a data controller. This privacy notice explains what personal data Defra collects and processes as a data controller through forms made with ‘{{ config.serviceName }}’.</p>
15
- <p class="govuk-body">If you need further information about how Defra uses your personal data, email <a href="mailto:defraforms@defra.gov.uk" class="govuk-link">defraforms@defra.gov.uk</a>.</p>
16
- <p class="govuk-body">If you want information and your associated rights you can email: <a href="mailto:data.protection@defra.gov.uk" class="govuk-link">data.protection@defra.gov.uk</a>.</p>
17
- <p class="govuk-body">The data protection officer for Defra is responsible for checking that Defra complies with legislation. You can contact them at <a href="mailto:DefraGroupDataProtectionOfficer@defra.gov.uk" class="govuk-link">Defra<wbr>Group<wbr>Data<wbr>Protection<wbr>Officer@defra.gov.uk</a>.</p>
18
-
19
- <h2 class="govuk-heading-m">Data we collect from you and what we do with it</h2>
20
- <p class="govuk-body">If you give your consent, we use Google Analytics cookies to collect information about how you use ‘{{ config.serviceName }}’. Read the <a href="https://support.google.com/analytics/topic/2919631" class="govuk-link">data privacy and security policy for Google Analytics</a>.</p>
21
- <p class="govuk-body">Google Analytics processes information about:</p>
22
- <ul class="govuk-list govuk-list--bullet">
23
- <li>your IP address</li>
24
- <li>the pages you visit on ‘{{ config.serviceName }}’</li>
25
- <li>how long you spend on each ‘{{ config.serviceName }}’ page</li>
26
- <li>how you got to the site</li>
27
- <li>what you select while you’re visiting the site</li>
28
- </ul>
29
- <p class="govuk-body">Defra will make sure you cannot be directly identified by Google Analytics data. We do this by using <a href="https://support.google.com/analytics/answer/2763052" class="govuk-link">Google Analytics’ IP address anonymisation</a> feature and by removing any other personal data from the titles or URLs of the pages you visit.</p>
30
- <p class="govuk-body">Defra will not combine analytics information with other data sets in a way that would directly identify who you are.</p>
31
- <p class="govuk-body">We use system logs to collect information about the usage of forms. The logs are stored in Amazon Web Services based in London.</p>
32
- <p class="govuk-body">We use the system logs and Google Analytics data to create anonymised reports about the performance of forms that use ‘{{ config.serviceName }}’. We use this data to improve forms, for example, if we discover a high number of drops offs at a certain point within a form. We may share this information with the data controller of the form.</p>
33
- <p class="govuk-body">If you email us feedback about a form that uses ‘{{ config.serviceName }}’, we’ll send your email address and any other personal information you choose to include in your email to the data controller for review. The data controller may use your personal information to reply to your query to update a form based on your feedback where it is appropriate.</p>
34
-
35
- <h2 class="govuk-heading-m">Lawful basis for processing your personal data</h2>
36
- <p class="govuk-body">The lawful basis for processing your personal data is your consent.</p>
37
-
38
- <h2 class="govuk-heading-m">Cookies</h2>
39
- <p class="govuk-body">We use cookies to make this form work. Read about the <a href="/help/cookies" class="govuk-link">cookies we use to make this form work</a>.</p>
40
-
41
- <h2 class="govuk-heading-m">How long we keep your data</h2>
42
- <p class="govuk-body">Defra will keep tracking cookies on your device for up to 1 year.</p>
43
-
44
- <h2 class="govuk-heading-m">Transfer of your personal data outside of the UK</h2>
45
- <p class="govuk-body">We will only transfer your personal data to another country that is deemed adequate for data protection purposes.</p>
46
-
47
- <h2 class="govuk-heading-m">What are your rights</h2>
48
- <p class="govuk-body">Based on the lawful processing above, your individual rights are:</p>
49
- <ul class="govuk-list govuk-list--bullet">
50
- <li>the right to be informed</li>
51
- <li>the right of access</li>
52
- <li>the right to rectification</li>
53
- <li>the right to erasure</li>
54
- <li>the right to restrict processing</li>
55
- <li>the right to data portability</li>
56
- <li>rights in relation to automated decision making and profiling</li>
57
- </ul>
58
- <p class="govuk-body">Get more information about your <a href="https://ico.org.uk/for-organisations/uk-gdpr-guidance-and-resources/individual-rights/" class="govuk-link">individual rights</a> under the UK General Data Protection Regulation (UK GDPR) and the Data Protection Act 2018 (DPA 2018).</p>
59
-
60
- <h2 class="govuk-heading-m">Complaints</h2>
61
- <p class="govuk-body">You have the right to <a href="https://ico.org.uk/make-a-complaint/" class="govuk-link">make a complaint</a> to the Information Commissioner’s Office at any time.</p>
62
-
63
- <h2 class="govuk-heading-m">Personal information charter</h2>
64
- <p class="govuk-body">Our <a href="https://www.gov.uk/government/organisations/department-for-environment-food-rural-affairs/about/personal-information-charter" class="govuk-link">personal information charter</a> explains more about your rights over your personal data.</p>
65
- <p class="govuk-body">Last updated: 24 December 2024</p>
66
- </div>
67
- </div>
68
- {% endblock %}
@@ -1,83 +0,0 @@
1
- {% extends 'layout.html' %}
2
-
3
- {% block content %}
4
- <div class="govuk-grid-row">
5
- <div class="govuk-grid-column-two-thirds">
6
- <h1 class="govuk-heading-l">Terms and conditions</h1>
7
- <p class="govuk-body">By using this digital service you agree to our <a rel=noopener
8
- href="https://www.gov.uk/government/publications/foreign-and-commonwealth-office-privacy-notice-consular-services-in-the-uk-and-at-british-embassies-high-commissions-and-consulates-overseas/foreign-and-commonwealth-office-privacy-notice-consular-services-in-the-uk-and-missions-overseas">
9
- privacy policy</a> and to these terms and conditions. Read them carefully.
10
- </p>
11
- <h2 class="govuk-heading-l">General</h2>
12
- <p class="govuk-body">These terms and conditions affect your rights and liabilities under
13
- the law. They govern your use of, and relationship with, the service. They don’t apply to other services
14
- provided by the Foreign &amp; Commonwealth Office, or to any other department or service which is linked
15
- to in this service.</p>
16
- <p class="govuk-body">You agree to use this site only for lawful purposes, and in a
17
- manner that does not infringe the rights of, or restrict or inhibit the use and enjoyment of, this site
18
- by any third party.</p>
19
- <p class="govuk-body">We may occasionally update these terms and conditions. This might happen if there’s a change in the law or to the way this service works. Check these terms and conditions regularly, as continued use of the service after a change has been made is your acceptance of the change. If you don't agree to the terms and conditions and </span><a
20
- rel=noopener href="https://www.gov.uk/government/publications/foreign-and-commonwealth-office-privacy-notice-consular-services-in-the-uk-and-at-british-embassies-high-commissions-and-consulates-overseas/foreign-and-commonwealth-office-privacy-notice-consular-services-in-the-uk-and-missions-overseas">
21
- privacy policy</a>, you should not use this service.</p>
22
- <h2 class="govuk-heading-l">Applicable law</h2>
23
- <p class="govuk-body">Your use of this service and any dispute arising from its use will
24
- be governed by and construed in accordance with the laws of England and Wales, including but not limited
25
- to the:</p>
26
- <ul class="govuk-list">
27
- <li>Computer Misuse Act 1990</li>
28
- <li>Data Protection Act</li>
29
- <li>Mental Capacity Act 2005</li>
30
- </ul>
31
- <h2 class="govuk-heading-l">How to use this service responsibly</h2>
32
- <p class="govuk-body">You must provide us with enough information for us to assess the
33
- case fairly and if appropriate to provide the service. We also need these details to provide information
34
- about the appointment, including rescheduling and cancellation when necessary, so you must provide
35
- accurate details where we can reliably contact you.</p>
36
- <p class="govuk-body">When attending their appointment the person requiring an emergency
37
- travel document will have to pass through Security checks. They should expect their belongings to be
38
- checked, and will have to leave their mobile phone and other belongings with the Security Officer. Do
39
- not bring laptops or other electronic devices. Arrive in advance of the appointment. If you need to
40
- cancel or modify your booking, you will be able to do so by following the link in the confirmation
41
- email.</p>
42
- <p class="govuk-body">There are risks in using a shared computer, such as in an internet
43
- café, to use this digital service. It’s your responsibility to be aware of these risks and to avoid
44
- using any computer which may leave your personal information accessible to others. You are responsible
45
- if you choose to leave a computer unprotected while in the process of using the service.</p>
46
- <p class="govuk-body">We make every effort to check and test this service whenever we
47
- amend or update it. However, you must take your own precautions to ensure that the way you access this
48
- service does not expose you to the risk of viruses, malicious computer code or other forms of
49
- interference which may damage your own computer system.</p>
50
- <p class="govuk-body">You must not misuse our service by knowingly introducing viruses,
51
- trojans, worms, logic bombs or other material which is malicious or technologically harmful. You must
52
- not attempt to gain unauthorised access to our service, the system on which our service is stored or any
53
- server, computer or database connected to our service. You must not attack our site via a
54
- denial-of-service attack or a distributed denial-of-service attack.</p>
55
- <h1 class="govuk-heading-l">Disclaimer</h1>
56
- <p class="govuk-body">While we make every effort to keep this service up to date, we
57
- don’t provide any guarantees, conditions or warranties as to the accuracy of the information on the
58
- site.</p>
59
- <p class="govuk-body">While Consular staff will give you as much advice as they can, it
60
- is your responsibility to ensure that you are obtaining the correct service and that you bring all the
61
- necessary documentation for the service. If you are unsure, you may wish to take legal advice before
62
- booking the service </p>
63
- <p class="govuk-body">Our consular fees are not refundable, and are subject to change without notice. Check the relevant <a
64
- href="https://www.gov.uk/search?q=consular+fees" target="_blank" rel="noopener noreferrer">consular fees list</a> for the latest information.</p>
65
- <p class="govuk-body">We don’t accept liability for loss or damage incurred by users of
66
- this service, whether direct, indirect or consequential, whether caused by tort, breach of contract or
67
- otherwise. This includes loss of income or revenue, business, profits or contracts, anticipated savings,
68
- data, goodwill, tangible property or wasted time in connection with this service or any websites linked
69
- to it and any materials posted on it. This condition shall not prevent claims for loss of or damage to
70
- your tangible property or any other claims for direct financial loss that are not excluded by any of the
71
- categories set out above.</p>
72
- <p class="govuk-body">This does not affect our liability for death or personal injury
73
- arising from our negligence, nor our liability for fraudulent misrepresentation or misrepresentation as
74
- to a fundamental matter, nor any other liability which cannot be excluded or limited under applicable
75
- law. </p>
76
- <h2 class="govuk-heading-l">Information provided by this service</h2>
77
- <p class="govuk-body"> We work hard to ensure that information within this service is
78
- accurate. However, we can’t guarantee the accuracy and completeness of any information at all times.
79
- While we make every effort to ensure this service is accessible at all times, we are not liable if it is
80
- unavailable for any period of time. </p>
81
- </div>
82
- </div>
83
- {% endblock %}