This commit is contained in:
seb
2026-10-15 10:38:56 +02:00
parent 40bf70a41c
commit 7114258a96
2 changed files with 14 additions and 2 deletions

View File

@@ -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;
}

View File

@@ -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,
};
}