Vertragsliste (Staff-Tabelle): Karteninhaber/Netz/Kuendigung nachgezogen
Der vorige Commit ergaenzte nur die Baum-Render-Pfade (Kundenakte + Portal). Die Staff-Ansicht unter /contracts rendert aber eine eigene Tabelle aus der flachen getAll-Liste - dort fehlten die neuen Felder noch. Jetzt zeigt auch die Staff-Tabelle Karteninhaber + Netz hinter der Rufnummer und die Kuendigungsbestaetigung in roter Schrift. Backend liefert die Felder via getAllContracts bereits mit. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+6
-3
@@ -106,9 +106,12 @@ isolierte Instanz (keine Multi-Tenancy im Code), Provisioning + Abrechnung
|
|||||||
eigene Zeile in **roter, fetter Schrift** („Kündigungsbestätigung zum …").
|
eigene Zeile in **roter, fetter Schrift** („Kündigungsbestätigung zum …").
|
||||||
- Backend: `getContractTreeForCustomer` + `getAllContracts` liefern jetzt
|
- Backend: `getContractTreeForCustomer` + `getAllContracts` liefern jetzt
|
||||||
`mobileNetwork` + `cardUser` (Tree zusätzlich `cancellationConfirmationDate`;
|
`mobileNetwork` + `cardUser` (Tree zusätzlich `cancellationConfirmationDate`;
|
||||||
Flat-Liste hat Scalars ohnehin via include). Beide Listen rendern über den
|
Flat-Liste hat Scalars ohnehin via include). Shared-Helper
|
||||||
Tree-Endpoint. Shared-Helper `getContractTypeInfo` um `cardUser`/`network`
|
`getContractTypeInfo` um `cardUser`/`network` erweitert (+ `mobileNetworkLabel`).
|
||||||
erweitert (+ `mobileNetworkLabel`).
|
- **3 Render-Pfade** ergänzt (waren getrennt!): Kundenakte-Baum, die
|
||||||
|
Staff-**Tabelle** in `/contracts` (flache `getAll`-Liste) UND der
|
||||||
|
Portal-Baum in `/contracts`. Der erste Anlauf hatte nur die Baum-Pfade –
|
||||||
|
die Staff-Tabelle (Haupt-Ansicht für Mitarbeiter) fehlte und wurde nachgezogen.
|
||||||
|
|
||||||
- [x] **🛡️ Globaler API-Rate-Limit-Backstop + BLZ-Guard-Härtung (Pentest R148)** (2026-08-12)
|
- [x] **🛡️ Globaler API-Rate-Limit-Backstop + BLZ-Guard-Härtung (Pentest R148)** (2026-08-12)
|
||||||
- **Backstop:** Neuer genereller Limiter auf ALLE `/api`-Requests
|
- **Backstop:** Neuer genereller Limiter auf ALLE `/api`-Requests
|
||||||
|
|||||||
@@ -506,6 +506,17 @@ export default function ContractList() {
|
|||||||
{typeInfo && (
|
{typeInfo && (
|
||||||
<div className="text-xs text-gray-500 font-sans mt-0.5">
|
<div className="text-xs text-gray-500 font-sans mt-0.5">
|
||||||
<span className="font-medium text-gray-600">{typeInfo.label}:</span> {typeInfo.value}
|
<span className="font-medium text-gray-600">{typeInfo.label}:</span> {typeInfo.value}
|
||||||
|
{typeInfo.cardUser && (
|
||||||
|
<> · <span className="font-medium text-gray-600">Karteninhaber:</span> {typeInfo.cardUser}</>
|
||||||
|
)}
|
||||||
|
{typeInfo.network && (
|
||||||
|
<> · <span className="font-medium text-gray-600">Netz:</span> {typeInfo.network}</>
|
||||||
|
)}
|
||||||
|
</div>
|
||||||
|
)}
|
||||||
|
{contract.cancellationConfirmationDate && (
|
||||||
|
<div className="text-xs font-semibold text-red-600 font-sans mt-0.5">
|
||||||
|
Kündigungsbestätigung zum {formatDate(contract.cancellationConfirmationDate)}
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</td>
|
</td>
|
||||||
|
|||||||
Reference in New Issue
Block a user