Add QuoteApprovedByCustomer notification type; fix wrong type logged on approval

QuoteDeclinedByCustomer was used for both approve and decline responses,
so approval notifications showed the wrong type in the log. Added a distinct
QuoteApprovedByCustomer = 16 enum value, wired up the correct type in
NotificationService, added default templates in both the service fallback
dictionary and SeedData, and updated placeholder hints in CompanySettings.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-05-06 17:13:34 -04:00
parent 4085ff7c73
commit d3863c713b
4 changed files with 39 additions and 4 deletions
@@ -977,6 +977,28 @@ New accounts walk through an 18-step setup wizard to configure company informati
CompanyId = companyId,
CreatedAt = DateTime.UtcNow
},
new NotificationTemplate
{
NotificationType = NotificationType.QuoteApprovedByCustomer,
Channel = NotificationChannel.Email,
DisplayName = "Quote Approved by Customer (Internal)",
Subject = "Customer Response: Quote {{quoteNumber}} — {{companyName}}",
Body = "<p>Hello,</p><p>A customer has responded to quote <strong>{{quoteNumber}}</strong>.</p><p><strong>Customer:</strong> {{customerName}}<br/><strong>Response:</strong> {{response}}</p><p>Log in to the portal to review and follow up.</p>",
IsActive = true,
CompanyId = companyId,
CreatedAt = DateTime.UtcNow
},
new NotificationTemplate
{
NotificationType = NotificationType.QuoteDeclinedByCustomer,
Channel = NotificationChannel.Email,
DisplayName = "Quote Declined by Customer (Internal)",
Subject = "Customer Response: Quote {{quoteNumber}} — {{companyName}}",
Body = "<p>Hello,</p><p>A customer has responded to quote <strong>{{quoteNumber}}</strong>.</p><p><strong>Customer:</strong> {{customerName}}<br/><strong>Response:</strong> {{response}}</p>{{declineReasonSection}}<p>Log in to the portal to review and follow up.</p>",
IsActive = true,
CompanyId = companyId,
CreatedAt = DateTime.UtcNow
},
];
}