feat: add clients nomenclator, order edit/delete/devalidate, invoice types, dashboard redesign
- 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>
This commit is contained in:
41
backend/app/clients/schemas.py
Normal file
41
backend/app/clients/schemas.py
Normal file
@@ -0,0 +1,41 @@
|
||||
from pydantic import BaseModel
|
||||
from typing import Optional
|
||||
|
||||
|
||||
class ClientCreate(BaseModel):
|
||||
id: Optional[str] = None
|
||||
tip_persoana: str = "PF"
|
||||
denumire: Optional[str] = None
|
||||
nume: Optional[str] = None
|
||||
prenume: Optional[str] = None
|
||||
cod_fiscal: Optional[str] = None
|
||||
reg_com: Optional[str] = None
|
||||
telefon: Optional[str] = None
|
||||
email: Optional[str] = None
|
||||
adresa: Optional[str] = None
|
||||
judet: Optional[str] = None
|
||||
oras: Optional[str] = None
|
||||
cod_postal: Optional[str] = None
|
||||
tara: str = "RO"
|
||||
cont_iban: Optional[str] = None
|
||||
banca: Optional[str] = None
|
||||
activ: int = 1
|
||||
|
||||
|
||||
class ClientUpdate(BaseModel):
|
||||
tip_persoana: Optional[str] = None
|
||||
denumire: Optional[str] = None
|
||||
nume: Optional[str] = None
|
||||
prenume: Optional[str] = None
|
||||
cod_fiscal: Optional[str] = None
|
||||
reg_com: Optional[str] = None
|
||||
telefon: Optional[str] = None
|
||||
email: Optional[str] = None
|
||||
adresa: Optional[str] = None
|
||||
judet: Optional[str] = None
|
||||
oras: Optional[str] = None
|
||||
cod_postal: Optional[str] = None
|
||||
tara: Optional[str] = None
|
||||
cont_iban: Optional[str] = None
|
||||
banca: Optional[str] = None
|
||||
activ: Optional[int] = None
|
||||
Reference in New Issue
Block a user