Postkarten-Format (nur manueller Druck): Text links, Adresse rechts
- bootstrap: render_formats a6_postkarte + dinlang_postkarte (kind 'postkarte'), passende formats-Einträge (active=false → nicht in der App, nur manueller Druck), kind-Dropdown um 'postkarte' erweitert. - skrift-orders: Vorschau erkennt Postkarten (render_formats.kind) und baut EIN Dokument mit Text + Absender + Empfänger (Marker [[pk_abs]]/[[pk_adr]]). - neuauftrag: Postkarten-Formate erkannt; Absenderfeld direkt (unabhängig von Kuverts), Kuvert-Optionen ausgeblendet, Hinweis aufs Kartenlayout. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -678,6 +678,10 @@ const handler = (router, { services, getSchema, logger }) => {
|
||||
const briefFormat = LETTER_FORMAT[body.format] || body.format || 'a4';
|
||||
// A4 → DIN Lang, A6 → C6
|
||||
const umschlagFormat = briefFormat === 'a4' ? 'din_lang' : 'c6';
|
||||
// Postkarte (Text links, Adresse rechts, ein SVG) – Erkennung über render_formats.kind.
|
||||
const istPk = (await svc('render_formats').readByQuery({
|
||||
filter: { key: { _eq: briefFormat } }, limit: 1, fields: ['kind'],
|
||||
}))?.[0]?.kind === 'postkarte';
|
||||
|
||||
const platzhalterVon = (e, i) => ({
|
||||
Anrede: clean(e.salutation || ''),
|
||||
@@ -717,6 +721,22 @@ const handler = (router, { services, getSchema, logger }) => {
|
||||
const nr = i + 1;
|
||||
// Abweichender Text je Schriftstück (#5) hat Vorrang; sonst der Standardtext.
|
||||
const briefText = (e.text && String(e.text).trim()) ? String(e.text) : String(body.text);
|
||||
|
||||
// Postkarte: EIN Dokument mit Text + Absender + Empfänger (Marker-getrennt).
|
||||
if (istPk) {
|
||||
const sender = clean(String(body.envelope_sender || '')).trim();
|
||||
const recip = adressBlock(e);
|
||||
let combined = String(clean(briefText) || '');
|
||||
if (sender) combined += `[[pk_abs]]${sender}`;
|
||||
if (recip) combined += `[[pk_adr]]${recip}`;
|
||||
letters.push({
|
||||
index: nr, type: 'postcard', text: combined, format: briefFormat, font,
|
||||
realisticHandwriting: realistisch, placeholders: platzhalterVon(e, i),
|
||||
fontScale: fsLetter, senderScale: Number(body.envelope_sender_scale) || 1,
|
||||
});
|
||||
return;
|
||||
}
|
||||
|
||||
// Kein Schriftstück, wenn kein Text da ist (reiner Kuvert-Druck).
|
||||
if (String(briefText).trim()) {
|
||||
letters.push({
|
||||
|
||||
Reference in New Issue
Block a user