Versie 1.0

This commit is contained in:
2026-08-09 19:03:26 +02:00
parent c70293405f
commit f3da7dfb8d
18 changed files with 877 additions and 3 deletions
+42
View File
@@ -0,0 +1,42 @@
<div class="page-header mb-4">
<h1>Product wijzigen</h1>
</div>
<div class="row">
<div class="col-md-8">
<div class="card">
<div class="card-header">
<h2 class="card-title">Productgegevens</h2>
</div>
<div class="card-body">
<form id="product-edit-<%= product.id %>" method="post" action="/products/<%= product.id %>">
<label class="form-label" for="product-name">Productnaam</label>
<input id="product-name" class="form-control mb-3" type="text" name="name"
value="<%= product.name %>" maxlength="120" required>
<label class="form-label" for="category-id">Categorie</label>
<select id="category-id" class="form-select mb-4" name="category_id">
<option value="">Geen categorie</option>
<% (categories || []).forEach(category => { %>
<option value="<%= category.id %>" <%= product.category_id === category.id ? "selected" : "" %>>
<%= category.icon || "" %> <%= category.name %>
</option>
<% }); %>
</select>
</form>
<div class="product-actions">
<button class="btn btn-primary" type="submit" form="product-edit-<%= product.id %>">Wijzigingen opslaan</button>
<form method="post" action="/products/<%= product.id %>/delete"
onsubmit="return confirm('Weet je zeker dat je dit product wilt verwijderen?');">
<button class="btn btn-outline-danger" type="submit">Product verwijderen</button>
</form>
<a class="btn btn-link" href="/products">Annuleren</a>
</div>
</div>
</div>
</div>
</div>
+22 -2
View File
@@ -18,8 +18,15 @@
<div class="list-group">
<% products.forEach(product => { %>
<div class="list-group-item">
<strong><%= product.category_icon || "" %> <%= product.name %></strong>
<div class="text-secondary"><%= product.category_name || "Geen categorie" %></div>
<div class="d-flex align-items-start justify-content-between gap-3">
<div>
<strong><%= product.category_icon || "" %> <%= product.name %></strong>
<div class="text-secondary"><%= product.category_name || "Geen categorie" %></div>
</div>
<a class="btn btn-sm btn-outline-primary" href="/products/<%= product.id %>/edit">
Wijzigen
</a>
</div>
</div>
<% }); %>
</div>
@@ -49,5 +56,18 @@
</form>
</div>
</div>
<div class="card mt-3">
<div class="card-header"><h3 class="card-title">Producten in bulk laden</h3></div>
<div class="card-body">
<form method="post" action="/products/import" enctype="multipart/form-data">
<label class="form-label" for="product-import-file">CSV-bestand</label>
<input id="product-import-file" class="form-control mb-3" type="file" name="file"
accept=".csv,text/csv" required>
<div class="text-secondary small mb-3">Kolommen: name, category, barcode. Alleen name is verplicht.</div>
<button class="btn btn-outline-primary w-100" type="submit">CSV importeren</button>
</form>
</div>
</div>
</div>
</div>