fix(mappings): resolve 409 error on multi-CODMAT edit and make SKU editable

Batch create after soft-delete was rejected because create_mapping()
treated soft-deleted records as conflicts. Added auto_restore param
that restores+updates instead of 409 when called from edit flow.
Also removed readOnly on SKU input in edit modal.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
Claude Agent
2026-03-16 13:31:03 +00:00
parent 25aa9e544c
commit 926543a2e4
4 changed files with 43 additions and 15 deletions

View File

@@ -52,6 +52,7 @@ class MappingLine(BaseModel):
class MappingBatchCreate(BaseModel):
sku: str
mappings: list[MappingLine]
auto_restore: bool = False
# HTML page
@router.get("/mappings", response_class=HTMLResponse)
@@ -141,7 +142,7 @@ async def create_batch_mapping(data: MappingBatchCreate):
try:
results = []
for m in data.mappings:
r = mapping_service.create_mapping(data.sku, m.codmat, m.cantitate_roa, m.procent_pret)
r = mapping_service.create_mapping(data.sku, m.codmat, m.cantitate_roa, m.procent_pret, auto_restore=data.auto_restore)
results.append(r)
# Mark SKU as resolved in missing_skus tracking
await sqlite_service.resolve_missing_sku(data.sku)