Add analytics error tracking to checkbox fields

The existing macros added data attributes to any
error message displayed which communicated the
error to Google Analytics (if the user had given
consent).

This re-implements that functionality.
This commit is contained in:
Tom Byers
2020-07-14 10:34:53 +01:00
parent 2ad0d5f18c
commit 6ae9d15141

View File

@@ -568,7 +568,14 @@ class govukCheckboxField(govukCheckboxesMixin, BooleanField):
# error messages
error_message = None
if field.errors:
error_message = {"text": " ".join(field.errors).strip()}
error_message = {
"attributes": {
"data-module": "track-error",
"data-error-type": field.errors[0],
"data-error-label": field.name
},
"text": " ".join(field.errors).strip()
}
params = {
'name': field.name,
@@ -650,7 +657,14 @@ class govukCheckboxesField(govukCheckboxesMixin, SelectMultipleField):
# error messages
error_message = None
if field.errors:
error_message = {"text": " ".join(field.errors).strip()}
error_message = {
"attributes": {
"data-module": "track-error",
"data-error-type": field.errors[0],
"data-error-label": field.name
},
"text": " ".join(field.errors).strip()
}
# returns either a list or a hierarchy of lists
# depending on how get_items_from_options is implemented