From d6a729b5a522ecf2a8038937da4cd8e7bb942c83 Mon Sep 17 00:00:00 2001 From: Gregoo <versatile.mailbox@gmail.com> Date: Thu, 30 Jan 2025 17:39:55 +0100 Subject: [PATCH] Move the checkbox logic inside the macro --- templates/macro/form.html | 13 +++++++------ templates/set/card.html | 4 +--- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/templates/macro/form.html b/templates/macro/form.html index 499c220..379309f 100644 --- a/templates/macro/form.html +++ b/templates/macro/form.html @@ -1,17 +1,18 @@ -{% macro checkbox(prefix, id, text, url, checked, delete=false) %} +{% macro checkbox(item, metadata, delete=false) %} {% if g.login.is_authenticated() %} - <input class="form-check-input" type="checkbox" id="{{ prefix }}-{{ id }}" {% if checked %}checked{% endif %} + {% 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 %} {% if not delete %} - data-changer-id="{{ id }}" data-changer-prefix="{{ prefix }}" data-changer-url="{{ url }}" data-changer-parent="set" + data-changer-id="{{ item.fields.id }}" data-changer-prefix="{{ prefix }}" data-changer-url="{{ metadata.url_for_set_state(item.fields.id) }}" data-changer-parent="set" {% else %} disabled {% endif %} autocomplete="off"> - <label class="form-check-label" for="{{ prefix }}-{{ id }}"> - {{ text }} <i id="status-{{ prefix }}-{{ id }}" class="mb-1"></i> + <label class="form-check-label" for="{{ prefix }}-{{ item.fields.id }}"> + {{ metadata.fields.name }} <i id="status-{{ prefix }}-{{ item.fields.id }}" class="mb-1"></i> </label> {% else %} - <input class="form-check-input text-reset" type="checkbox" {% if checked %}checked{% endif %} disabled> + <input class="form-check-input text-reset" type="checkbox" {% if item.fields[metadata.as_column()] %}checked{% endif %} disabled> {{ text }} {% endif %} {% endmacro %} diff --git a/templates/set/card.html b/templates/set/card.html index fea4fc0..19e493c 100644 --- a/templates/set/card.html +++ b/templates/set/card.html @@ -29,9 +29,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="list-group-item {% if not solo %}p-1{% endif %}"> - {{ form.checkbox(status.as_dataset(), item.fields.id, status.fields.name, status.url_for_set_state(item.fields.id), item.fields[status.as_column()], delete=delete) }} - </li> + <li class="list-group-item {% if not solo %}p-1{% endif %}">{{ form.checkbox(item, status, delete=delete) }}</li> {% endfor %} </ul> {% endif %}