Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
aa5a0d960f |
@@ -799,11 +799,17 @@ export default function Configurator({ vorwahlProdukt }: { vorwahlProdukt?: stri
|
||||
* Platzhalter explizit auf (Standard-Platzhalter aus der Adresse via standardWert,
|
||||
* eigene aus e.placeholders). So wird je Empfänger sicher ersetzt – unabhängig
|
||||
* davon, wie das Backend die Adressfelder interpretiert.
|
||||
*
|
||||
* Zusätzlich wird der Freitext nur bei Adressmodus „freitext" mitgeschickt.
|
||||
* Bei strukturierter Adresse muss free_text leer sein, sonst bevorzugt das
|
||||
* Backend (addressText) den Freitext und beschriftet den Umschlag falsch –
|
||||
* auch wenn im Freitextfeld nur Reste von einem früheren Moduswechsel stehen.
|
||||
*/
|
||||
const mitPlatzhaltern = (e: Entry): Entry => {
|
||||
const used = [...new Set([...genutztePlatzhalter, ...genutztePlatzhalterUmschlag])];
|
||||
return {
|
||||
...e,
|
||||
free_text: adressModus === 'freitext' ? e.free_text : '',
|
||||
placeholders: {
|
||||
...Object.fromEntries(used.map((p) => [p, standardWert(e, p)])),
|
||||
...e.placeholders,
|
||||
@@ -999,7 +1005,7 @@ export default function Configurator({ vorwahlProdukt }: { vorwahlProdukt?: stri
|
||||
realistic: realistisch,
|
||||
envelope_labeling: needsEnvelope ? labeling : 'keine',
|
||||
envelope_text: umschlagText,
|
||||
entries: entries.slice(0, 3),
|
||||
entries: entries.slice(0, 3).map(mitPlatzhaltern),
|
||||
});
|
||||
setPreviewDocs(ergebnis.docs);
|
||||
setPreviewVerbleibend(ergebnis.remaining);
|
||||
@@ -1098,20 +1104,23 @@ export default function Configurator({ vorwahlProdukt }: { vorwahlProdukt?: stri
|
||||
street: lieferung.street, zip: lieferung.zip, city: lieferung.city, country: lieferung.country,
|
||||
}
|
||||
: null,
|
||||
entries: entries.map((e) => ({
|
||||
salutation: e.salutation,
|
||||
first_name: e.first_name,
|
||||
last_name: e.last_name,
|
||||
street: e.street,
|
||||
house_no: e.house_no,
|
||||
zip: e.zip,
|
||||
city: e.city,
|
||||
country: e.country,
|
||||
free_text: adressModus === 'freitext' ? e.free_text : '',
|
||||
placeholders: mitPlatzhaltern(e).placeholders,
|
||||
// Abweichender Text nur, wenn wirklich gesetzt (sonst greift der Standardtext).
|
||||
text: (e.text && e.text.trim()) ? e.text : undefined,
|
||||
})),
|
||||
entries: entries.map((e) => {
|
||||
const n = mitPlatzhaltern(e); // free_text-Normalisierung + Platzhalter
|
||||
return {
|
||||
salutation: e.salutation,
|
||||
first_name: e.first_name,
|
||||
last_name: e.last_name,
|
||||
street: e.street,
|
||||
house_no: e.house_no,
|
||||
zip: e.zip,
|
||||
city: e.city,
|
||||
country: e.country,
|
||||
free_text: n.free_text,
|
||||
placeholders: n.placeholders,
|
||||
// Abweichender Text nur, wenn wirklich gesetzt (sonst greift der Standardtext).
|
||||
text: (e.text && e.text.trim()) ? e.text : undefined,
|
||||
};
|
||||
}),
|
||||
});
|
||||
// Auftrag ist abgesendet – der zwischengespeicherte Entwurf wird verworfen.
|
||||
try { localStorage.removeItem(ENTWURF_KEY); } catch { /* egal */ }
|
||||
|
||||
Reference in New Issue
Block a user