{% macro digitalmarketplaceCheckboxesFromForm(params) %} {%- from 'govuk_frontend_jinja/components/checkboxes/macro.html' import govukCheckboxes -%} {% set name = params.form.name %} {% set items = params['items'] if 'items' in params else [] %} {% set values = params.form.data or []%} {% if 'items' not in params %} {% for item in params.form.options %} {% set _ = item.__setitem__("text", item["label"]) %} {% if item["value"] in values %} {% set _ = item.__setitem__("checked", true) %} {% endif %} {% if "description" in item %} {% set _ = item.__setitem__("hint", { 'text': item["description"] }) %} {% endif %} {% set _ = items.append(item) %} {% endfor %} {% set _ = params.__setitem__("items", items) %} {% endif %} {% if "fieldset" not in params %} {% set _ = params.__setitem__("fieldset", {}) %} {% endif %} {% if "legend" not in params.fieldset %} {% set _ = params.fieldset.__setitem__("legend", {}) %} {% endif %} {% set _ = params.fieldset.legend.__setitem__("text", params.form.question) %} {% if not params.fieldset.legend.classes %} {% set _ = params.fieldset.legend.__setitem__("classes", "govuk-fieldset__legend--m") %} {% endif %} {% set _ = params.__setitem__("name", name) %} {% set _ = params.__setitem__("idPrefix", "input-" + name) %} {% set _ = params.__setitem__("hint", { "text": params.form.hint }) if params.form.hint %} {% set _ = params.__setitem__("errorMessage", { "text": params.form.errors[0] }) if params.form.errors %} {{ govukCheckboxes(params) }} {% endmacro %}