Accounting translate module (#1799)

* feat:Accounting Translate Module

* feat:Accounting Translate Module Updated Chart Account
This commit is contained in:
RADHA THAKARE
2023-09-15 14:15:42 -06:00
committed by GitHub
parent f997f39094
commit 02bae35c33
27 changed files with 400 additions and 398 deletions
@@ -1,7 +1,7 @@
<div class="container m-b-20" fxLayout="row" fxLayoutAlign="end" fxLayoutGap="20px">
<button mat-raised-button color="primary" [routerLink]="['create']" *mifosxHasPermission="'CREATE_ACCOUNTINGRULE'">
<fa-icon icon="plus" class="m-r-10"></fa-icon>
Add Rule
{{"labels.buttons.Add Rule" |translate}}
</button>
</div>
@@ -19,32 +19,32 @@
<table mat-table [dataSource]="dataSource" matSort>
<ng-container matColumnDef="name">
<th mat-header-cell *matHeaderCellDef mat-sort-header> Name </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.name" |translate}} </th>
<td mat-cell *matCellDef="let accountingRule"> {{ accountingRule.name }} </td>
</ng-container>
<ng-container matColumnDef="officeName">
<th mat-header-cell *matHeaderCellDef mat-sort-header> Office </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Office" |translate}} </th>
<td mat-cell *matCellDef="let accountingRule"> {{ accountingRule.officeName }} </td>
</ng-container>
<ng-container matColumnDef="debitTags">
<th mat-header-cell *matHeaderCellDef mat-sort-header> Debit Tags </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Debit Tags" |translate}} </th>
<td mat-cell *matCellDef="let accountingRule"> {{ accountingRule.debitTags }} </td>
</ng-container>
<ng-container matColumnDef="debitAccount">
<th mat-header-cell *matHeaderCellDef mat-sort-header> Debit Account </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Debit Account" |translate}} </th>
<td mat-cell *matCellDef="let accountingRule"> {{ accountingRule.debitAccounts ? accountingRule.debitAccounts[0].name : '' }} </td>
</ng-container>
<ng-container matColumnDef="creditTags">
<th mat-header-cell *matHeaderCellDef mat-sort-header> Credit Tags </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Credit Tags" |translate}} </th>
<td mat-cell *matCellDef="let accountingRule"> {{ accountingRule.creditTags }} </td>
</ng-container>
<ng-container matColumnDef="creditAccount">
<th mat-header-cell *matHeaderCellDef mat-sort-header> Credit Account </th>
<th mat-header-cell *matHeaderCellDef mat-sort-header> {{"labels.inputs.Credit Account" |translate}} </th>
<td mat-cell *matCellDef="let accountingRule"> {{ accountingRule.creditAccounts ? accountingRule.creditAccounts[0].name : '' }} </td>
</ng-container>
@@ -9,35 +9,35 @@
<div fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column">
<mat-form-field fxFlex="48%">
<mat-label>Accounting Rule Name</mat-label>
<mat-label>{{"labels.inputs.Accounting Rule Name" |translate}}</mat-label>
<input matInput required formControlName="name">
<mat-error *ngIf="accountingRuleForm.controls.name.hasError('required')">
Accounting Rule Name is <strong>required</strong>
{{"labels.inputs.Accounting Rule Name" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>Office</mat-label>
<mat-label>{{"labels.inputs.Office" |translate}}</mat-label>
<mat-select required formControlName="officeId">
<mat-option *ngFor="let office of officeData" [value]="office.id">
{{ office.name }}
</mat-option>
</mat-select>
<mat-error *ngIf="accountingRuleForm.controls.officeId.hasError('required')">
Office is <strong>required</strong>
{{"labels.inputs.Office" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<div fxFlex="48%" fxLayout="row" fxLayout.lt-md="column" class="rule-wrapper">
<mat-label fxFlex="50%">Affected GL Entry (Debit) Rule Type *</mat-label>
<mat-label fxFlex="50%">{{"labels.inputs.Affected GL Entry (Debit) Rule Type" |translate}} *</mat-label>
<mat-radio-group fxFlex="50%" fxLayout="row" fxLayoutGap="5%" formControlName="debitRuleType">
<mat-radio-button value="fixedAccount">Fixed Account</mat-radio-button>
<mat-radio-button value="listOfAccounts">List of Accounts</mat-radio-button>
<mat-radio-button value="fixedAccount">{{"labels.inputs.Fixed Account" |translate}}</mat-radio-button>
<mat-radio-button value="listOfAccounts">{{"labels.inputs.List of Accounts"|translate}}</mat-radio-button>
</mat-radio-group>
</div>
<mat-form-field fxFlex="48%" *ngIf="accountingRuleForm.controls.debitRuleType.value === 'fixedAccount'">
<mat-label>Account to Debit</mat-label>
<mat-label>{{"labels.inputs.Account to Debit"|translate}}</mat-label>
<mat-select formControlName="accountToDebit">
<mat-option *ngFor="let glAccount of glAccountData" [value]="glAccount.id">
{{ glAccount.name }}
@@ -47,7 +47,7 @@
<div fxFlex="48%" fxLayout="row" fxLayoutGap="2%" fxLayout.lt-md="column" *ngIf="accountingRuleForm.controls.debitRuleType.value === 'listOfAccounts'">
<mat-form-field fxFlex="50%">
<mat-label>Debit Tags</mat-label>
<mat-label>{{"labels.inputs.Debit Tags" |translate}}</mat-label>
<mat-select formControlName="debitTags" multiple>
<mat-option *ngFor="let debitTag of debitTagData" [value]="debitTag.id">
{{ debitTag.name }}
@@ -57,21 +57,21 @@
<div fxFlex="50%" ngClass.gt-md="entries-wrapper">
<mat-checkbox labelPosition="before" formControlName="allowMultipleDebitEntries" class="entries">
Multiple Debit Entries Allowed
{{"labels.inputs.Multiple Debit Entries Allowed" |translate}}
</mat-checkbox>
</div>
</div>
<div fxFlex="48%" fxLayout="row" fxLayout.lt-md="column" class="rule-wrapper">
<mat-label fxFlex="50%">Affected GL Entry (Credit) Rule Type *</mat-label>
<mat-label fxFlex="50%">{{"labels.inputs.Affected GL Entry (Credit) Rule Type" |translate}} *</mat-label>
<mat-radio-group fxFlex="50%" fxLayout="row" fxLayoutGap="5%" formControlName="creditRuleType">
<mat-radio-button value="fixedAccount">Fixed Account</mat-radio-button>
<mat-radio-button value="listOfAccounts">List of Accounts</mat-radio-button>
<mat-radio-button value="fixedAccount">{{"labels.inputs.Fixed Account" |translate}}</mat-radio-button>
<mat-radio-button value="listOfAccounts">{{"labels.inputs.List of Accounts"|translate}}</mat-radio-button>
</mat-radio-group>
</div>
<mat-form-field fxFlex="48%" *ngIf="accountingRuleForm.controls.creditRuleType.value === 'fixedAccount'">
<mat-label>Account to Credit</mat-label>
<mat-label>{{"labels.inputs.Account to Credit" |translate}}</mat-label>
<mat-select formControlName="accountToCredit">
<mat-option *ngFor="let glAccount of glAccountData" [value]="glAccount.id">
{{ glAccount.name }}
@@ -81,7 +81,7 @@
<div fxFlex="48%" fxLayout="row" fxLayoutGap="2%" fxLayout.lt-md="column" *ngIf="accountingRuleForm.controls.creditRuleType.value === 'listOfAccounts'">
<mat-form-field fxFlex="50%">
<mat-label>Credit Tags</mat-label>
<mat-label>{{"labels.inputs.Credit Tags" |translate}}</mat-label>
<mat-select formControlName="creditTags" multiple>
<mat-option *ngFor="let creditTag of creditTagData" [value]="creditTag.id">
{{ creditTag.name }}
@@ -91,13 +91,13 @@
<div fxFlex="50%" ngClass.gt-md="entries-wrapper">
<mat-checkbox labelPosition="before" formControlName="allowMultipleCreditEntries" class="entries">
Multiple Credit Entries Allowed
{{"labels.inputs.Multiple Credit Entries Allowed" |translate}}
</mat-checkbox>
</div>
</div>
<mat-form-field fxFlex="98%">
<mat-label>Description</mat-label>
<mat-label>{{"labels.inputs.Description" |translate}}</mat-label>
<textarea matInput formControlName="description" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
</mat-form-field>
@@ -106,8 +106,8 @@
</mat-card-content>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../../']">Cancel</button>
<button mat-raised-button color="primary" [disabled]="!accountingRuleForm.valid" *mifosxHasPermission="'CREATE_ACCOUNTINGRULE'">Submit</button>
<button type="button" mat-raised-button [routerLink]="['../../']">{{ "labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!accountingRuleForm.valid" *mifosxHasPermission="'CREATE_ACCOUNTINGRULE'">{{"labels.buttons.Submit" | translate}}</button>
</mat-card-actions>
</form>
@@ -9,35 +9,35 @@
<div fxLayout="row wrap" fxLayoutGap="2%" fxLayout.lt-md="column">
<mat-form-field fxFlex="48%">
<mat-label>Accounting Rule Name</mat-label>
<mat-label>{{"labels.inputs.Accounting Rule Name" |translate}}</mat-label>
<input matInput required formControlName="name">
<mat-error *ngIf="accountingRuleForm.controls.name.hasError('required')">
Accounting Rule Name is <strong>required</strong>
{{"labels.inputs.Accounting Rule Name" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<mat-form-field fxFlex="48%">
<mat-label>Office</mat-label>
<mat-label>{{"labels.inputs.Office" |translate}}</mat-label>
<mat-select required formControlName="officeId">
<mat-option *ngFor="let office of officeData" [value]="office.id">
{{ office.name }}
</mat-option>
</mat-select>
<mat-error *ngIf="accountingRuleForm.controls.officeId.hasError('required')">
Office is <strong>required</strong>
{{"labels.inputs.Office" |translate}} {{ "labels.commons.is" |translate}} <strong>{{ "labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
<div fxFlex="48%" fxLayout="row" fxLayout.lt-md="column" class="rule-wrapper">
<mat-label fxFlex="50%">Affected GL Entry (Debit) Rule Type *</mat-label>
<mat-label fxFlex="50%">{{"labels.inputs.Affected GL Entry (Debit) Rule Type" |translate}} *</mat-label>
<mat-radio-group fxFlex="50%" fxLayout="row" fxLayoutGap="5%" formControlName="debitRuleType">
<mat-radio-button value="fixedAccount">Fixed Account</mat-radio-button>
<mat-radio-button value="listOfAccounts">List of Accounts</mat-radio-button>
<mat-radio-button value="fixedAccount">{{"labels.inputs.Fixed Account" |translate}}</mat-radio-button>
<mat-radio-button value="listOfAccounts">{{"labels.inputs.List of Accounts"|translate}}</mat-radio-button>
</mat-radio-group>
</div>
<mat-form-field fxFlex="48%" *ngIf="accountingRuleForm.controls.debitRuleType.value === 'fixedAccount'">
<mat-label>Account to Debit</mat-label>
<mat-label>{{"labels.inputs.Account to Debit"|translate}}</mat-label>
<mat-select formControlName="accountToDebit">
<mat-option *ngFor="let glAccount of glAccountData" [value]="glAccount.id">
{{ glAccount.name }}
@@ -47,7 +47,7 @@
<div fxFlex="48%" fxLayout="row" fxLayoutGap="2%" fxLayout.lt-md="column" *ngIf="accountingRuleForm.controls.debitRuleType.value === 'listOfAccounts'">
<mat-form-field fxFlex="50%">
<mat-label>Debit Tags</mat-label>
<mat-label>{{"labels.inputs.Debit Tags" |translate}}</mat-label>
<mat-select formControlName="debitTags" multiple>
<mat-option *ngFor="let debitTag of debitTagData" [value]="debitTag.id">
{{ debitTag.name }}
@@ -57,21 +57,21 @@
<div fxFlex="50%" ngClass.gt-md="entries-wrapper">
<mat-checkbox labelPosition="before" formControlName="allowMultipleDebitEntries" class="entries">
Multiple Debit Entries Allowed
{{"labels.inputs.Multiple Debit Entries Allowed" |translate}}
</mat-checkbox>
</div>
</div>
<div fxFlex="48%" fxLayout="row" fxLayout.lt-md="column" class="rule-wrapper">
<mat-label fxFlex="50%">Affected GL Entry (Credit) Rule Type *</mat-label>
<mat-label fxFlex="50%">{{"labels.inputs.Affected GL Entry (Credit) Rule Type" |translate}} *</mat-label>
<mat-radio-group fxFlex="50%" fxLayout="row" fxLayoutGap="5%" formControlName="creditRuleType">
<mat-radio-button value="fixedAccount">Fixed Account</mat-radio-button>
<mat-radio-button value="listOfAccounts">List of Accounts</mat-radio-button>
<mat-radio-button value="fixedAccount">{{"labels.inputs.Fixed Account" |translate}}</mat-radio-button>
<mat-radio-button value="listOfAccounts">{{"labels.inputs.List of Accounts"|translate}}</mat-radio-button>
</mat-radio-group>
</div>
<mat-form-field fxFlex="48%" *ngIf="accountingRuleForm.controls.creditRuleType.value === 'fixedAccount'">
<mat-label>Account to Credit</mat-label>
<mat-label>{{"labels.inputs.Account to Credit" |translate}}</mat-label>
<mat-select formControlName="accountToCredit">
<mat-option *ngFor="let glAccount of glAccountData" [value]="glAccount.id">
{{ glAccount.name }}
@@ -81,7 +81,7 @@
<div fxFlex="48%" fxLayout="row" fxLayoutGap="2%" fxLayout.lt-md="column" *ngIf="accountingRuleForm.controls.creditRuleType.value === 'listOfAccounts'">
<mat-form-field fxFlex="50%">
<mat-label>Credit Tags</mat-label>
<mat-label>{{"labels.inputs.Credit Tags" |translate}}</mat-label>
<mat-select formControlName="creditTags" multiple>
<mat-option *ngFor="let creditTag of creditTagData" [value]="creditTag.id">
{{ creditTag.name }}
@@ -91,13 +91,13 @@
<div fxFlex="50%" ngClass.gt-md="entries-wrapper">
<mat-checkbox labelPosition="before" formControlName="allowMultipleCreditEntries" class="entries">
Multiple Credit Entries Allowed
{{"labels.inputs.Multiple Credit Entries Allowed" |translate}}
</mat-checkbox>
</div>
</div>
<mat-form-field fxFlex="98%">
<mat-label>Description</mat-label>
<mat-label>{{"labels.inputs.Description" |translate}}</mat-label>
<textarea matInput formControlName="description" cdkTextareaAutosize cdkAutosizeMinRows="2"></textarea>
</mat-form-field>
@@ -106,8 +106,8 @@
</mat-card-content>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="['../../']">Cancel</button>
<button mat-raised-button color="primary" [disabled]="accountingRuleForm.pristine || !accountingRuleForm.valid" *mifosxHasPermission="'UPDATE_ACCOUNTINGRULE'">Submit</button>
<button type="button" mat-raised-button [routerLink]="['../../']">{{ "labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="accountingRuleForm.pristine || !accountingRuleForm.valid" *mifosxHasPermission="'UPDATE_ACCOUNTINGRULE'">{{"labels.buttons.Submit" | translate}}</button>
</mat-card-actions>
</form>
@@ -1,11 +1,11 @@
<div fxLayout="row" fxLayoutAlign="end" fxLayoutGap="2%" fxLayout.lt-md="column" class="container m-b-20">
<button mat-raised-button color="primary" [routerLink]="['edit']" *mifosxHasPermission="'UPDATE_ACCOUNTINGRULE'">
<fa-icon icon="edit" class="m-r-10"></fa-icon>
Edit
{{"labels.buttons.Edit"|translate}}
</button>
<button mat-raised-button color="warn" (click)="deleteAccountingRule()" *mifosxHasPermission="'DELETE_ACCOUNTINGRULE'">
<fa-icon icon="trash" class="m-r-10"></fa-icon>
Delete
{{"labels.buttons.Delete" |translate}}
</button>
</div>
@@ -20,7 +20,7 @@
<div fxLayout="row wrap" class="content">
<div fxFlex="50%" class="header">
Office
{{"labels.inputs.Office" |translate}}
</div>
<div fxFlex="50%">
@@ -28,7 +28,7 @@
</div>
<div fxFlex="50%" class="header" *ngIf="accountingRule.description">
Description
{{"labels.inputs.Description" |translate}}
</div>
<div fxFlex="50%" *ngIf="accountingRule.description">
@@ -36,7 +36,7 @@
</div>
<div fxFlex="50%" class="header">
Multiple Debit Entries Allowed
{{"labels.inputs.Multiple Debit Entries Allowed" |translate}}
</div>
<div fxFlex="50%">
@@ -44,7 +44,7 @@
</div>
<div fxFlex="50%" class="header">
Multiple Credit Entries Allowed
{{"labels.inputs.Multiple Credit Entries Allowed" |translate}}
</div>
<div fxFlex="50%">
@@ -69,7 +69,7 @@
<div fxFlex="50%" fxLayout="column" *ngIf="accountingRule.debitTags">
<div class="header">
Debit Tags
{{"labels.inputs.Debit Tags" |translate}}
</div>
<div *ngFor="let debitTag of accountingRule.debitTags">
{{ debitTag.tag.name }}
@@ -78,7 +78,7 @@
<div fxFlex="50%" fxLayout="column" *ngIf="accountingRule.debitAccounts">
<div class="header">
Debit Account Name
{{"labels.inputs.Debit Account Name" |translate}}
</div>
<div *ngFor="let debitAccount of accountingRule.debitAccounts">
{{ debitAccount.name + ' (' + debitAccount.glCode + ')' }}
@@ -87,7 +87,7 @@
<div fxFlex="50%" fxLayout="column" *ngIf="accountingRule.creditTags">
<div class="header">
Credit Tags
{{"labels.inputs.Credit Tags" |translate}}
</div>
<div *ngFor="let creditTag of accountingRule.creditTags">
{{ creditTag.tag.name }}
@@ -96,7 +96,7 @@
<div fxFlex="50%" fxLayout="column" *ngIf="accountingRule.creditAccounts">
<div class="header">
Credit Account Name
{{"labels.inputs.Credit Account Name" |translate}}
</div>
<div *ngFor="let creditAccount of accountingRule.creditAccounts">
{{ creditAccount.name + ' (' + creditAccount.glCode + ')' }}