Files
fitguide/app/templates/admin/_skipped_parts_table.html
T

56 lines
1.9 KiB
HTML

<div id="skipped-parts-list">
{% if sync_result %}<p class="alert alert-success">{{ sync_result }}</p>{% endif %}
{% if sync_error %}<p class="alert alert-error">{{ sync_error }}</p>{% endif %}
{% if any_unlinked %}
<div class="filter-bar">
<form hx-get="/admin/augmented-parts/skipped/filter"
hx-target="#skipped-parts-table-card"
hx-trigger="input delay:300ms, change"
hx-swap="outerHTML">
<input type="text" name="description" placeholder="Filter by description…" value="{{ filter_description or '' }}">
<select name="colour">
<option value="">All colours</option>
{% for c in skipped_colours %}
<option value="{{ c }}" {{ "selected" if filter_colour == c }}>{{ c }}</option>
{% endfor %}
</select>
</form>
</div>
<form hx-post="/admin/augmented-parts/skipped"
hx-target="#skipped-parts-list"
hx-swap="outerHTML">
<div class="card">
<div class="form-grid">
<label>Type
<select name="part_type_id" required>
<option value="">— select type —</option>
{% for pt in part_types %}
<option value="{{ pt.id }}">{{ pt.name }}</option>
{% endfor %}
</select>
</label>
<label>Sub Type
<select name="sub_part_type_id">
<option value="">— none —</option>
{% for spt in sub_part_types %}
<option value="{{ spt.id }}">{{ spt.name }} ({{ spt.part_type.name }})</option>
{% endfor %}
</select>
</label>
<button id="sync-selected-btn" type="submit" class="btn btn-primary">Sync selected</button>
</div>
</div>
{% include "admin/_skipped_parts_table_card.html" %}
</form>
{% else %}
<div class="card">
<p class="muted">No skipped parts — all imported parts have been synchronised.</p>
</div>
{% endif %}
</div>