fix: enforce stock limits on basket quantities

No stock validation existed in the ordering flow, allowing customers
to order more items than available.

Cap quantity to ``stock_current`` in ``Baskets::getBasketData()`` when
adding to cart. Add ``min=1`` and ``max=stock`` attributes on the
basket quantity input, with JS clamping in the change handler.
Verify stock again in ``Shop\OrderController::store()`` before saving
the order as a race-condition safeguard.
This commit is contained in:
Valentin Lab
2026-02-20 12:17:22 +01:00
parent ef52addc7d
commit 63673117b3
6 changed files with 65 additions and 3 deletions

View File

@@ -18,6 +18,8 @@
'value' => $item['quantity'],
'class' => 'basket-quantity',
'data_id' => $item['id'],
'min' => 1,
'max' => $item['stock'] ?? false,
])
</div>
<div class="col-4 text-right" style="font-size: 2em;" id="basket_total-{{ $item['id'] }}">