Commit Graph

9 Commits

Author SHA1 Message Date
Hagernesh
cf8a2e928d fix(warehouses): detention groups by canonical truck type
Join truck_types via vehicles.truck_type_id (normalized legacy
vehicle_type only as fallback) so type renames can't unmatch detention
rules and FK-less vehicles keep billing.
2026-07-24 11:55:05 +00:00
Hagernesh
b616f520ae feat(fleet): validate vehicle plate numbers against a letters-and-digits format
Plate, power-plate and trailer accepted any free text — a vehicle could be
saved with a plate of "assadasd". They must be letters, a hyphen, then digits,
like ET-9875 or AA-8642.

The server now enforces it on CreateVehicleDto (and UpdateVehicleDto via
PartialType): each plate is trimmed and upper-cased, then matched against
^[A-Z]{2,3}-\d{2,6}$, so "et-9875" is accepted and stored as ET-9875 while an
empty optional trailer/power plate still passes.

The fleet form gains the same check inline: FleetFormFieldDef takes an optional
pattern, the dialog tests it on submit against the upper-cased value, and the
vehicle config points plate and trailer at a regex that mirrors the server's.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-21 11:03:40 +00:00
natib21
fb4ffa5d67 fix 2026-07-06 12:23:25 +00:00
natib21
7d85f5dc2e fix 2026-07-02 14:18:53 +00:00
natib21
a0f4de05f8 log full error 2026-07-02 12:37:02 +00:00
natib21
f5eaa87564 fix ui 2026-06-27 14:15:14 +00:00
natib21
79860c807c fix 2026-06-24 09:30:11 +00:00
natib21
963392edb3 fix data table 2026-06-20 09:38:12 +00:00
natib21
fc702f0fbe driver 2026-06-18 09:46:35 +00:00