- New clients table with PF/PJ support, fiscal data (CUI, IBAN, eFactura fields) - Full CRUD API for clients with search, sync integration - Order lifecycle: edit header (DRAFT), devalidate (VALIDAT→DRAFT), delete order/invoice - Invoice types: FACTURA (B2B) vs BON_FISCAL (B2C) with different nr formats - OrderCreateView redesigned as multi-step flow (client→vehicle→details) - Autocomplete from catalog_norme/catalog_preturi in OrderLineForm - Dashboard now combines stats + full orders table with filter tabs and search - ClientPicker and VehiclePicker with inline creation capability - Frontend schema aligned with backend (missing columns causing sync errors) - Mobile responsive fixes for OrderDetailView buttons Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
32 lines
795 B
Python
32 lines
795 B
Python
from pydantic import BaseModel
|
|
|
|
|
|
class CreateOrderRequest(BaseModel):
|
|
vehicle_id: str
|
|
tip_deviz_id: str | None = None
|
|
km_intrare: int | None = None
|
|
observatii: str | None = None
|
|
|
|
|
|
class UpdateOrderRequest(BaseModel):
|
|
vehicle_id: str | None = None
|
|
tip_deviz_id: str | None = None
|
|
km_intrare: int | None = None
|
|
observatii: str | None = None
|
|
client_id: str | None = None
|
|
client_nume: str | None = None
|
|
client_telefon: str | None = None
|
|
nr_auto: str | None = None
|
|
marca_denumire: str | None = None
|
|
model_denumire: str | None = None
|
|
|
|
|
|
class AddLineRequest(BaseModel):
|
|
tip: str # manopera | material
|
|
descriere: str
|
|
ore: float = 0
|
|
pret_ora: float = 0
|
|
cantitate: float = 0
|
|
pret_unitar: float = 0
|
|
um: str | None = None
|