From 7114258a96217a6236ce53f91b77198952e03f66 Mon Sep 17 00:00:00 2001 From: seb Date: Thu, 15 Oct 2026 10:38:56 +0200 Subject: [PATCH] u --- src/automats/manifestDraftAutomat.js | 7 +++++++ src/components/manifest/manifestConfig.js | 9 +++++++-- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/src/automats/manifestDraftAutomat.js b/src/automats/manifestDraftAutomat.js index 82d05f9..85b33e5 100644 --- a/src/automats/manifestDraftAutomat.js +++ b/src/automats/manifestDraftAutomat.js @@ -580,6 +580,12 @@ export const quoteEditAutomat = createManifestEditAutomat({ name: 'quote-edit', }); +/** Shared singleton automat for the single last edited order. */ +export const orderEditAutomat = createManifestEditAutomat({ + kind: 'order', + name: 'order-edit', +}); + /** * Returns the edit automat for a given manifest kind. * @param {'quote'|'order'} kind @@ -587,5 +593,6 @@ export const quoteEditAutomat = createManifestEditAutomat({ */ export function getManifestEditAutomat(kind) { if (kind === 'quote') return quoteEditAutomat; + if (kind === 'order') return orderEditAutomat; return null; } diff --git a/src/components/manifest/manifestConfig.js b/src/components/manifest/manifestConfig.js index ae47429..07b0f70 100644 --- a/src/components/manifest/manifestConfig.js +++ b/src/components/manifest/manifestConfig.js @@ -459,11 +459,12 @@ export async function buildManifestBody( const date = form.date; if (!date) throw new Error('Datum fehlt.'); + const externalNumber = String(form.externalNumber ?? '').trim(); + let body; - if (useExternalNumber) { + if (kind === 'delivery') { // Delivery: number is server-allocated/read-only. The caller-supplied // reference goes in externalNumber (nullable; empty string → null). - const externalNumber = String(form.externalNumber ?? '').trim(); body = { externalNumber: externalNumber || null, date, @@ -480,6 +481,9 @@ export async function buildManifestBody( date, lines: buildLines(form.lines, { requireAtLeastOne }), }; + if (useExternalNumber || form.externalNumber != null) { + body.externalNumber = externalNumber || null; + } } if (form.partyId != null && form.partyId !== '') { const pid = Number(form.partyId); @@ -696,6 +700,7 @@ export function manifestConfig(cfgOrKind) { listAutomat: orderAutomat, partiesByIdFromList: (parties) => Object.fromEntries(parties.map((row) => [row.id, row])), + externalNumber: true, columns: ORDER_LINE_COLUMNS, }; }