diff --git a/extensions/directus-extension-skrift-mailer/dist/index.js b/extensions/directus-extension-skrift-mailer/dist/index.js index 1fd797b..df395af 100644 --- a/extensions/directus-extension-skrift-mailer/dist/index.js +++ b/extensions/directus-extension-skrift-mailer/dist/index.js @@ -245,11 +245,18 @@ export default (register, { services, getSchema, logger }) => { }); register.action('orders.items.update', async ({ keys, payload }) => { - if (!payload || payload.status === undefined) return; - const status = payload.status; + if (!payload) return; + // Kaufmännischer Status (bezahlt/versendet/…) → passende Vorlage. + // ODER Produktionsstatus „versendet" (Board) → Versandbenachrichtigung – auch + // für manuelle Aufträge; nur beim ERSTEN Versand (erkennbar am gleichzeitig + // gesetzten versandt_am), damit keine Doppel-Mail entsteht. + let mailKey = null; + if (payload.status !== undefined) mailKey = payload.status; + else if (payload.production_status === 'versendet' && payload.versandt_am) mailKey = 'versendet'; + if (!mailKey) return; for (const id of keys || []) { - try { await sendForOrder(id, status, { status: STATUS_LABEL[status] || status }); } - catch (e) { logger.warn(`[skrift-mailer] status ${status}: ${e.message}`); } + try { await sendForOrder(id, mailKey, { status: STATUS_LABEL[mailKey] || mailKey }); } + catch (e) { logger.warn(`[skrift-mailer] status ${mailKey}: ${e.message}`); } } });