MaLo-ID an die Lieferadresse (Strom/Gas) + Address-owner-Regression gefixt
MaLo-ID (Marktlokation) gehoert zur (Liefer-)Adresse, nicht zum Vertrag.
Address bekommt maloIdElectricity + maloIdGas (getrennte Marktlokationen je
Sparte), pflegbar im AddressModal (nur Lieferadresse). Im Vertrag ist die
MaLo-ID jetzt ein Lesefeld, das je nach Vertragstyp die MaLo der gewaehlten
Lieferadresse zeigt; ContractDetail/-Modal ebenso.
Schema + Migration 20260814100000: 2 Spalten (idempotent) + Daten-Migration
(bestehende EnergyContractDetails.maloId -> jeweilige Lieferadresse,
ELECTRICITY->maloIdElectricity / GAS->maloIdGas). Migrationslogik verifiziert.
Dabei einen selbst verursachten Regressions-Bug gefixt: beim R156-Umbau waren
die 10 owner*-Adressfelder aus der Address-Whitelist gefallen -> Eigentuemer-
Sektion speicherte seit cb21a2c nicht mehr. Address-Whitelist jetzt via
Pick-Helper, programmatisch gegen alle DB-Spalten abgeglichen (owner* + MaLo
drin, id/customerId/Timestamps raus). BankCard/Document gegengeprueft: ok
(nur documentPath bewusst upload-only ausgeschlossen).
Verifiziert: tsc+build gruen; owner + maloId speichern wieder, Injection
(id/customerId) blockiert; Daten-Migration Strom->Strom / Gas->Gas.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -134,15 +134,19 @@ export default function ContractDetailModal({ contractId, isOpen, onClose }: Con
|
||||
<CopyButton value={c.energyDetails.meter.meterNumber} />
|
||||
</dd>
|
||||
</div>
|
||||
{c.energyDetails.maloId && (
|
||||
<div>
|
||||
<dt className="text-sm text-gray-500">MaLo-ID</dt>
|
||||
<dd className="font-mono flex items-center gap-1">
|
||||
{c.energyDetails.maloId}
|
||||
<CopyButton value={c.energyDetails.maloId} />
|
||||
</dd>
|
||||
</div>
|
||||
)}
|
||||
{(() => {
|
||||
// MaLo-ID kommt jetzt aus der Lieferadresse (je Sparte).
|
||||
const malo = c.type === 'ELECTRICITY' ? c.address?.maloIdElectricity : c.address?.maloIdGas;
|
||||
return malo ? (
|
||||
<div>
|
||||
<dt className="text-sm text-gray-500">MaLo-ID ({c.type === 'ELECTRICITY' ? 'Strom' : 'Gas'})</dt>
|
||||
<dd className="font-mono flex items-center gap-1">
|
||||
{malo}
|
||||
<CopyButton value={malo} />
|
||||
</dd>
|
||||
</div>
|
||||
) : null;
|
||||
})()}
|
||||
</div>
|
||||
</Card>
|
||||
)}
|
||||
|
||||
Reference in New Issue
Block a user