From 4f57782be4176cc1b2c1c28e307da9a96745ca2b Mon Sep 17 00:00:00 2001 From: Ahmed Bouhuolia Date: Tue, 26 Nov 2024 13:15:15 +0200 Subject: [PATCH] feat: change default mail template messages --- .../Sales/Estimates/SendSaleEstimateMail.ts | 8 +++++- .../src/services/Sales/Estimates/constants.ts | 23 ++++++++--------- ...entReceivedMailTemplateAttrsTransformer.ts | 11 +++++++- .../Sales/PaymentReceived/constants.ts | 23 ++++++++--------- ...eceiptMailTemplateAttributesTransformer.ts | 25 ++++++++++++++++--- .../Receipts/SaleReceiptMailNotification.ts | 8 +++++- .../src/services/Sales/Receipts/constants.ts | 23 ++++++++--------- .../src/lib/ReceiptPaymentEmail.tsx | 21 +++------------- 8 files changed, 81 insertions(+), 61 deletions(-) diff --git a/packages/server/src/services/Sales/Estimates/SendSaleEstimateMail.ts b/packages/server/src/services/Sales/Estimates/SendSaleEstimateMail.ts index adb5600cc..db5b66713 100644 --- a/packages/server/src/services/Sales/Estimates/SendSaleEstimateMail.ts +++ b/packages/server/src/services/Sales/Estimates/SendSaleEstimateMail.ts @@ -80,7 +80,13 @@ export class SendSaleEstimateMail { tenantId, estimateId ); - return transformEstimateToMailDataArgs(estimate); + const commonArgs = await this.contactMailNotification.getCommonFormatArgs( + tenantId + ); + return { + ...commonArgs, + ...transformEstimateToMailDataArgs(estimate), + }; }; /** diff --git a/packages/server/src/services/Sales/Estimates/constants.ts b/packages/server/src/services/Sales/Estimates/constants.ts index 798e8f090..fd8738a4d 100644 --- a/packages/server/src/services/Sales/Estimates/constants.ts +++ b/packages/server/src/services/Sales/Estimates/constants.ts @@ -1,18 +1,17 @@ export const DEFAULT_ESTIMATE_REMINDER_MAIL_SUBJECT = 'Estimate {Estimate Number} is awaiting your approval'; -export const DEFAULT_ESTIMATE_REMINDER_MAIL_CONTENT = `

Dear {Customer Name}

-

Thank you for your business, You can view or print your estimate from attachements.

-

-Estimate #{Estimate Number}
-Expiration Date : {Estimate Expiration Date}
-Amount : {Estimate Amount}
-

+export const DEFAULT_ESTIMATE_REMINDER_MAIL_CONTENT = `Hi {Customer Name}, -

-Regards
-{Company Name} -

-`; +Here's estimate # {Estimate Number} for {Estimate Amount} + +This estimate is valid until {Estimate Expiration Date}, and we’re happy to discuss any adjustments you or questions may have. + +Please find your estimate attached to this email for your reference. + +If you have any questions, please let us know. + +Thanks, +{Company Name}`; export const ERRORS = { SALE_ESTIMATE_NOT_FOUND: 'SALE_ESTIMATE_NOT_FOUND', diff --git a/packages/server/src/services/Sales/PaymentReceived/GetPaymentReceivedMailTemplateAttrsTransformer.ts b/packages/server/src/services/Sales/PaymentReceived/GetPaymentReceivedMailTemplateAttrsTransformer.ts index 1dfcf8656..d4f4f8e02 100644 --- a/packages/server/src/services/Sales/PaymentReceived/GetPaymentReceivedMailTemplateAttrsTransformer.ts +++ b/packages/server/src/services/Sales/PaymentReceived/GetPaymentReceivedMailTemplateAttrsTransformer.ts @@ -1,5 +1,4 @@ import { Transformer } from '@/lib/Transformer/Transformer'; -import { PaymentReceivedEntryTransfromer } from './PaymentReceivedEntryTransformer'; export class GetPaymentReceivedMailTemplateAttrsTransformer extends Transformer { /** @@ -13,6 +12,8 @@ export class GetPaymentReceivedMailTemplateAttrsTransformer extends Transformer 'primaryColor', 'total', 'totalLabel', + 'subtotal', + 'subtotalLabel', 'paymentNumberLabel', 'paymentNumber', 'items', @@ -75,6 +76,14 @@ export class GetPaymentReceivedMailTemplateAttrsTransformer extends Transformer return this.options.paymentReceived.formattedAmount; } + /** + * Subtotal label. + * @returns {string} + */ + public subtotalLabel(): string { + return 'Subtotal'; + } + /** * Payment number label. * @returns {string} diff --git a/packages/server/src/services/Sales/PaymentReceived/constants.ts b/packages/server/src/services/Sales/PaymentReceived/constants.ts index ffbce4a9f..713d7218c 100644 --- a/packages/server/src/services/Sales/PaymentReceived/constants.ts +++ b/packages/server/src/services/Sales/PaymentReceived/constants.ts @@ -1,18 +1,15 @@ export const DEFAULT_PAYMENT_MAIL_SUBJECT = - 'Payment Received for {Customer Name} from {Company Name}'; -export const DEFAULT_PAYMENT_MAIL_CONTENT = ` -

Dear {Customer Name}

-

Thank you for your payment. It was a pleasure doing business with you. We look forward to work together again!

-

-Payment Date : {Payment Date}
-Amount : {Payment Amount}
-

+ ' Payment Confirmation from {Company Name} – Thank You!'; +export const DEFAULT_PAYMENT_MAIL_CONTENT = `Dear {Customer Name} -

-Regards
-{Company Name} -

-`; +Thank you for your payment. It was a pleasure doing business with you. We look forward to work together again! + +Payment Transaction: {Payment Number} +Payment Date : {Payment Date} +Amount : {Payment Amount} + +Regards, +{Company Name}`; export const ERRORS = { PAYMENT_RECEIVE_NO_EXISTS: 'PAYMENT_RECEIVE_NO_EXISTS', diff --git a/packages/server/src/services/Sales/Receipts/GetSaleReceiptMailTemplateAttributesTransformer.ts b/packages/server/src/services/Sales/Receipts/GetSaleReceiptMailTemplateAttributesTransformer.ts index 2764c6c85..838a94aba 100644 --- a/packages/server/src/services/Sales/Receipts/GetSaleReceiptMailTemplateAttributesTransformer.ts +++ b/packages/server/src/services/Sales/Receipts/GetSaleReceiptMailTemplateAttributesTransformer.ts @@ -20,6 +20,9 @@ export class GetSaleReceiptMailTemplateAttributesTransformer extends Transformer 'total', 'totalLabel', + 'subtotal', + 'subtotalLabel', + 'paidAmount', 'paidAmountLabel', @@ -64,7 +67,7 @@ export class GetSaleReceiptMailTemplateAttributesTransformer extends Transformer * @returns {string} */ public receiptNumber(): string { - return this.options.receipt.number; + return this.options.receipt.receiptNumber; } /** @@ -72,7 +75,7 @@ export class GetSaleReceiptMailTemplateAttributesTransformer extends Transformer * @returns {string} */ public receiptNumberLabel(): string { - return 'Receipt Number'; + return 'Receipt # {receiptNumber}'; } /** @@ -95,7 +98,7 @@ export class GetSaleReceiptMailTemplateAttributesTransformer extends Transformer * Receipt total. */ public total(): string { - return this.options.receipt.totalFormatted; + return this.options.receipt.formattedAmount; } /** @@ -106,6 +109,22 @@ export class GetSaleReceiptMailTemplateAttributesTransformer extends Transformer return 'Total'; } + /** + * Receipt subtotal. + * @returns {string} + */ + public subtotal(): string { + return this.options.receipt.formattedSubtotal; + } + + /** + * Receipt subtotal label. + * @returns {string} + */ + public subtotalLabel(): string { + return 'Subtotal'; + } + /** * Receipt mail items attributes. */ diff --git a/packages/server/src/services/Sales/Receipts/SaleReceiptMailNotification.ts b/packages/server/src/services/Sales/Receipts/SaleReceiptMailNotification.ts index fa4a3f55b..d9d6d7f15 100644 --- a/packages/server/src/services/Sales/Receipts/SaleReceiptMailNotification.ts +++ b/packages/server/src/services/Sales/Receipts/SaleReceiptMailNotification.ts @@ -115,7 +115,13 @@ export class SaleReceiptMailNotification { tenantId, receiptId ); - return transformReceiptToMailDataArgs(receipt); + const commonArgs = await this.contactMailNotification.getCommonFormatArgs( + tenantId + ); + return { + ...commonArgs, + ...transformReceiptToMailDataArgs(receipt), + }; }; /** diff --git a/packages/server/src/services/Sales/Receipts/constants.ts b/packages/server/src/services/Sales/Receipts/constants.ts index b1a1c3898..f8e821edb 100644 --- a/packages/server/src/services/Sales/Receipts/constants.ts +++ b/packages/server/src/services/Sales/Receipts/constants.ts @@ -1,18 +1,17 @@ export const DEFAULT_RECEIPT_MAIL_SUBJECT = 'Receipt {Receipt Number} from {Company Name}'; -export const DEFAULT_RECEIPT_MAIL_CONTENT = ` -

Dear {Customer Name}

-

Thank you for your business, You can view or print your receipt from attachements.

-

-Receipt #{Receipt Number}
-Amount : {Receipt Amount}
-

+export const DEFAULT_RECEIPT_MAIL_CONTENT = `Hi {Customer Name}, -

-Regards
-{Company Name} -

-`; +Here's receipt # {Receipt Number} for Receipt {Receipt Amount} + +The receipt paid on {Receipt Date}, and the total amount paid is {Receipt Amount}. + +Please find your sale receipt attached to this email for your reference + +If you have any questions, please let us know. + +Thanks, +{Company Name}`; export const ERRORS = { SALE_RECEIPT_NOT_FOUND: 'SALE_RECEIPT_NOT_FOUND', diff --git a/shared/email-components/src/lib/ReceiptPaymentEmail.tsx b/shared/email-components/src/lib/ReceiptPaymentEmail.tsx index 00a7dead1..129d52cbe 100644 --- a/shared/email-components/src/lib/ReceiptPaymentEmail.tsx +++ b/shared/email-components/src/lib/ReceiptPaymentEmail.tsx @@ -14,7 +14,7 @@ import { EmailTemplate } from './EmailTemplate'; export interface ReceiptEmailTemplateProps { preview: string; - // # Company + companyName?: string; companyLogoUri: string; @@ -36,10 +36,6 @@ export interface ReceiptEmailTemplateProps { subtotal?: string; subtotalLabel?: string; - // # View receipt button. - viewReceiptButtonLabel?: string; - viewReceiptButtonUrl?: string; - // # Message message?: string; } @@ -68,10 +64,6 @@ export const ReceiptEmailTemplate: React.FC< receiptNumberLabel = 'Receipt # {receiptNumber}', receiptNumber = 'REC-00001', - // # View invoice button - viewReceiptButtonLabel = 'View Estimate', - viewReceiptButtonUrl, - // # Message message = '', @@ -87,9 +79,11 @@ export const ReceiptEmailTemplate: React.FC< {companyName} + {total} + {receiptNumberLabel?.replace('{receiptNumber}', receiptNumber)} @@ -98,15 +92,6 @@ export const ReceiptEmailTemplate: React.FC< {message} -
{items.map((item, index) => (