Vertrag: Kunden-/Vertragsnummer bei Vertriebsplattform
Viele Vertriebsplattformen vergeben eigene Nummern, die nicht mit denen des Endanbieters identisch sind. Zwei neue optionale Felder unter "Anbieter & Tarif". - Schema: Contract.customerNumberAtSalesPlatform + contractNumberAtSalesPlatform, Migration mit IF NOT EXISTS. - ContractForm: zwei neue Inputs direkt unter den entsprechenden Provider-Feldern. - ContractDetail: eigene Zeilen mit CopyButton. - Audit-Log-Mapping + Renewal-Copy + XSS-Strip-Whitelist mitgezogen. - Bonus: contractNumberAtProvider war im Renewal-Copy und Audit- Label-Mapping fehlend – mitkorrigiert.
This commit is contained in:
@@ -0,0 +1,7 @@
|
||||
-- Vertrieb-/Provider-Trennung: viele Plattformen vergeben eigene Kunden-/
|
||||
-- Vertragsnummern, die nicht mit denen beim Endanbieter identisch sind.
|
||||
-- Zwei neue optionale Felder unter "Anbieter & Tarif".
|
||||
|
||||
ALTER TABLE `Contract`
|
||||
ADD COLUMN IF NOT EXISTS `customerNumberAtSalesPlatform` VARCHAR(191) NULL,
|
||||
ADD COLUMN IF NOT EXISTS `contractNumberAtSalesPlatform` VARCHAR(191) NULL;
|
||||
@@ -687,6 +687,8 @@ model Contract {
|
||||
tariffName String?
|
||||
customerNumberAtProvider String?
|
||||
contractNumberAtProvider String? // Vertragsnummer beim Anbieter
|
||||
customerNumberAtSalesPlatform String? // Kundennummer bei der Vertriebsplattform
|
||||
contractNumberAtSalesPlatform String? // Vertragsnummer bei der Vertriebsplattform
|
||||
priceFirst12Months String? // Preis erste 12 Monate
|
||||
priceFrom13Months String? // Preis ab 13. Monat
|
||||
priceAfter24Months String? // Preis nach 24 Monaten
|
||||
|
||||
@@ -203,6 +203,9 @@ export async function updateContract(req: AuthRequest, res: Response): Promise<v
|
||||
const fieldLabels: Record<string, string> = {
|
||||
status: 'Status', startDate: 'Vertragsbeginn', endDate: 'Vertragsende',
|
||||
portalUsername: 'Portal-Benutzername', customerNumberAtProvider: 'Kundennummer beim Anbieter',
|
||||
contractNumberAtProvider: 'Vertragsnummer beim Anbieter',
|
||||
customerNumberAtSalesPlatform: 'Kundennummer bei Vertriebsplattform',
|
||||
contractNumberAtSalesPlatform: 'Vertragsnummer bei Vertriebsplattform',
|
||||
providerId: 'Anbieter', tariffId: 'Tarif', cancellationPeriodId: 'Kündigungsfrist',
|
||||
contractDurationId: 'Vertragslaufzeit', platformId: 'Vertriebsplattform',
|
||||
cancellationDate: 'Kündigungsdatum', cancellationSentDate: 'Kündigung gesendet am',
|
||||
|
||||
@@ -203,6 +203,8 @@ interface ContractCreateData {
|
||||
providerName?: string;
|
||||
tariffName?: string;
|
||||
customerNumberAtProvider?: string;
|
||||
customerNumberAtSalesPlatform?: string;
|
||||
contractNumberAtSalesPlatform?: string;
|
||||
priceFirst12Months?: string;
|
||||
priceFrom13Months?: string;
|
||||
priceAfter24Months?: string;
|
||||
@@ -896,6 +898,9 @@ export async function createRenewalContract(previousContractId: number) {
|
||||
providerName: previousContract.providerName,
|
||||
tariffName: previousContract.tariffName,
|
||||
customerNumberAtProvider: previousContract.customerNumberAtProvider,
|
||||
contractNumberAtProvider: previousContract.contractNumberAtProvider,
|
||||
customerNumberAtSalesPlatform: previousContract.customerNumberAtSalesPlatform,
|
||||
contractNumberAtSalesPlatform: previousContract.contractNumberAtSalesPlatform,
|
||||
portalUsername: previousContract.portalUsername,
|
||||
portalPasswordEncrypted: previousContract.portalPasswordEncrypted,
|
||||
commission: previousContract.commission,
|
||||
|
||||
@@ -75,6 +75,8 @@ const CONTRACT_DISPLAY_STRING_FIELDS = [
|
||||
'tariffName',
|
||||
'customerNumberAtProvider',
|
||||
'contractNumberAtProvider',
|
||||
'customerNumberAtSalesPlatform',
|
||||
'contractNumberAtSalesPlatform',
|
||||
'portalUsername',
|
||||
'previousProviderName',
|
||||
'previousCustomerNumber',
|
||||
|
||||
Reference in New Issue
Block a user