SIM-Karten: Feld "Kartennutzer" für Firmen-/Familienverträge
Bei Firmenverträgen (Vertragsinhaber = Firma, Nutzer = Mitarbeiter) und Familienverträgen (Inhaber = Eltern, Nutzer = Kind) brauchten wir ein Feld, das den tatsächlichen Nutzer der SIM-Karte erfasst. Backend: SimCard.cardUser (String?, optional), Migration 20260601100000_sim_card_user mit IF NOT EXISTS. Im Service durch Create + Update propagiert. Frontend: Input "Kartennutzer" pro SIM-Karte in ContractForm (eigene Zeile oberhalb der technischen Felder Rufnummer/SIM-Nr/ PIN/PUK). In ContractDetail wird der Nutzer als "Nutzer: <Name>" neben den Hauptkarte/Multisim-Badges angezeigt. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -192,6 +192,7 @@ export default function ContractForm() {
|
||||
hasExistingPuk?: boolean; // Zeigt an ob PUK bereits in DB vorhanden
|
||||
isMultisim: boolean;
|
||||
isMain: boolean;
|
||||
cardUser: string;
|
||||
}
|
||||
const [simCards, setSimCards] = useState<SimCardInput[]>([]);
|
||||
|
||||
@@ -379,6 +380,7 @@ export default function ContractForm() {
|
||||
hasExistingPuk: !!sc.puk, // true wenn verschlüsselter Wert vorhanden
|
||||
isMultisim: sc.isMultisim,
|
||||
isMain: sc.isMain,
|
||||
cardUser: sc.cardUser || '',
|
||||
})));
|
||||
} else {
|
||||
setSimCards([]);
|
||||
@@ -610,6 +612,7 @@ export default function ContractForm() {
|
||||
puk: sc.puk || undefined, // Passwort: undefined = nicht ändern
|
||||
isMultisim: sc.isMultisim,
|
||||
isMain: sc.isMain,
|
||||
cardUser: emptyToNull(sc.cardUser),
|
||||
})) : undefined,
|
||||
};
|
||||
}
|
||||
@@ -1490,6 +1493,18 @@ export default function ContractForm() {
|
||||
<Trash2 className="w-4 h-4 text-red-500" />
|
||||
</Button>
|
||||
</div>
|
||||
<div className="mb-3">
|
||||
<Input
|
||||
label="Kartennutzer"
|
||||
value={card.cardUser}
|
||||
onChange={(e) => {
|
||||
const updated = [...simCards];
|
||||
updated[index].cardUser = e.target.value;
|
||||
setSimCards(updated);
|
||||
}}
|
||||
placeholder="z.B. Mitarbeiter-/Kind-Name (optional, kann vom Vertragsinhaber abweichen)"
|
||||
/>
|
||||
</div>
|
||||
<div className="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-3">
|
||||
<Input
|
||||
label="Rufnummer"
|
||||
@@ -1578,6 +1593,7 @@ export default function ContractForm() {
|
||||
puk: '',
|
||||
isMultisim: false,
|
||||
isMain: simCards.length === 0, // Erste Karte ist Hauptkarte
|
||||
cardUser: '',
|
||||
}]);
|
||||
}}
|
||||
>
|
||||
|
||||
Reference in New Issue
Block a user