diff --git a/backend/prisma/migrations/20260818100000_energy_no_bonus_desired/migration.sql b/backend/prisma/migrations/20260818100000_energy_no_bonus_desired/migration.sql new file mode 100644 index 00000000..443c1e5b --- /dev/null +++ b/backend/prisma/migrations/20260818100000_energy_no_bonus_desired/migration.sql @@ -0,0 +1,2 @@ +-- "Keine Bonis erwünscht": Kunde möchte bei diesem Energievertrag keine Bonis. +ALTER TABLE `EnergyContractDetails` ADD COLUMN IF NOT EXISTS `noBonusDesired` BOOLEAN NOT NULL DEFAULT false; diff --git a/backend/prisma/schema.prisma b/backend/prisma/schema.prisma index 31cb08df..fe20d8ba 100644 --- a/backend/prisma/schema.prisma +++ b/backend/prisma/schema.prisma @@ -923,6 +923,7 @@ model EnergyContractDetails { // `instantBonus` (Annahme: meistgenutzte Variante). instantBonus Float? // Sofort-Bonus newCustomerBonus Float? // Neukunden-Bonus + noBonusDesired Boolean @default(false) // Kunde wünscht keine Bonis previousProviderName String? previousCustomerNumber String? invoices Invoice[] // Rechnungen diff --git a/backend/src/services/contract.service.ts b/backend/src/services/contract.service.ts index 823ed482..cba52348 100644 --- a/backend/src/services/contract.service.ts +++ b/backend/src/services/contract.service.ts @@ -255,6 +255,7 @@ interface ContractCreateData { unitPrice?: number; instantBonus?: number; newCustomerBonus?: number; + noBonusDesired?: boolean; previousProviderName?: string; previousCustomerNumber?: string; }; diff --git a/frontend/src/pages/contracts/ContractDetail.tsx b/frontend/src/pages/contracts/ContractDetail.tsx index 229892aa..86f8b364 100644 --- a/frontend/src/pages/contracts/ContractDetail.tsx +++ b/frontend/src/pages/contracts/ContractDetail.tsx @@ -2825,6 +2825,12 @@ export default function ContractDetail() { ) : null; })()} + {c.energyDetails.noBonusDesired && ( +