release: v2.8.10 persist economic draft order number
This commit is contained in:
parent
b3059dced1
commit
2a71e9285a
11
MDfile/RELEASE_NOTES_v2.8.10.md
Normal file
11
MDfile/RELEASE_NOTES_v2.8.10.md
Normal file
@ -0,0 +1,11 @@
|
||||
# BMC Hub v2.8.10
|
||||
|
||||
## Gem e-conomic-ordrenummer
|
||||
|
||||
- Gemmer `economic_draft_id` fra det eksisterende eksportflow som kladdens e-conomic-ordrenummer.
|
||||
- Audit-eventet `export_success` indeholder dermed det faktiske nummer i stedet for `null`.
|
||||
- Bevarer understøttelse af de øvrige eksisterende feltnavne i eksportsvaret.
|
||||
|
||||
## Verifikation
|
||||
|
||||
- Regressionstest dækker mapping fra `economic_draft_id` til e-conomic-ordrenummer.
|
||||
@ -15,6 +15,17 @@ router = APIRouter()
|
||||
ALLOWED_SYNC_STATUSES = {"pending", "exported", "failed", "posted", "paid"}
|
||||
|
||||
|
||||
def _economic_order_number(export_result: Dict[str, Any]) -> Any:
|
||||
"""Normalize legacy and catalog-aware e-conomic export response fields."""
|
||||
return (
|
||||
export_result.get("economic_order_number")
|
||||
or export_result.get("economic_draft_id")
|
||||
or export_result.get("draftOrderNumber")
|
||||
or export_result.get("order_number")
|
||||
or export_result.get("orderNumber")
|
||||
)
|
||||
|
||||
|
||||
def _snapshot_lines(lines):
|
||||
from app.products.backend.economic_documents import active_connection, snapshot_draft_lines
|
||||
return snapshot_draft_lines(lines) if active_connection() else lines
|
||||
@ -236,11 +247,7 @@ async def export_ordre(request: OrdreExportRequest, http_request: Request):
|
||||
"timestamp": datetime.utcnow().isoformat(),
|
||||
}
|
||||
|
||||
economic_order_number = (
|
||||
export_result.get("economic_order_number")
|
||||
or export_result.get("order_number")
|
||||
or export_result.get("orderNumber")
|
||||
)
|
||||
economic_order_number = _economic_order_number(export_result)
|
||||
economic_invoice_number = (
|
||||
export_result.get("economic_invoice_number")
|
||||
or export_result.get("invoice_number")
|
||||
|
||||
@ -88,3 +88,9 @@ def test_product_creation_preview_values_become_economic_payload():
|
||||
"barred": False,
|
||||
"productGroup": {"productGroupNumber": 2},
|
||||
}
|
||||
|
||||
|
||||
def test_legacy_draft_id_is_saved_as_order_number():
|
||||
from app.modules.orders.backend.router import _economic_order_number
|
||||
|
||||
assert _economic_order_number({"economic_draft_id": 4711}) == 4711
|
||||
|
||||
Loading…
Reference in New Issue
Block a user