Webshop: IP-Hash entfällt mit Zahlung oder Storno, keine Käufer-Telefonnummer mehr gespeichert

schliesseAb und verwirf entfernen ipHash aus dem Bestell-JSON, sobald die Bestellung nicht mehr offen ist
(Begrenzung offener Bestellungen je IP bleibt). customer_details.phone wird nicht mehr in kaeufer.telefon
übernommen; Kundenansicht und Bestelldetail geben auch in alten Datensätzen keine Telefonnummer aus.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
ClaudeandClaude Opus 5.5 committed 2026-10-05 10:26:56 +00:00
1 parent 4ab84e31ac
commit 43473c0879
9 files changed
+79 -19

No files matched your search

+3 -2
View File
@@ -17,7 +17,7 @@ const liste = (zeilen, extra = {}) => ({ bestellungen: zeilen, seite: 1, mehr: f
const detail = (extra = {}) => ({
id: 'o1', bestellnummer: 'WK-1', status: 'bezahlt', erstelltAt: '2026-10-05T10:00:00.000Z', bezahltAt: '2026-10-05T10:05:00.000Z',
summeCent: 4590, summeText: '45,90 €', erstattetCent: 0, erstattetText: '0,00 €', restCent: 4590, restText: '45,90 €',
kaeufer: { name: 'Anna <b>Beispiel</b>', email: 'anna@example.com', telefon: '0151 123' },
kaeufer: { name: 'Anna <b>Beispiel</b>', email: 'anna@example.com', telefon: '0151 123' }, // alte API-Antwort: die Anzeige zeigt keine Telefonnummer
lieferart: 'versand', land: 'DE',
lieferadresse: { name: 'Anna Beispiel', line1: 'Hauptstr. 1', line2: '', postal_code: '10115', city: 'Berlin', country: 'DE' },
rechnungsadresse: { name: 'Anna Beispiel', line1: 'Hauptstr. 1', line2: '', postal_code: '10115', city: 'Berlin', country: 'DE' },
@@ -164,6 +164,7 @@ test('Detail: Positionen, Summen, Käufer, Adresse, Zahlung, Verlauf; Fremdtext
assert.ok(text.includes(erwartet), erwartet)
}
assert.equal(fx.alle(panel, 'b').length, 0, 'Käufername ist Text, kein Markup')
assert.ok(!text.includes('0151 123') && !text.includes('Telefon'), 'keine Käufer-Telefonnummer in der Anzeige')
const mail = mailto(fx, panel)
assert.equal(mail.getAttribute('href'), 'mailto:anna@example.com')
assert.equal(fx.finde(panel, '[data-hinweis="sepa"]'), null)
@@ -173,7 +174,7 @@ test('Detail: Positionen, Summen, Käufer, Adresse, Zahlung, Verlauf; Fremdtext
}))
test('Detail: Abholung zeigt Adresse und Hinweis, keine Lieferadresse; E-Mail mit Sonderzeichen ist kein Link', mit(server({
'GET /api/shop/bestellungen/o1': () => ({ body: { bestellung: detail({ lieferart: 'abholung', lieferadresse: null, abholung: { adresse: 'Laden 5, 80331 München', hinweis: 'Mo–Fr 10–18 Uhr' }, kaeufer: { name: 'A', email: 'a@b.de"><x', telefon: '' }, aktionen: ['abholbereit', 'abgeschlossen'] }) } }),
'GET /api/shop/bestellungen/o1': () => ({ body: { bestellung: detail({ lieferart: 'abholung', lieferadresse: null, abholung: { adresse: 'Laden 5, 80331 München', hinweis: 'Mo–Fr 10–18 Uhr' }, kaeufer: { name: 'A', email: 'a@b.de"><x' }, aktionen: ['abholbereit', 'abgeschlossen'] }) } }),
}), async (fx) => {
const { panel } = await oeffneDetail(fx)
const text = fx.text(panel)