fix: Accounting Migrate Opening Balances view
This commit is contained in:
committed by
Jose Alberto Hernandez
parent
3cc27c5206
commit
545a998426
@@ -55,3 +55,5 @@ testem.log
|
|||||||
Thumbs.db
|
Thumbs.db
|
||||||
.vscode/
|
.vscode/
|
||||||
cypress/
|
cypress/
|
||||||
|
|
||||||
|
src/assets/env.js
|
||||||
|
|||||||
+53
-37
@@ -8,28 +8,32 @@
|
|||||||
<mat-card-content>
|
<mat-card-content>
|
||||||
|
|
||||||
<div #searchFormRef fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column">
|
<div #searchFormRef fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||||
|
<div class="m-r-30" fxFlex="83%">
|
||||||
<mat-form-field fxFlex="88%">
|
<mat-form-field fxFlex="96%">
|
||||||
<mat-label>{{"labels.inputs.Office" | translate}}</mat-label>
|
<mat-label>{{"labels.inputs.Office" | translate}}</mat-label>
|
||||||
<mat-select required formControlName="officeId">
|
<mat-select required formControlName="officeId">
|
||||||
<mat-option *ngFor="let office of officeData" [value]="office.id">
|
<mat-option *ngFor="let office of officeData" [value]="office.id">
|
||||||
{{ office.name }}
|
{{ office.name }}
|
||||||
</mat-option>
|
</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
<mat-error *ngIf="openingBalancesForm.controls.officeId.hasError('required')">
|
<mat-error *ngIf="openingBalancesForm.controls.officeId.hasError('required')">
|
||||||
{{"labels.inputs.Office" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
{{"labels.inputs.Office" | translate}} {{"labels.commons.is" | translate}}
|
||||||
</mat-error>
|
<strong>{{"labels.commons.required" | translate}}</strong>
|
||||||
</mat-form-field>
|
</mat-error>
|
||||||
|
</mat-form-field>
|
||||||
<div>
|
|
||||||
<button mat-button type="button" color="primary" fxFlex="8%" (click)="retrieveOpeningBalances()">{{"labels.buttons.Retrieve" | translate}}</button>
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
<div fxFlex="15%">
|
||||||
|
<button mat-raised-button color="primary" (click)="retrieveOpeningBalances()">{{"labels.buttons.Retrieve" |
|
||||||
|
translate}}</button>
|
||||||
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column" *ngIf="openingBalancesData">
|
<div fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column" *ngIf="openingBalancesData">
|
||||||
|
|
||||||
<label fxFlex="98%" class="content"><span class="header">{{"labels.inputs.Opening Balances Contra Account:" | translate}}</span> {{ openingBalancesData.contraAccount.name + ' (' + openingBalancesData.contraAccount.glCode + ')' }}</label>
|
<mifosx-gl-account-display fxFlex="100%" [accountTitle]="'Opening Balances Contra Account'"
|
||||||
|
[glAccount]="openingBalancesData.contraAccount" [withTitle]="'50%'">
|
||||||
|
</mifosx-gl-account-display>
|
||||||
|
|
||||||
<mat-form-field fxFlex="48%">
|
<mat-form-field fxFlex="48%">
|
||||||
<mat-label>{{"labels.inputs.Currency" | translate}}</mat-label>
|
<mat-label>{{"labels.inputs.Currency" | translate}}</mat-label>
|
||||||
@@ -39,17 +43,20 @@
|
|||||||
</mat-option>
|
</mat-option>
|
||||||
</mat-select>
|
</mat-select>
|
||||||
<mat-error *ngIf="openingBalancesForm.controls.currencyCode.hasError('required')">
|
<mat-error *ngIf="openingBalancesForm.controls.currencyCode.hasError('required')">
|
||||||
{{"labels.inputs.Currency" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
{{"labels.inputs.Currency" | translate}} {{"labels.commons.is" | translate}}
|
||||||
|
<strong>{{"labels.commons.required" | translate}}</strong>
|
||||||
</mat-error>
|
</mat-error>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
|
|
||||||
<mat-form-field fxFlex="48%" (click)="openingBalancesDatePicker.open()">
|
<mat-form-field fxFlex="48%" (click)="openingBalancesDatePicker.open()">
|
||||||
<mat-label>{{"labels.inputs.Opening Balances Date" | translate}}</mat-label>
|
<mat-label>{{"labels.inputs.Opening Balances Date" | translate}}</mat-label>
|
||||||
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="openingBalancesDatePicker" required formControlName="transactionDate">
|
<input matInput [min]="minDate" [max]="maxDate" [matDatepicker]="openingBalancesDatePicker" required
|
||||||
|
formControlName="transactionDate">
|
||||||
<mat-datepicker-toggle matSuffix [for]="openingBalancesDatePicker"></mat-datepicker-toggle>
|
<mat-datepicker-toggle matSuffix [for]="openingBalancesDatePicker"></mat-datepicker-toggle>
|
||||||
<mat-datepicker #openingBalancesDatePicker></mat-datepicker>
|
<mat-datepicker #openingBalancesDatePicker></mat-datepicker>
|
||||||
<mat-error *ngIf="openingBalancesForm.controls.transactionDate.hasError('required')">
|
<mat-error *ngIf="openingBalancesForm.controls.transactionDate.hasError('required')">
|
||||||
{{"labels.inputs.Opening Balances Date" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
{{"labels.inputs.Opening Balances Date" | translate}} {{"labels.commons.is" | translate}}
|
||||||
|
<strong>{{"labels.commons.required" | translate}}</strong>
|
||||||
</mat-error>
|
</mat-error>
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
|
|
||||||
@@ -65,15 +72,14 @@
|
|||||||
|
|
||||||
<div class="header" fxFlex="18%">
|
<div class="header" fxFlex="18%">
|
||||||
{{"labels.inputs.Account" | translate}}
|
{{"labels.inputs.Account" | translate}}
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="header" fxFlex="23%">
|
<div class="header r-amount" fxFlex="23%">
|
||||||
{{"labels.inputs.Total Debit" | translate}}: {{ debitsSum }}
|
{{"labels.inputs.Total Debit" | translate}}: {{ debitsSum | currency:currencyCode:'symbol-narrow':'1.2-2' }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="header" fxFlex="23%">
|
<div class="header r-amount" fxFlex="23%">
|
||||||
{{"labels.inputs.Total Credit" | translate}}: {{ creditsSum }}
|
{{"labels.inputs.Total Credit" | translate}}: {{ creditsSum | currency:currencyCode:'symbol-narrow':'1.2-2' }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
@@ -83,26 +89,28 @@
|
|||||||
|
|
||||||
<div fxFlexFill fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column" [formGroupName]="i">
|
<div fxFlexFill fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column" [formGroupName]="i">
|
||||||
|
|
||||||
<div fxFlex="8%" class="p-t-30">
|
<div fxFlex="8%">
|
||||||
{{ (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) : '' }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div fxFlex="18%" class="p-t-30">
|
<div fxFlex="13%">
|
||||||
{{ openingBalancesData.glAccounts[i].glAccountCode }}
|
{{ openingBalancesData.glAccounts[i].glAccountCode }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div fxFlex="18%" class="p-t-30">
|
<div fxFlex="29%">
|
||||||
{{ openingBalancesData.glAccounts[i].glAccountName }}
|
{{ openingBalancesData.glAccounts[i].glAccountName }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div fxFlex="23%">
|
<div fxFlex="20%">
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-label>{{"labels.inputs.Debit" | translate}}</mat-label>
|
<mat-label>{{"labels.inputs.Debit" | translate}}</mat-label>
|
||||||
<input matInput type="number" formControlName="debit">
|
<input matInput type="number" formControlName="debit">
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div fxFlex="23%">
|
<div fxFlex="20%">
|
||||||
<mat-form-field>
|
<mat-form-field>
|
||||||
<mat-label>{{"labels.inputs.Credit" | translate}}</mat-label>
|
<mat-label>{{"labels.inputs.Credit" | translate}}</mat-label>
|
||||||
<input matInput type="number" formControlName="credit">
|
<input matInput type="number" formControlName="credit">
|
||||||
@@ -117,9 +125,11 @@
|
|||||||
|
|
||||||
</mat-card-content>
|
</mat-card-content>
|
||||||
|
|
||||||
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px" *ngIf="openingBalancesData">
|
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px"
|
||||||
|
*ngIf="openingBalancesData">
|
||||||
<button type="button" mat-raised-button [routerLink]="['../']">{{"labels.buttons.Cancel" | translate}}</button>
|
<button type="button" mat-raised-button [routerLink]="['../']">{{"labels.buttons.Cancel" | translate}}</button>
|
||||||
<button mat-raised-button color="primary" [disabled]="!openingBalancesForm.valid" *mifosxHasPermission="'DEFINEOPENINGBALANCE_JOURNALENTRY'">{{"labels.buttons.Submit | translate}}</button>
|
<button mat-raised-button color="primary" [disabled]="!openingBalancesForm.valid"
|
||||||
|
*mifosxHasPermission="'DEFINEOPENINGBALANCE_JOURNALENTRY'">{{"labels.buttons.Submit" | translate}}</button>
|
||||||
</mat-card-actions>
|
</mat-card-actions>
|
||||||
|
|
||||||
</form>
|
</form>
|
||||||
@@ -130,10 +140,16 @@
|
|||||||
|
|
||||||
<ng-template #templateSearchFormRef let-popover="popover">
|
<ng-template #templateSearchFormRef let-popover="popover">
|
||||||
<h2>{{"labels.heading.Migrate opening balances (Office-wise)" | translate}}</h2>
|
<h2>{{"labels.heading.Migrate opening balances (Office-wise)" | translate}}</h2>
|
||||||
<p class="mw300">{{"labels.text.Migrate Opening Balances" | translate}} <a href="https://mifosforge.jira.com/wiki/spaces/docs/pages/90243328/Migrate+opening+balances+Office-wise" target="_blank">{{"labels.inputs.Migrate opening balances (Office-wise)" | translate}}</a></p>
|
<p class="mw300">{{"labels.text.Migrate Opening Balances" | translate}} <a
|
||||||
|
href="https://mifosforge.jira.com/wiki/spaces/docs/pages/90243328/Migrate+opening+balances+Office-wise"
|
||||||
|
target="_blank">{{"labels.inputs.Migrate opening balances (Office-wise)" | translate}}</a></p>
|
||||||
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column">
|
||||||
<button mat-raised-button color="warn" (click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" | translate}}</button>
|
<button mat-raised-button color="warn"
|
||||||
<button mat-raised-button color="primary" (click)="popover.close();popover.close();previousStep();">{{"labels.buttons.Back" | translate}}</button>
|
(click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" |
|
||||||
<button mat-raised-button color="primary" (click)="popover.close();popover.close();nextStep();">{{"labels.buttons.Next" | translate}}</button>
|
translate}}</button>
|
||||||
|
<button mat-raised-button color="primary"
|
||||||
|
(click)="popover.close();popover.close();previousStep();">{{"labels.buttons.Back" | translate}}</button>
|
||||||
|
<button mat-raised-button color="primary"
|
||||||
|
(click)="popover.close();popover.close();nextStep();">{{"labels.buttons.Next" | translate}}</button>
|
||||||
</div>
|
</div>
|
||||||
</ng-template>
|
</ng-template>
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
.content {
|
.content {
|
||||||
|
padding-top: 20px;
|
||||||
div {
|
div {
|
||||||
margin: 1rem 0;
|
|
||||||
word-wrap: break-word;
|
word-wrap: break-word;
|
||||||
|
|
||||||
&.header {
|
&.header {
|
||||||
|
|||||||
@@ -12,6 +12,7 @@ import { ConfigurationWizardService } from '../../configuration-wizard/configura
|
|||||||
/** Custom Validators */
|
/** Custom Validators */
|
||||||
import { onlyOneOfTheFieldsIsRequiredValidator } from './only-one-of-the-fields-is-required.validator';
|
import { onlyOneOfTheFieldsIsRequiredValidator } from './only-one-of-the-fields-is-required.validator';
|
||||||
import { Dates } from 'app/core/utils/dates';
|
import { Dates } from 'app/core/utils/dates';
|
||||||
|
import { TranslateService } from '@ngx-translate/core';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Migrate opening balances component.
|
* Migrate opening balances component.
|
||||||
@@ -35,6 +36,7 @@ export class MigrateOpeningBalancesComponent implements OnInit, AfterViewInit {
|
|||||||
officeData: any;
|
officeData: any;
|
||||||
/** Currency data. */
|
/** Currency data. */
|
||||||
currencyData: any;
|
currencyData: any;
|
||||||
|
currencyCode: string;
|
||||||
/** Sum total of debits. */
|
/** Sum total of debits. */
|
||||||
debitsSum = 0;
|
debitsSum = 0;
|
||||||
/** Sum total of credits. */
|
/** Sum total of credits. */
|
||||||
@@ -62,7 +64,8 @@ export class MigrateOpeningBalancesComponent implements OnInit, AfterViewInit {
|
|||||||
private route: ActivatedRoute,
|
private route: ActivatedRoute,
|
||||||
private router: Router,
|
private router: Router,
|
||||||
private configurationWizardService: ConfigurationWizardService,
|
private configurationWizardService: ConfigurationWizardService,
|
||||||
private popoverService: PopoverService) {
|
private popoverService: PopoverService,
|
||||||
|
private translateService: TranslateService) {
|
||||||
this.route.data.subscribe((data: {
|
this.route.data.subscribe((data: {
|
||||||
offices: any,
|
offices: any,
|
||||||
currencies: any
|
currencies: any
|
||||||
@@ -90,6 +93,10 @@ export class MigrateOpeningBalancesComponent implements OnInit, AfterViewInit {
|
|||||||
'transactionDate': ['', Validators.required],
|
'transactionDate': ['', Validators.required],
|
||||||
'glAccountEntries': this.formBuilder.array([])
|
'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.
|
* if successful redirects to view created transaction.
|
||||||
*/
|
*/
|
||||||
submit() {
|
submit() {
|
||||||
const openingBalances = this.openingBalancesForm.value;
|
if (this.amountsAreOK()) {
|
||||||
// TODO: Update once language and date settings are setup
|
const openingBalances = this.openingBalancesForm.value;
|
||||||
openingBalances.locale = this.settingsService.language.code;
|
openingBalances.locale = this.settingsService.language.code;
|
||||||
openingBalances.dateFormat = this.settingsService.dateFormat;
|
openingBalances.dateFormat = this.settingsService.dateFormat;
|
||||||
if (openingBalances.transactionDate instanceof Date) {
|
if (openingBalances.transactionDate instanceof Date) {
|
||||||
openingBalances.transactionDate = this.dateUtils.formatDate(openingBalances.transactionDate, this.settingsService.dateFormat);
|
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']);
|
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);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
+6
-1
@@ -5,5 +5,10 @@ import { UntypedFormGroup, ValidatorFn, ValidationErrors } from '@angular/forms'
|
|||||||
export const onlyOneOfTheFieldsIsRequiredValidator: ValidatorFn = (glAccountEntriesForm: UntypedFormGroup): ValidationErrors | null => {
|
export const onlyOneOfTheFieldsIsRequiredValidator: ValidatorFn = (glAccountEntriesForm: UntypedFormGroup): ValidationErrors | null => {
|
||||||
const debit = glAccountEntriesForm.controls.debit.value;
|
const debit = glAccountEntriesForm.controls.debit.value;
|
||||||
const credit = glAccountEntriesForm.controls.credit.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;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -191,15 +191,10 @@
|
|||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<mat-form-field *ngIf="chargeForm.controls.chargeAppliesTo.value === 3" fxFlex="48%">
|
<mifosx-gl-account-selector fxFlex="48%" *ngIf="chargeForm.controls.chargeAppliesTo.value === 3"
|
||||||
<mat-label>{{"labels.inputs.Income from Charge" | translate}} </mat-label>
|
[inputFormControl]="chargeForm.controls.incomeAccountId"
|
||||||
<mat-select formControlName="incomeAccountId">
|
[glAccountList]="incomeAndLiabilityAccountData" [inputLabel]="'Income from Charge'">
|
||||||
<mat-option *ngFor="let incomeOrLiabilityAccount of incomeAndLiabilityAccountData"
|
</mifosx-gl-account-selector>
|
||||||
[value]="incomeOrLiabilityAccount.id">
|
|
||||||
{{ incomeOrLiabilityAccount.name }}
|
|
||||||
</mat-option>
|
|
||||||
</mat-select>
|
|
||||||
</mat-form-field>
|
|
||||||
|
|
||||||
<mat-form-field fxFlex="48%">
|
<mat-form-field fxFlex="48%">
|
||||||
<mat-label>{{"labels.inputs.Tax Group" | translate}}</mat-label>
|
<mat-label>{{"labels.inputs.Tax Group" | translate}}</mat-label>
|
||||||
|
|||||||
@@ -105,18 +105,10 @@
|
|||||||
<input matInput autofocus formControlName="maxCap">
|
<input matInput autofocus formControlName="maxCap">
|
||||||
</mat-form-field>
|
</mat-form-field>
|
||||||
|
|
||||||
<mat-form-field fxFlex="48%" *ngIf="showGLAccount">
|
<mifosx-gl-account-selector fxFlex="48%" *ngIf="showGLAccount"
|
||||||
<mat-label>{{"labels.inputs.Income from charge" | translate}}</mat-label>
|
[inputFormControl]="chargeForm.controls.incomeAccountId"
|
||||||
<mat-select required formControlName="incomeAccountId">
|
[glAccountList]="chargeData.incomeOrLiabilityAccountOptions.incomeAccountOptions" [required]="true" [inputLabel]="'Income from Charge'">
|
||||||
<mat-option *ngFor="let income of chargeData.incomeOrLiabilityAccountOptions.incomeAccountOptions"
|
</mifosx-gl-account-selector>
|
||||||
[value]="income.id">
|
|
||||||
{{ income.name }}
|
|
||||||
</mat-option>
|
|
||||||
</mat-select>
|
|
||||||
<mat-error *ngIf="chargeForm.controls.incomeAccountId.hasError('required')">
|
|
||||||
{{"labels.inputs.Income from charge" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
|
|
||||||
</mat-error>
|
|
||||||
</mat-form-field>
|
|
||||||
|
|
||||||
<mat-form-field fxFlex="48%">
|
<mat-form-field fxFlex="48%">
|
||||||
<mat-label>{{"labels.inputs.Tax Group" | translate}}</mat-label>
|
<mat-label>{{"labels.inputs.Tax Group" | translate}}</mat-label>
|
||||||
|
|||||||
@@ -122,13 +122,9 @@
|
|||||||
{{ chargeData.feeInterval }}
|
{{ chargeData.feeInterval }}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div fxFlex="50%" class="mat-body-strong" *ngIf="chargeData.incomeOrLiabilityAccount">
|
<mifosx-gl-account-display fxFlex="100%" [accountTitle]="'Income From Charges'" *ngIf="chargeData.incomeOrLiabilityAccount"
|
||||||
{{"labels.heading.Income" | translate}} {{"labels.inputs.From" | translate}} {{"labels.heading.Charges" | translate}}
|
[glAccount]="chargeData.incomeOrLiabilityAccount" [withTitle]="'50%'">
|
||||||
</div>
|
</mifosx-gl-account-display>
|
||||||
|
|
||||||
<div fxFlex="50%" *ngIf="chargeData.incomeOrLiabilityAccount">
|
|
||||||
{{ chargeData.incomeOrLiabilityAccount.name + ' (' + chargeData.incomeOrLiabilityAccount.glCode + ')' }}
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div fxFlex="50%" class="mat-body-strong" *ngIf="chargeData.taxGroup">
|
<div fxFlex="50%" class="mat-body-strong" *ngIf="chargeData.taxGroup">
|
||||||
{{"labels.inputs.Tax Group" | translate}}
|
{{"labels.inputs.Tax Group" | translate}}
|
||||||
|
|||||||
@@ -1861,7 +1861,7 @@
|
|||||||
"Online Banking App": "Aplikace online bankovnictví",
|
"Online Banking App": "Aplikace online bankovnictví",
|
||||||
"Open Savings Account": "Otevřete Spořicí účet",
|
"Open Savings Account": "Otevřete Spořicí účet",
|
||||||
"Opened On": "Otevřeno dne",
|
"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 Balances Date": "Datum počátečních zůstatků",
|
||||||
"Opening Date": "Datum otevření",
|
"Opening Date": "Datum otevření",
|
||||||
"Option": "Volba",
|
"Option": "Volba",
|
||||||
|
|||||||
@@ -1861,7 +1861,7 @@
|
|||||||
"Online Banking App": "Online-Banking-App",
|
"Online Banking App": "Online-Banking-App",
|
||||||
"Open Savings Account": "Sparkonto eröffnen",
|
"Open Savings Account": "Sparkonto eröffnen",
|
||||||
"Opened On": "Geöffnet am",
|
"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 Balances Date": "Datum des Eröffnungssaldos",
|
||||||
"Opening Date": "Eröffnungsdatum",
|
"Opening Date": "Eröffnungsdatum",
|
||||||
"Option": "Möglichkeit",
|
"Option": "Möglichkeit",
|
||||||
|
|||||||
@@ -1862,7 +1862,7 @@
|
|||||||
"Online Banking App": "Online Banking App",
|
"Online Banking App": "Online Banking App",
|
||||||
"Open Savings Account": "Open Savings Account",
|
"Open Savings Account": "Open Savings Account",
|
||||||
"Opened On": "Opened On",
|
"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 Balances Date": "Opening Balances Date",
|
||||||
"Opening Date": "Opening Date",
|
"Opening Date": "Opening Date",
|
||||||
"Option": "Option",
|
"Option": "Option",
|
||||||
|
|||||||
@@ -1860,7 +1860,7 @@
|
|||||||
"Online Banking App": "Aplicación de banca en línea",
|
"Online Banking App": "Aplicación de banca en línea",
|
||||||
"Open Savings Account": "Abrir Cuenta de Ahorros",
|
"Open Savings Account": "Abrir Cuenta de Ahorros",
|
||||||
"Opened On": "Abierto el",
|
"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 Balances Date": "Fecha de saldos de apertura",
|
||||||
"Opening Date": "Fecha de apertura",
|
"Opening Date": "Fecha de apertura",
|
||||||
"Option": "Opción",
|
"Option": "Opción",
|
||||||
|
|||||||
@@ -1861,7 +1861,7 @@
|
|||||||
"Online Banking App": "Application bancaire en ligne",
|
"Online Banking App": "Application bancaire en ligne",
|
||||||
"Open Savings Account": "Ouvrir un compte d'épargne",
|
"Open Savings Account": "Ouvrir un compte d'épargne",
|
||||||
"Opened On": "Ouvert le",
|
"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 Balances Date": "Date des soldes d'ouverture",
|
||||||
"Opening Date": "Date d'ouverture",
|
"Opening Date": "Date d'ouverture",
|
||||||
"Option": "Option",
|
"Option": "Option",
|
||||||
|
|||||||
@@ -1861,7 +1861,7 @@
|
|||||||
"Online Banking App": "Applicazione bancaria online",
|
"Online Banking App": "Applicazione bancaria online",
|
||||||
"Open Savings Account": "Apri conto di risparmio",
|
"Open Savings Account": "Apri conto di risparmio",
|
||||||
"Opened On": "Aperto il",
|
"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 Balances Date": "Data dei saldi di apertura",
|
||||||
"Opening Date": "Data di apertura",
|
"Opening Date": "Data di apertura",
|
||||||
"Option": "Opzione",
|
"Option": "Opzione",
|
||||||
|
|||||||
@@ -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 Date": "기초 잔액 날짜",
|
"Opening Balances Date": "기초 잔액 날짜",
|
||||||
"Opening Date": "개장일",
|
"Opening Date": "개장일",
|
||||||
"Option": "옵션",
|
"Option": "옵션",
|
||||||
|
|||||||
@@ -1861,7 +1861,7 @@
|
|||||||
"Online Banking App": "Internetinės bankininkystės programa",
|
"Online Banking App": "Internetinės bankininkystės programa",
|
||||||
"Open Savings Account": "Atidarykite taupomąją sąskaitą",
|
"Open Savings Account": "Atidarykite taupomąją sąskaitą",
|
||||||
"Opened On": "Atidaryta",
|
"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 Balances Date": "Atidarymo likučių data",
|
||||||
"Opening Date": "Atidarymo data",
|
"Opening Date": "Atidarymo data",
|
||||||
"Option": "Parinktis",
|
"Option": "Parinktis",
|
||||||
|
|||||||
@@ -1861,7 +1861,7 @@
|
|||||||
"Online Banking App": "Tiešsaistes bankas lietotne",
|
"Online Banking App": "Tiešsaistes bankas lietotne",
|
||||||
"Open Savings Account": "Atveriet krājkontu",
|
"Open Savings Account": "Atveriet krājkontu",
|
||||||
"Opened On": "Atvērts On",
|
"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 Balances Date": "Sākuma bilances datums",
|
||||||
"Opening Date": "Atvēršanas datums",
|
"Opening Date": "Atvēršanas datums",
|
||||||
"Option": "Opcija",
|
"Option": "Opcija",
|
||||||
|
|||||||
@@ -1861,7 +1861,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 Date": "मौज्दात खुल्ने मिति",
|
"Opening Balances Date": "मौज्दात खुल्ने मिति",
|
||||||
"Opening Date": "खुल्ने मिति",
|
"Opening Date": "खुल्ने मिति",
|
||||||
"Option": "विकल्प",
|
"Option": "विकल्प",
|
||||||
|
|||||||
@@ -1861,7 +1861,7 @@
|
|||||||
"Online Banking App": "Aplicativo de banco on-line",
|
"Online Banking App": "Aplicativo de banco on-line",
|
||||||
"Open Savings Account": "Abrir conta poupança",
|
"Open Savings Account": "Abrir conta poupança",
|
||||||
"Opened On": "Aberto em",
|
"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 Balances Date": "Data dos saldos de abertura",
|
||||||
"Opening Date": "Data de abertura",
|
"Opening Date": "Data de abertura",
|
||||||
"Option": "Opção",
|
"Option": "Opção",
|
||||||
|
|||||||
@@ -1861,7 +1861,7 @@
|
|||||||
"Online Banking App": "Programu ya Benki ya Mtandaoni",
|
"Online Banking App": "Programu ya Benki ya Mtandaoni",
|
||||||
"Open Savings Account": "Fungua Akaunti ya Akiba",
|
"Open Savings Account": "Fungua Akaunti ya Akiba",
|
||||||
"Opened On": "Imefunguliwa Washa",
|
"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 Balances Date": "Tarehe ya Kufungua Mizani",
|
||||||
"Opening Date": "Tarehe ya Kufungua",
|
"Opening Date": "Tarehe ya Kufungua",
|
||||||
"Option": "Chaguo",
|
"Option": "Chaguo",
|
||||||
|
|||||||
Reference in New Issue
Block a user