diff --git a/extensions/directus-extension-skrift-orders/dist/index.js b/extensions/directus-extension-skrift-orders/dist/index.js index 502d45b..0115799 100644 --- a/extensions/directus-extension-skrift-orders/dist/index.js +++ b/extensions/directus-extension-skrift-orders/dist/index.js @@ -1409,7 +1409,7 @@ const handler = (router, { services, getSchema, logger }) => { const fmtA4 = (await svc('formats').readByQuery({ filter: { key: { _eq: 'a4' } }, limit: 1, fields: ['id'] }))?.[0]?.id ?? null; const subs = await svc('batch_submissions').readMany(ids, { - fields: ['id', 'firma', 'vorname', 'nachname', 'zeile1', 'zeile2', 'zeile3', 'plz', 'stadt', 'land', 'text', 'pdf_file', 'status', 'customer'], + fields: ['id', 'firma', 'vorname', 'nachname', 'zeile1', 'zeile2', 'zeile3', 'plz', 'stadt', 'land', 'text', 'pdf_file', 'status', 'customer', 'api_client'], }); const naechsteNummer = async () => { @@ -1430,6 +1430,8 @@ const handler = (router, { services, getSchema, logger }) => { .map((x) => String(x || '').trim()).filter(Boolean).slice(0, 5); const orderData = { customer: s.customer || null, + // Zugang mitführen → im Board wie API-Aufträge unter einer Charge gruppiert. + api_client: s.api_client || null, product: product.id, format: fmtA4, person_type: 'unternehmen', font: 'tilda', source: 'operator', status: 'in_queue', production_status: 'eingegangen', diff --git a/extensions/directus-extension-skrift-produktion/dist/index.js b/extensions/directus-extension-skrift-produktion/dist/index.js index 0c35f99..a9e99c8 100644 --- a/extensions/directus-extension-skrift-produktion/dist/index.js +++ b/extensions/directus-extension-skrift-produktion/dist/index.js @@ -1446,8 +1446,10 @@ const Board = defineComponent({ // gebündelt – in allen Status-Reitern gleich. function renderGruppiert(list, opts) { if (suche.value.trim()) return list.map((o) => orderCard(o, opts)); - const apiO = list.filter((o) => o.source === 'api'); - const restO = list.filter((o) => o.source !== 'api'); + // API-Aufträge UND aus Batch-Übermittlungen übernommene (haben api_client) + // werden als Charge gruppiert; der Rest als Einzelkarten. + const apiO = list.filter((o) => o.source === 'api' || o.api_client); + const restO = list.filter((o) => !(o.source === 'api' || o.api_client)); return [ ...bildeChargen(apiO).map((c) => chargeCard(c, opts)), ...restO.map((o) => orderCard(o, opts)),