From 783387dce6107687d09e7a4c63d9440b375ea817 Mon Sep 17 00:00:00 2001 From: Ahmed Bouhuolia Date: Mon, 30 Sep 2024 11:15:05 +0200 Subject: [PATCH] fix: pdf templates server-side rendered --- .../views/modules/credit-note-standard.pug | 4 ++-- .../views/modules/estimate-regular.pug | 4 +--- .../views/modules/invoice-standard.pug | 4 +--- .../modules/payment-receive-standard.pug | 4 +--- .../views/modules/receipt-regular.pug | 4 ++-- .../src/services/Sales/Invoices/constants.ts | 5 +++-- .../PaymentReceivedBrandingTemplate.ts | 19 ++++++++++--------- .../InvoiceCustomize/PaperTemplate.tsx | 19 +++++++++---------- .../PaymentReceivedCustomize/constants.ts | 11 +++++++---- .../PaymentReceivedCustomize/types.ts | 14 ++++++++++---- 10 files changed, 46 insertions(+), 42 deletions(-) diff --git a/packages/server/resources/views/modules/credit-note-standard.pug b/packages/server/resources/views/modules/credit-note-standard.pug index 057e1069b..cc3d95b5a 100644 --- a/packages/server/resources/views/modules/credit-note-standard.pug +++ b/packages/server/resources/views/modules/credit-note-standard.pug @@ -48,8 +48,8 @@ block head box-sizing: border-box; display: flex; flex-flow: wrap; - -webkit-box-align: center; - align-items: center; + -webkit-box-align: flex-start; + align-items: flex-start; -webkit-box-pack: start; justify-content: flex-start; gap: 10px; diff --git a/packages/server/resources/views/modules/estimate-regular.pug b/packages/server/resources/views/modules/estimate-regular.pug index f29c065f3..455a0372c 100644 --- a/packages/server/resources/views/modules/estimate-regular.pug +++ b/packages/server/resources/views/modules/estimate-regular.pug @@ -47,9 +47,7 @@ block head box-sizing: border-box; display: flex; flex-flow: wrap; - -webkit-box-align: center; - align-items: center; - -webkit-box-pack: start; + align-items: flex-start; justify-content: flex-start; gap: 10px; margin-bottom: 24px; diff --git a/packages/server/resources/views/modules/invoice-standard.pug b/packages/server/resources/views/modules/invoice-standard.pug index 098c67bbe..121ae7492 100644 --- a/packages/server/resources/views/modules/invoice-standard.pug +++ b/packages/server/resources/views/modules/invoice-standard.pug @@ -48,9 +48,7 @@ block head box-sizing: border-box; display: flex; flex-flow: wrap; - -webkit-box-align: center; - align-items: center; - -webkit-box-pack: start; + align-items: flex-start; justify-content: flex-start; gap: 10px; margin-bottom: 24px; diff --git a/packages/server/resources/views/modules/payment-receive-standard.pug b/packages/server/resources/views/modules/payment-receive-standard.pug index c9c16bc72..bfdf9cea0 100644 --- a/packages/server/resources/views/modules/payment-receive-standard.pug +++ b/packages/server/resources/views/modules/payment-receive-standard.pug @@ -46,9 +46,7 @@ block head box-sizing: border-box; display: flex; flex-flow: wrap; - -webkit-box-align: center; - align-items: center; - -webkit-box-pack: start; + align-items: flex-start; justify-content: flex-start; gap: 10px; margin-bottom: 24px; diff --git a/packages/server/resources/views/modules/receipt-regular.pug b/packages/server/resources/views/modules/receipt-regular.pug index 7d8fd015b..1c986c805 100644 --- a/packages/server/resources/views/modules/receipt-regular.pug +++ b/packages/server/resources/views/modules/receipt-regular.pug @@ -46,8 +46,8 @@ block head box-sizing: border-box; display: flex; flex-flow: wrap; - -webkit-box-align: center; - align-items: center; + -webkit-box-align: flex-start; + align-items: flex-start; -webkit-box-pack: start; justify-content: flex-start; gap: 10px; diff --git a/packages/server/src/services/Sales/Invoices/constants.ts b/packages/server/src/services/Sales/Invoices/constants.ts index cb27e00a0..becd1ebcf 100644 --- a/packages/server/src/services/Sales/Invoices/constants.ts +++ b/packages/server/src/services/Sales/Invoices/constants.ts @@ -179,14 +179,15 @@ export const defaultInvoicePdfTemplateAttributes = { dateIssueLabel: 'Date of issue', showDateIssue: true, - // dateIssue, + // # Invoice number, invoiceNumberLabel: 'Invoice number', showInvoiceNumber: true, - // Address + // # Customer address showCustomerAddress: true, customerAddress: '', + // # Company address showCompanyAddress: true, companyAddress: '', billedToLabel: 'Billed To', diff --git a/packages/server/src/services/Sales/PaymentReceived/PaymentReceivedBrandingTemplate.ts b/packages/server/src/services/Sales/PaymentReceived/PaymentReceivedBrandingTemplate.ts index aa8d580df..5e7c89fb7 100644 --- a/packages/server/src/services/Sales/PaymentReceived/PaymentReceivedBrandingTemplate.ts +++ b/packages/server/src/services/Sales/PaymentReceived/PaymentReceivedBrandingTemplate.ts @@ -10,35 +10,36 @@ export class PaymentReceivedBrandingTemplate { @Inject() private getPdfTemplateService: GetPdfTemplate; - @Inject() private getOrgBrandingAttributes: GetOrganizationBrandingAttributes; - /** * Retrieves the payment received pdf template. - * @param {number} tenantId - * @param {number} paymentTemplateId - * @returns + * @param {number} tenantId + * @param {number} paymentTemplateId + * @returns */ public async getPaymentReceivedPdfTemplate( tenantId: number, paymentTemplateId: number - ) { + ) { const template = await this.getPdfTemplateService.getPdfTemplate( tenantId, paymentTemplateId ); // Retrieves the organization branding attributes. - const commonOrgBrandingAttrs = this.getOrgBrandingAttributes.getOrganizationBrandingAttributes(tenantId); - + const commonOrgBrandingAttrs = + await this.getOrgBrandingAttributes.getOrganizationBrandingAttributes( + tenantId + ); + // Merges the default branding attributes with common organization branding attrs. const organizationBrandingAttrs = { ...defaultPaymentReceivedPdfTemplateAttributes, ...commonOrgBrandingAttrs, }; const attributes = mergePdfTemplateWithDefaultAttributes( template.attributes, - organizationBrandingAttrs + organizationBrandingAttrs ); return { ...template, diff --git a/packages/webapp/src/containers/Sales/Invoices/InvoiceCustomize/PaperTemplate.tsx b/packages/webapp/src/containers/Sales/Invoices/InvoiceCustomize/PaperTemplate.tsx index a6b8411dd..07ae55d22 100644 --- a/packages/webapp/src/containers/Sales/Invoices/InvoiceCustomize/PaperTemplate.tsx +++ b/packages/webapp/src/containers/Sales/Invoices/InvoiceCustomize/PaperTemplate.tsx @@ -120,19 +120,18 @@ PaperTemplate.MutedText = () => {}; PaperTemplate.Text = () => {}; PaperTemplate.AddressesGroup = (props: GroupProps) => { - return ; -}; -PaperTemplate.Address = ({ - children, -}: { - children: React.ReactNode; -}) => { return ( - - {children} - + ); }; +PaperTemplate.Address = ({ children }: { children: React.ReactNode }) => { + return {children}; +}; PaperTemplate.Statement = ({ label, diff --git a/packages/webapp/src/containers/Sales/PaymentsReceived/PaymentReceivedCustomize/constants.ts b/packages/webapp/src/containers/Sales/PaymentsReceived/PaymentReceivedCustomize/constants.ts index 46181004c..19078b5fb 100644 --- a/packages/webapp/src/containers/Sales/PaymentsReceived/PaymentReceivedCustomize/constants.ts +++ b/packages/webapp/src/containers/Sales/PaymentsReceived/PaymentReceivedCustomize/constants.ts @@ -14,17 +14,19 @@ export const initialValues = { showPaymentReceivedNumber: true, paymentReceivedNumberLabel: 'Payment number', + // Payment number showPaymentReceivedDate: true, paymentReceivedDateLabel: 'Date of Issue', // Company name companyName: 'Bigcapital Technology, Inc.', - // Addresses - showCustomerAddress: true, + // Customer address showCompanyAddress: true, - customerAddress: '', companyAddress: '', + + // Company address + showCustomerAddress: true, billedToLabel: 'Billed To', // Entries @@ -33,10 +35,11 @@ export const initialValues = { itemRateLabel: 'Rate', itemTotalLabel: 'Total', - // Totals + // Subtotal showSubtotal: true, subtotalLabel: 'Subtotal', + // Total showTotal: true, totalLabel: 'Total', }; diff --git a/packages/webapp/src/containers/Sales/PaymentsReceived/PaymentReceivedCustomize/types.ts b/packages/webapp/src/containers/Sales/PaymentsReceived/PaymentReceivedCustomize/types.ts index da5468a55..f26371cc6 100644 --- a/packages/webapp/src/containers/Sales/PaymentsReceived/PaymentReceivedCustomize/types.ts +++ b/packages/webapp/src/containers/Sales/PaymentsReceived/PaymentReceivedCustomize/types.ts @@ -12,18 +12,23 @@ export interface PaymentReceivedCustomizeValues extends BrandingTemplateValues { showInvoiceNumber?: boolean; invoiceNumberLabel?: string; + // # Issue date showDateIssue?: boolean; dateIssueLabel?: string; + // # Due date showDueDate?: boolean; dueDateLabel?: string; - // Company name + // # Company name companyName?: string; - // Addresses - showBilledFromAddress?: boolean; - showBillingToAddress?: boolean; + // # Customer address + showCustomerAddress?: boolean; + + // # Company address + showCompanyAddress?: boolean; + companyAddress?: string; billedToLabel?: string; // Entries @@ -54,6 +59,7 @@ export interface PaymentReceivedCustomizeValues extends BrandingTemplateValues { termsConditionsLabel?: string; showTermsConditions?: boolean; + // # Statement statementLabel?: string; showStatement?: boolean; }