From 545a99842631d3c35ee8cba82c05f8eadab335bd Mon Sep 17 00:00:00 2001 From: Jose Alberto Hernandez Date: Sun, 26 May 2024 19:06:52 -0600 Subject: [PATCH] fix: Accounting Migrate Opening Balances view --- .gitignore | 2 + .../migrate-opening-balances.component.html | 90 +++++++++++-------- .../migrate-opening-balances.component.scss | 2 +- .../migrate-opening-balances.component.ts | 68 +++++++++----- ...one-of-the-fields-is-required.validator.ts | 7 +- .../create-charge.component.html | 13 +-- .../edit-charge/edit-charge.component.html | 16 +--- .../view-charge/view-charge.component.html | 10 +-- src/assets/translations/cs-CS.json | 2 +- src/assets/translations/de-DE.json | 2 +- src/assets/translations/en-US.json | 2 +- src/assets/translations/es-MX.json | 2 +- src/assets/translations/fr-FR.json | 2 +- src/assets/translations/it-IT.json | 2 +- src/assets/translations/ko-KO.json | 2 +- src/assets/translations/lt-LT.json | 2 +- src/assets/translations/lv-LV.json | 2 +- src/assets/translations/ne-NE.json | 2 +- src/assets/translations/pt-PT.json | 2 +- src/assets/translations/sw-SW.json | 2 +- 20 files changed, 132 insertions(+), 100 deletions(-) diff --git a/.gitignore b/.gitignore index 075b1574f..13da3b853 100644 --- a/.gitignore +++ b/.gitignore @@ -55,3 +55,5 @@ testem.log Thumbs.db .vscode/ cypress/ + +src/assets/env.js diff --git a/src/app/accounting/migrate-opening-balances/migrate-opening-balances.component.html b/src/app/accounting/migrate-opening-balances/migrate-opening-balances.component.html index e3e23a89c..502887a51 100644 --- a/src/app/accounting/migrate-opening-balances/migrate-opening-balances.component.html +++ b/src/app/accounting/migrate-opening-balances/migrate-opening-balances.component.html @@ -8,28 +8,32 @@
- - - {{"labels.inputs.Office" | translate}} - - - {{ office.name }} - - - - {{"labels.inputs.Office" | translate}} {{"labels.commons.is" | translate}} {{"labels.commons.required" | translate}} - - - -
- +
+ + {{"labels.inputs.Office" | translate}} + + + {{ office.name }} + + + + {{"labels.inputs.Office" | translate}} {{"labels.commons.is" | translate}} + {{"labels.commons.required" | translate}} + +
+
+ +
- + + {{"labels.inputs.Currency" | translate}} @@ -39,17 +43,20 @@ - {{"labels.inputs.Currency" | translate}} {{"labels.commons.is" | translate}} {{"labels.commons.required" | translate}} + {{"labels.inputs.Currency" | translate}} {{"labels.commons.is" | translate}} + {{"labels.commons.required" | translate}} {{"labels.inputs.Opening Balances Date" | translate}} - + - {{"labels.inputs.Opening Balances Date" | translate}} {{"labels.commons.is" | translate}} {{"labels.commons.required" | translate}} + {{"labels.inputs.Opening Balances Date" | translate}} {{"labels.commons.is" | translate}} + {{"labels.commons.required" | translate}} @@ -65,15 +72,14 @@
{{"labels.inputs.Account" | translate}} -
-
- {{"labels.inputs.Total Debit" | translate}}: {{ debitsSum }} +
+ {{"labels.inputs.Total Debit" | translate}}: {{ debitsSum | currency:currencyCode:'symbol-narrow':'1.2-2' }}
-
- {{"labels.inputs.Total Credit" | translate}}: {{ creditsSum }} +
+ {{"labels.inputs.Total Credit" | translate}}: {{ creditsSum | currency:currencyCode:'symbol-narrow':'1.2-2' }}
@@ -83,26 +89,28 @@
-
- {{ (openingBalancesData.glAccounts[i].glAccountType.value !== openingBalancesData.glAccounts[i-1]?.glAccountType.value) ? openingBalancesData.glAccounts[i].glAccountType.value : '' }} +
+ {{ (openingBalancesData.glAccounts[i].glAccountType.value !== + openingBalancesData.glAccounts[i-1]?.glAccountType.value) ? + glAccountTypeLabel(openingBalancesData.glAccounts[i].glAccountType.value) : '' }}
-
+
{{ openingBalancesData.glAccounts[i].glAccountCode }}
-
+
{{ openingBalancesData.glAccounts[i].glAccountName }}
-
+
{{"labels.inputs.Debit" | translate}}
-
+
{{"labels.inputs.Credit" | translate}} @@ -117,9 +125,11 @@ - + - + @@ -130,10 +140,16 @@

{{"labels.heading.Migrate opening balances (Office-wise)" | translate}}

-

{{"labels.text.Migrate Opening Balances" | translate}} {{"labels.inputs.Migrate opening balances (Office-wise)" | translate}}

+

{{"labels.text.Migrate Opening Balances" | translate}} {{"labels.inputs.Migrate opening balances (Office-wise)" | translate}}

- - - + + +
-
+ \ No newline at end of file diff --git a/src/app/accounting/migrate-opening-balances/migrate-opening-balances.component.scss b/src/app/accounting/migrate-opening-balances/migrate-opening-balances.component.scss index b78000682..090f02501 100644 --- a/src/app/accounting/migrate-opening-balances/migrate-opening-balances.component.scss +++ b/src/app/accounting/migrate-opening-balances/migrate-opening-balances.component.scss @@ -1,6 +1,6 @@ .content { + padding-top: 20px; div { - margin: 1rem 0; word-wrap: break-word; &.header { diff --git a/src/app/accounting/migrate-opening-balances/migrate-opening-balances.component.ts b/src/app/accounting/migrate-opening-balances/migrate-opening-balances.component.ts index 4335ede90..a3c9eb8ec 100644 --- a/src/app/accounting/migrate-opening-balances/migrate-opening-balances.component.ts +++ b/src/app/accounting/migrate-opening-balances/migrate-opening-balances.component.ts @@ -12,6 +12,7 @@ import { ConfigurationWizardService } from '../../configuration-wizard/configura /** Custom Validators */ import { onlyOneOfTheFieldsIsRequiredValidator } from './only-one-of-the-fields-is-required.validator'; import { Dates } from 'app/core/utils/dates'; +import { TranslateService } from '@ngx-translate/core'; /** * Migrate opening balances component. @@ -35,6 +36,7 @@ export class MigrateOpeningBalancesComponent implements OnInit, AfterViewInit { officeData: any; /** Currency data. */ currencyData: any; + currencyCode: string; /** Sum total of debits. */ debitsSum = 0; /** Sum total of credits. */ @@ -62,7 +64,8 @@ export class MigrateOpeningBalancesComponent implements OnInit, AfterViewInit { private route: ActivatedRoute, private router: Router, private configurationWizardService: ConfigurationWizardService, - private popoverService: PopoverService) { + private popoverService: PopoverService, + private translateService: TranslateService) { this.route.data.subscribe((data: { offices: any, currencies: any @@ -90,6 +93,10 @@ export class MigrateOpeningBalancesComponent implements OnInit, AfterViewInit { 'transactionDate': ['', Validators.required], 'glAccountEntries': this.formBuilder.array([]) }); + + this.openingBalancesForm.controls.currencyCode.valueChanges.subscribe((value: string) => { + this.currencyCode = value; + }); } /** @@ -149,27 +156,28 @@ export class MigrateOpeningBalancesComponent implements OnInit, AfterViewInit { * if successful redirects to view created transaction. */ submit() { - const openingBalances = this.openingBalancesForm.value; - // TODO: Update once language and date settings are setup - openingBalances.locale = this.settingsService.language.code; - openingBalances.dateFormat = this.settingsService.dateFormat; - if (openingBalances.transactionDate instanceof Date) { - openingBalances.transactionDate = this.dateUtils.formatDate(openingBalances.transactionDate, this.settingsService.dateFormat); + if (this.amountsAreOK()) { + const openingBalances = this.openingBalancesForm.value; + openingBalances.locale = this.settingsService.language.code; + openingBalances.dateFormat = this.settingsService.dateFormat; + if (openingBalances.transactionDate instanceof Date) { + openingBalances.transactionDate = this.dateUtils.formatDate(openingBalances.transactionDate, this.settingsService.dateFormat); + } + openingBalances.debits = []; + openingBalances.credits = []; + this.openingBalancesForm.value.glAccountEntries.forEach((entry: any) => { + if (entry.debit) { + openingBalances.debits.push({ glAccountId: entry.glAccountId, amount: entry.debit }); + } + if (entry.credit) { + openingBalances.credits.push({ glAccountId: entry.glAccountId, amount: entry.credit }); + } + }); + delete openingBalances.glAccountEntries; + this.accountingService.defineOpeningBalances(openingBalances).subscribe((response: any) => { + this.router.navigate(['/accounting/journal-entries/transactions/view', response.transactionId]); + }); } - openingBalances.debits = []; - openingBalances.credits = []; - this.openingBalancesForm.value.glAccountEntries.forEach((entry: any) => { - if (entry.debit) { - openingBalances.debits.push({ glAccountId: entry.glAccountId, amount: entry.debit }); - } - if (entry.credit) { - openingBalances.credits.push({ glAccountId: entry.glAccountId, amount: entry.credit }); - } - }); - delete openingBalances.glAccountEntries; - this.accountingService.defineOpeningBalances(openingBalances).subscribe((response: any) => { - this.router.navigate(['/accounting/journal-entries/transactions/view', response.transactionId]); - }); } /** @@ -210,4 +218,22 @@ export class MigrateOpeningBalancesComponent implements OnInit, AfterViewInit { this.router.navigate(['/accounting']); } + amountsAreOK(): boolean { + let debitsSum = 0; + let creditsSum = 0; + this.openingBalancesForm.value.glAccountEntries.forEach((entry: any) => { + if (entry.debit) { + debitsSum = debitsSum + entry.debit; + } + if (entry.credit) { + creditsSum = creditsSum + entry.credit; + } + }); + return (debitsSum > 0 && debitsSum === creditsSum); + } + + glAccountTypeLabel(accountType: string): string { + return this.translateService.instant('labels.inputs.accounting.' + accountType); + } + } diff --git a/src/app/accounting/migrate-opening-balances/only-one-of-the-fields-is-required.validator.ts b/src/app/accounting/migrate-opening-balances/only-one-of-the-fields-is-required.validator.ts index 482408161..3ffa58659 100644 --- a/src/app/accounting/migrate-opening-balances/only-one-of-the-fields-is-required.validator.ts +++ b/src/app/accounting/migrate-opening-balances/only-one-of-the-fields-is-required.validator.ts @@ -5,5 +5,10 @@ import { UntypedFormGroup, ValidatorFn, ValidationErrors } from '@angular/forms' export const onlyOneOfTheFieldsIsRequiredValidator: ValidatorFn = (glAccountEntriesForm: UntypedFormGroup): ValidationErrors | null => { const debit = glAccountEntriesForm.controls.debit.value; const credit = glAccountEntriesForm.controls.credit.value; - return ((debit || credit) && !(debit && credit)) ? null : { 'error': true }; + if (debit && credit) { + if (debit > 0 && credit > 0) { + return { 'error': true }; + } + } + return null; }; diff --git a/src/app/products/charges/create-charge/create-charge.component.html b/src/app/products/charges/create-charge/create-charge.component.html index f1922ec4a..078b7e6c8 100644 --- a/src/app/products/charges/create-charge/create-charge.component.html +++ b/src/app/products/charges/create-charge/create-charge.component.html @@ -191,15 +191,10 @@
- - {{"labels.inputs.Income from Charge" | translate}} - - - {{ incomeOrLiabilityAccount.name }} - - - + + {{"labels.inputs.Tax Group" | translate}} diff --git a/src/app/products/charges/edit-charge/edit-charge.component.html b/src/app/products/charges/edit-charge/edit-charge.component.html index 77a4317cf..d40b1b255 100644 --- a/src/app/products/charges/edit-charge/edit-charge.component.html +++ b/src/app/products/charges/edit-charge/edit-charge.component.html @@ -105,18 +105,10 @@ - - {{"labels.inputs.Income from charge" | translate}} - - - {{ income.name }} - - - - {{"labels.inputs.Income from charge" | translate}} {{"labels.commons.is" | translate}} {{"labels.commons.required" | translate}} - - + + {{"labels.inputs.Tax Group" | translate}} diff --git a/src/app/products/charges/view-charge/view-charge.component.html b/src/app/products/charges/view-charge/view-charge.component.html index 540841fc9..4a612c8fa 100644 --- a/src/app/products/charges/view-charge/view-charge.component.html +++ b/src/app/products/charges/view-charge/view-charge.component.html @@ -122,13 +122,9 @@ {{ chargeData.feeInterval }}
-
- {{"labels.heading.Income" | translate}} {{"labels.inputs.From" | translate}} {{"labels.heading.Charges" | translate}} -
- -
- {{ chargeData.incomeOrLiabilityAccount.name + ' (' + chargeData.incomeOrLiabilityAccount.glCode + ')' }} -
+ +
{{"labels.inputs.Tax Group" | translate}} diff --git a/src/assets/translations/cs-CS.json b/src/assets/translations/cs-CS.json index 4854654a4..a494e0804 100644 --- a/src/assets/translations/cs-CS.json +++ b/src/assets/translations/cs-CS.json @@ -1861,7 +1861,7 @@ "Online Banking App": "Aplikace online bankovnictví", "Open Savings Account": "Otevřete Spořicí účet", "Opened On": "Otevřeno dne", - "Opening Balances Contra Account:": "Počáteční zůstatky protiúčtu:", + "Opening Balances Contra Account": "Počáteční zůstatky protiúčtu:", "Opening Balances Date": "Datum počátečních zůstatků", "Opening Date": "Datum otevření", "Option": "Volba", diff --git a/src/assets/translations/de-DE.json b/src/assets/translations/de-DE.json index fc86c1518..50537df0d 100644 --- a/src/assets/translations/de-DE.json +++ b/src/assets/translations/de-DE.json @@ -1861,7 +1861,7 @@ "Online Banking App": "Online-Banking-App", "Open Savings Account": "Sparkonto eröffnen", "Opened On": "Geöffnet am", - "Opening Balances Contra Account:": "Eröffnungssalden Gegenkonto:", + "Opening Balances Contra Account": "Eröffnungssalden Gegenkonto:", "Opening Balances Date": "Datum des Eröffnungssaldos", "Opening Date": "Eröffnungsdatum", "Option": "Möglichkeit", diff --git a/src/assets/translations/en-US.json b/src/assets/translations/en-US.json index 8b1fb3a5a..f8f656ad6 100644 --- a/src/assets/translations/en-US.json +++ b/src/assets/translations/en-US.json @@ -1862,7 +1862,7 @@ "Online Banking App": "Online Banking App", "Open Savings Account": "Open Savings Account", "Opened On": "Opened On", - "Opening Balances Contra Account:": "Opening Balances Contra Account:", + "Opening Balances Contra Account": "Opening Balances Contra Account", "Opening Balances Date": "Opening Balances Date", "Opening Date": "Opening Date", "Option": "Option", diff --git a/src/assets/translations/es-MX.json b/src/assets/translations/es-MX.json index 871a71c0c..0a7626e34 100644 --- a/src/assets/translations/es-MX.json +++ b/src/assets/translations/es-MX.json @@ -1860,7 +1860,7 @@ "Online Banking App": "Aplicación de banca en línea", "Open Savings Account": "Abrir Cuenta de Ahorros", "Opened On": "Abierto el", - "Opening Balances Contra Account:": "Saldos de Apertura Contra Cuenta:", + "Opening Balances Contra Account": "Saldos de Apertura Contra Cuenta:", "Opening Balances Date": "Fecha de saldos de apertura", "Opening Date": "Fecha de apertura", "Option": "Opción", diff --git a/src/assets/translations/fr-FR.json b/src/assets/translations/fr-FR.json index 0bdf63dd3..17ade3870 100644 --- a/src/assets/translations/fr-FR.json +++ b/src/assets/translations/fr-FR.json @@ -1861,7 +1861,7 @@ "Online Banking App": "Application bancaire en ligne", "Open Savings Account": "Ouvrir un compte d'épargne", "Opened On": "Ouvert le", - "Opening Balances Contra Account:": "Soldes d'ouverture du compte de contrepartie :", + "Opening Balances Contra Account": "Soldes d'ouverture du compte de contrepartie :", "Opening Balances Date": "Date des soldes d'ouverture", "Opening Date": "Date d'ouverture", "Option": "Option", diff --git a/src/assets/translations/it-IT.json b/src/assets/translations/it-IT.json index 7bfd40b2c..592d10b11 100644 --- a/src/assets/translations/it-IT.json +++ b/src/assets/translations/it-IT.json @@ -1861,7 +1861,7 @@ "Online Banking App": "Applicazione bancaria online", "Open Savings Account": "Apri conto di risparmio", "Opened On": "Aperto il", - "Opening Balances Contra Account:": "Saldi di apertura Conto di contropartita:", + "Opening Balances Contra Account": "Saldi di apertura Conto di contropartita:", "Opening Balances Date": "Data dei saldi di apertura", "Opening Date": "Data di apertura", "Option": "Opzione", diff --git a/src/assets/translations/ko-KO.json b/src/assets/translations/ko-KO.json index a3fac5118..e7ca976cf 100644 --- a/src/assets/translations/ko-KO.json +++ b/src/assets/translations/ko-KO.json @@ -1862,7 +1862,7 @@ "Online Banking App": "온라인 뱅킹 앱", "Open Savings Account": "예금 계좌 개설", "Opened On": "다음 날짜에 열림", - "Opening Balances Contra Account:": "기초 잔액 대조 계좌:", + "Opening Balances Contra Account": "기초 잔액 대조 계좌:", "Opening Balances Date": "기초 잔액 날짜", "Opening Date": "개장일", "Option": "옵션", diff --git a/src/assets/translations/lt-LT.json b/src/assets/translations/lt-LT.json index 0a917148f..1ed91afb6 100644 --- a/src/assets/translations/lt-LT.json +++ b/src/assets/translations/lt-LT.json @@ -1861,7 +1861,7 @@ "Online Banking App": "Internetinės bankininkystės programa", "Open Savings Account": "Atidarykite taupomąją sąskaitą", "Opened On": "Atidaryta", - "Opening Balances Contra Account:": "Kontra sąskaitos atidarymo likučiai:", + "Opening Balances Contra Account": "Kontra sąskaitos atidarymo likučiai:", "Opening Balances Date": "Atidarymo likučių data", "Opening Date": "Atidarymo data", "Option": "Parinktis", diff --git a/src/assets/translations/lv-LV.json b/src/assets/translations/lv-LV.json index 9980974c0..d40b23f9b 100644 --- a/src/assets/translations/lv-LV.json +++ b/src/assets/translations/lv-LV.json @@ -1861,7 +1861,7 @@ "Online Banking App": "Tiešsaistes bankas lietotne", "Open Savings Account": "Atveriet krājkontu", "Opened On": "Atvērts On", - "Opening Balances Contra Account:": "Kontrakonta sākuma atlikumi:", + "Opening Balances Contra Account": "Kontrakonta sākuma atlikumi:", "Opening Balances Date": "Sākuma bilances datums", "Opening Date": "Atvēršanas datums", "Option": "Opcija", diff --git a/src/assets/translations/ne-NE.json b/src/assets/translations/ne-NE.json index 5cb91df29..c024d9147 100644 --- a/src/assets/translations/ne-NE.json +++ b/src/assets/translations/ne-NE.json @@ -1861,7 +1861,7 @@ "Online Banking App": "अनलाइन बैंकिङ एप", "Open Savings Account": "बचत खाता खोल्नुहोस्", "Opened On": "खोलियो", - "Opening Balances Contra Account:": "ब्यालेन्स कन्ट्रा खाता खोल्ने:", + "Opening Balances Contra Account": "ब्यालेन्स कन्ट्रा खाता खोल्ने:", "Opening Balances Date": "मौज्दात खुल्ने मिति", "Opening Date": "खुल्ने मिति", "Option": "विकल्प", diff --git a/src/assets/translations/pt-PT.json b/src/assets/translations/pt-PT.json index 21da7dab9..8e1aa1893 100644 --- a/src/assets/translations/pt-PT.json +++ b/src/assets/translations/pt-PT.json @@ -1861,7 +1861,7 @@ "Online Banking App": "Aplicativo de banco on-line", "Open Savings Account": "Abrir conta poupança", "Opened On": "Aberto em", - "Opening Balances Contra Account:": "Abertura de saldos contra conta:", + "Opening Balances Contra Account": "Abertura de saldos contra conta:", "Opening Balances Date": "Data dos saldos de abertura", "Opening Date": "Data de abertura", "Option": "Opção", diff --git a/src/assets/translations/sw-SW.json b/src/assets/translations/sw-SW.json index f6687233a..e6fe2ad61 100644 --- a/src/assets/translations/sw-SW.json +++ b/src/assets/translations/sw-SW.json @@ -1861,7 +1861,7 @@ "Online Banking App": "Programu ya Benki ya Mtandaoni", "Open Savings Account": "Fungua Akaunti ya Akiba", "Opened On": "Imefunguliwa Washa", - "Opening Balances Contra Account:": "Kufungua Akaunti ya Kinyume cha Salio:", + "Opening Balances Contra Account": "Kufungua Akaunti ya Kinyume cha Salio:", "Opening Balances Date": "Tarehe ya Kufungua Mizani", "Opening Date": "Tarehe ya Kufungua", "Option": "Chaguo",