Files
ProjectIOT/application/dashboard/templates/add.html
Anh-Thy04 378fcb0b93 filters
2025-06-20 00:52:49 +02:00

131 lines
6.0 KiB
HTML

{%extends 'base.html' %}
{% block content %}
<div class="col-md-9 ms-sm-auto col-lg-10 px-md-4">
<div
class="d-flex justify-content-between flex-wrap flex-md-nowrap align-items-center pt-3 pb-2 mb-3 border-bottom">
<h1 class="display-4 fw-bold" style="color: #313A4D;">Numberplate</h1>
</div>
<div class="col-md-12">
<div class="card mb-4">
</div>
</div>
<div class="col-md-12">
<div class="card mb-4">
<div class="card-body">
<h5 class="card-title fs-4">Add numberplate</h5>
<div class="log-container" style="max-height: 250px; overflow-y: auto;">
<form method="POST" class="contact-form" id="numberplateForm">
{{ form.hidden_tag() }}
<div class="form-field">
{{ form.numberplate(class="form-input",style="width: 200px; height: 40px;") }}
</div>
<div class="button-container" style="margin-top: 15px;">
{{ form.submit(class="btn btn-sm btn-secondary", style="width: 200px;") }}
</div>
</form>
</div>
</div>
</div>
</div>
<div class="col-md-12">
<div class="card mb-4">
<div class="card-body">
<h5 class="card-title fs-4 mb-0">Numberplates</h5>
<div class="mt-2 mb-3">
<form method="get" class="mb-0">
<div class="row g-2 align-items-center">
<div class="col">
<input type="text" name="npfilter" class="form-control" placeholder="Search numberplate..." value="{{ request.args.get('npfilter', '') }}">
</div>
<div class="col">
<input type="text" name="idfilter" class="form-control" placeholder="Search by ID..." value="{{ request.args.get('idfilter', '') }}">
</div>
<div class="col-auto d-flex gap-2">
<button type="submit" class="btn btn-secondary">Filter</button>
</div>
</div>
</form>
</div>
{% if request.args.get('npfilter') or request.args.get('idfilter') %}
<div class="mb-2">
<span class="me-2">Active filters:</span>
{% if request.args.get('npfilter') %}
<a href="{{ url_for('dash.dashboard', idfilter=request.args.get('idfilter', '')) }}" class="badge bg-secondary text-decoration-none">
Numberplate: {{ request.args.get('npfilter') }} &times;
</a>
{% endif %}
{% if request.args.get('idfilter') %}
<a href="{{ url_for('dash.dashboard', npfilter=request.args.get('npfilter', '')) }}" class="badge bg-secondary text-decoration-none">
ID: {{ request.args.get('idfilter') }} &times;
</a>
{% endif %}
</div>
{% endif %}
<div class="log-container" style="max-height: 250px; overflow-y: auto;">
<table class="table table-sm table-hover align-middle">
<thead>
<tr>
<th scope="col" class="fs-5" style="width: 21%;">ID</th>
<th scope="col" class="fs-5" style="width: 42%;">Numberplate</th>
<th scope="col" class="fs-5">Actions</th>
</tr>
</thead>
<tbody>
{% for plate in plates %}
<tr>
<td><small class="fs-6">{{ plate.id }}</small></td>
<td><small class="fs-6">{{ plate.plate }}</small></td>
<td>
<a href="#" class="btn btn-sm btn-secondary"
data-bs-toggle="modal"
data-bs-target="#editNumberplateModal"
onclick="setEditPlate('{{ plate.id }}', '{{ plate.plate }}')">Edit</a>
<form method="POST" action="{{ url_for('dash.delete_plate', plate=plate.plate) }}" style="display:inline;" onsubmit="return confirm('Are you sure you want to delete this numberplate?');">
<button type="submit" class="btn btn-sm btn-secondary">Delete</button>
</form>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
</div>
</div>
</div>
<div class="modal fade" id="editNumberplateModal" tabindex="-1" aria-labelledby="editNumberplateModalLabel" aria-hidden="true">
<div class="modal-dialog">
<div class="modal-content">
<form id="editNumberplateForm" method="POST">
<div class="modal-header">
<h5 class="modal-title" id="editNumberplateModalLabel">Edit Numberplate</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal" aria-label="Close"></button>
</div>
<div class="modal-body">
{{ form.hidden_tag() }}
<div class="mb-3">
{{ form.numberplate.label }} {{ form.numberplate(class="form-control") }}
</div>
</div>
<div class="modal-footer">
<button type="submit" class="btn btn-secondary">Save changes</button>
</div>
</form>
</div>
</div>
</div>
<script>
function setEditPlate(id, plate) {
// Set the form action to the correct URL for editing
document.getElementById('editNumberplateForm').action = '/dash/edit/' + plate;
// Set the value of the numberplate input
document.querySelector('#editNumberplateForm input[name="numberplate"]').value = plate;
}
</script>
{% endblock %}