u
This commit is contained in:
@@ -580,6 +580,12 @@ export const quoteEditAutomat = createManifestEditAutomat({
|
|||||||
name: 'quote-edit',
|
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.
|
* Returns the edit automat for a given manifest kind.
|
||||||
* @param {'quote'|'order'} kind
|
* @param {'quote'|'order'} kind
|
||||||
@@ -587,5 +593,6 @@ export const quoteEditAutomat = createManifestEditAutomat({
|
|||||||
*/
|
*/
|
||||||
export function getManifestEditAutomat(kind) {
|
export function getManifestEditAutomat(kind) {
|
||||||
if (kind === 'quote') return quoteEditAutomat;
|
if (kind === 'quote') return quoteEditAutomat;
|
||||||
|
if (kind === 'order') return orderEditAutomat;
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -459,11 +459,12 @@ export async function buildManifestBody(
|
|||||||
const date = form.date;
|
const date = form.date;
|
||||||
if (!date) throw new Error('Datum fehlt.');
|
if (!date) throw new Error('Datum fehlt.');
|
||||||
|
|
||||||
|
const externalNumber = String(form.externalNumber ?? '').trim();
|
||||||
|
|
||||||
let body;
|
let body;
|
||||||
if (useExternalNumber) {
|
if (kind === 'delivery') {
|
||||||
// Delivery: number is server-allocated/read-only. The caller-supplied
|
// Delivery: number is server-allocated/read-only. The caller-supplied
|
||||||
// reference goes in externalNumber (nullable; empty string → null).
|
// reference goes in externalNumber (nullable; empty string → null).
|
||||||
const externalNumber = String(form.externalNumber ?? '').trim();
|
|
||||||
body = {
|
body = {
|
||||||
externalNumber: externalNumber || null,
|
externalNumber: externalNumber || null,
|
||||||
date,
|
date,
|
||||||
@@ -480,6 +481,9 @@ export async function buildManifestBody(
|
|||||||
date,
|
date,
|
||||||
lines: buildLines(form.lines, { requireAtLeastOne }),
|
lines: buildLines(form.lines, { requireAtLeastOne }),
|
||||||
};
|
};
|
||||||
|
if (useExternalNumber || form.externalNumber != null) {
|
||||||
|
body.externalNumber = externalNumber || null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
if (form.partyId != null && form.partyId !== '') {
|
if (form.partyId != null && form.partyId !== '') {
|
||||||
const pid = Number(form.partyId);
|
const pid = Number(form.partyId);
|
||||||
@@ -696,6 +700,7 @@ export function manifestConfig(cfgOrKind) {
|
|||||||
listAutomat: orderAutomat,
|
listAutomat: orderAutomat,
|
||||||
partiesByIdFromList: (parties) =>
|
partiesByIdFromList: (parties) =>
|
||||||
Object.fromEntries(parties.map((row) => [row.id, row])),
|
Object.fromEntries(parties.map((row) => [row.id, row])),
|
||||||
|
externalNumber: true,
|
||||||
columns: ORDER_LINE_COLUMNS,
|
columns: ORDER_LINE_COLUMNS,
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user