diff --git a/templates/macro/form.html b/templates/macro/form.html
index 72af87f5..7f7952be 100644
--- a/templates/macro/form.html
+++ b/templates/macro/form.html
@@ -1,19 +1,18 @@
-{% macro checkbox(item, metadata, parent=none, delete=false) %}
+{% macro checkbox(name, id, prefix, url, checked, parent=none, delete=false) %}
{% if g.login.is_authenticated() %}
- {% set prefix=metadata.as_dataset() %}
- <input class="form-check-input" type="checkbox" id="{{ prefix }}-{{ item.fields.id }}" {% if item.fields[metadata.as_column()] %}checked{% endif %}
+ <input class="form-check-input" type="checkbox" id="{{ prefix }}-{{ id }}" {% if checked %}checked{% endif %}
{% if not delete %}
- data-changer-id="{{ item.fields.id }}" data-changer-prefix="{{ prefix }}" data-changer-url="{{ metadata.url_for_set_state(item.fields.id) }}" {% if parent %}data-changer-parent="{{ parent }}"{% endif %}
+ data-changer-id="{{ id }}" data-changer-prefix="{{ prefix }}" data-changer-url="{{ url }}" {% if parent %}data-changer-parent="{{ parent }}"{% endif %}
{% else %}
disabled
{% endif %}
autocomplete="off">
- <label class="form-check-label flex-grow-1 ms-1" for="{{ prefix }}-{{ item.fields.id }}">
- {{ metadata.fields.name }} <i id="status-{{ prefix }}-{{ item.fields.id }}"></i>
+ <label class="form-check-label flex-grow-1 ms-1" for="{{ prefix }}-{{ id }}">
+ {{ name }} <i id="status-{{ prefix }}-{{ id }}"></i>
</label>
{% else %}
- <input class="form-check-input text-reset" type="checkbox" {% if item.fields[metadata.as_column()] %}checked{% endif %} disabled>
- {{ text }}
+ <input class="form-check-input text-reset" type="checkbox" {% if checked %}checked{% endif %} disabled>
+ {{ name }}
{% endif %}
{% endmacro %}
diff --git a/templates/set/card.html b/templates/set/card.html
index 924bcd75..77cf33fa 100644
--- a/templates/set/card.html
+++ b/templates/set/card.html
@@ -83,7 +83,7 @@
{% if not tiny and brickset_statuses | length %}
<ul class="list-group list-group-flush card-check border-bottom-0">
{% for status in brickset_statuses %}
- <li class="d-flex list-group-item {% if not solo %}p-1{% endif %} text-nowrap">{{ form.checkbox(item, status, parent='set', delete=delete) }}</li>
+ <li class="d-flex list-group-item {% if not solo %}p-1{% endif %} text-nowrap">{{ form.checkbox(status.fields.name, item.fields.id, status.as_dataset(), status.url_for_set_state(item.fields.id), item.fields[status.as_column()], parent='set', delete=delete) }}</li>
{% endfor %}
</ul>
{% endif %}
diff --git a/templates/set/management.html b/templates/set/management.html
index ade6729c..ea9b5012 100644
--- a/templates/set/management.html
+++ b/templates/set/management.html
@@ -4,7 +4,7 @@
<ul class="list-group list-group-flush">
{% if brickset_owners | length %}
{% for owner in brickset_owners %}
- <li class="d-flex list-group-item list-group-item-action text-nowrap">{{ form.checkbox(item, owner, delete=delete) }}</li>
+ <li class="d-flex list-group-item list-group-item-action text-nowrap">{{ form.checkbox(owner.fields.name, item.fields.id, owner.as_dataset(), owner.url_for_set_state(item.fields.id), item.fields[owner.as_column()], delete=delete) }}</li>
{% endfor %}
{% else %}
<li class="list-group-item list-group-item-action text-center"><i class="ri-error-warning-line"></i> No owner found.</li>
@@ -47,7 +47,7 @@
<ul class="list-group list-group-flush">
{% if brickset_tags | length %}
{% for tag in brickset_tags %}
- <li class="d-flex list-group-item list-group-item-action text-nowrap">{{ form.checkbox(item, tag, delete=delete) }}</li>
+ <li class="d-flex list-group-item list-group-item-action text-nowrap">{{ form.checkbox(tag.fields.name, item.fields.id, tag.as_dataset(), tag.url_for_set_state(item.fields.id), item.fields[tag.as_column()], delete=delete) }}</li>
{% endfor %}
{% else %}
<li class="list-group-item list-group-item-action text-center"><i class="ri-error-warning-line"></i> No tag found.</li>