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:
@@ -2490,6 +2490,8 @@ function AddressModal({
|
||||
city: address?.city || '',
|
||||
country: address?.country || 'Deutschland',
|
||||
isDefault: address?.isDefault || false,
|
||||
maloIdElectricity: address?.maloIdElectricity || '',
|
||||
maloIdGas: address?.maloIdGas || '',
|
||||
ownerCompany: address?.ownerCompany || '',
|
||||
ownerFirstName: address?.ownerFirstName || '',
|
||||
ownerLastName: address?.ownerLastName || '',
|
||||
@@ -2605,6 +2607,31 @@ function AddressModal({
|
||||
Als Standard setzen
|
||||
</label>
|
||||
|
||||
{/* Marktlokations-IDs (nur Lieferadresse) – gehören zur Adresse, nicht
|
||||
zum Vertrag; im Vertrag werden sie je Sparte nur noch angezeigt. */}
|
||||
{formData.type === 'DELIVERY_RESIDENCE' && (
|
||||
<div className="pt-4 border-t">
|
||||
<h4 className="text-sm font-medium text-gray-700 mb-1">Marktlokations-IDs (MaLo)</h4>
|
||||
<p className="text-xs text-gray-500 mb-3">
|
||||
Je Sparte getrennt. Wird im Strom-/Gasvertrag automatisch aus dieser Lieferadresse angezeigt.
|
||||
</p>
|
||||
<div className="grid grid-cols-2 gap-3">
|
||||
<Input
|
||||
label="MaLo-ID Strom"
|
||||
value={formData.maloIdElectricity}
|
||||
onChange={(e) => setFormData({ ...formData, maloIdElectricity: e.target.value })}
|
||||
placeholder="z.B. 11XXXXXXXXXXX"
|
||||
/>
|
||||
<Input
|
||||
label="MaLo-ID Gas"
|
||||
value={formData.maloIdGas}
|
||||
onChange={(e) => setFormData({ ...formData, maloIdGas: e.target.value })}
|
||||
placeholder="z.B. 11XXXXXXXXXXX"
|
||||
/>
|
||||
</div>
|
||||
</div>
|
||||
)}
|
||||
|
||||
{/* Eigentümer (optional, nur bei Liefer-/Meldeadresse) */}
|
||||
{formData.type === 'DELIVERY_RESIDENCE' && (
|
||||
<div className="pt-4 border-t">
|
||||
|
||||
Reference in New Issue
Block a user