fix:GL account can be created (#1931)

Fixes: #1921
This commit is contained in:
Pushpendra
2023-12-14 18:41:22 +05:30
committed by GitHub
parent 4ff1c67393
commit 1bb307905e
2 changed files with 60 additions and 47 deletions
@@ -16,7 +16,8 @@
</mat-option>
</mat-select>
<mat-error *ngIf="glAccountForm.controls.type.hasError('required')">
{{"labels.inputs.Account Type" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
{{"labels.inputs.Account Type" | translate}} {{"labels.commons.is" | translate}}
<strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -24,7 +25,8 @@
<mat-label>{{"labels.inputs.Account Name" | translate}}</mat-label>
<input matInput required formControlName="name">
<mat-error *ngIf="glAccountForm.controls.name.hasError('required')">
{{"labels.inputs.Account Name" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
{{"labels.inputs.Account Name" | translate}} {{"labels.commons.is" | translate}}
<strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -36,7 +38,8 @@
</mat-option>
</mat-select>
<mat-error *ngIf="glAccountForm.controls.usage.hasError('required')">
{{"labels.inputs.Account Usage" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
{{"labels.inputs.Account Usage" | translate}} {{"labels.commons.is" | translate}}
<strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -44,7 +47,8 @@
<mat-label>{{"labels.inputs.GL Code" | translate}}</mat-label>
<input matInput required formControlName="glCode">
<mat-error *ngIf="glAccountForm.controls.glCode.hasError('required')">
{{"labels.inputs.GL Code" | translate}} {{"labels.commons.is" | translate}} <strong>{{"labels.commons.required" | translate}}</strong>
{{"labels.inputs.GL Code" | translate}} {{"labels.commons.is" | translate}}
<strong>{{"labels.commons.required" | translate}}</strong>
</mat-error>
</mat-form-field>
@@ -67,7 +71,7 @@
</mat-form-field>
<div fxFlex="18%" class="manual-entries-allowed-wrapper">
<mat-checkbox labelPosition="before" required formControlName="manualEntriesAllowed" class="manual-entries-allowed">
<mat-checkbox labelPosition="before" formControlName="manualEntriesAllowed" class="manual-entries-allowed">
{{"labels.inputs.Manual Entries Allowed" | translate}}
</mat-checkbox>
</div>
@@ -82,8 +86,10 @@
</mat-card-content>
<mat-card-actions fxLayout="row" fxLayout.xs="column" fxLayoutAlign="center" fxLayoutGap="5px">
<button type="button" mat-raised-button [routerLink]="[cancelRoute]">{{"labels.buttons.Cancel" | translate}}</button>
<button mat-raised-button color="primary" [disabled]="!glAccountForm.valid" *mifosxHasPermission="'CREATE_GLACCOUNT'">{{"labels.buttons.Submit" | translate}}</button>
<button type="button" mat-raised-button [routerLink]="[cancelRoute]">{{"labels.buttons.Cancel" |
translate}}</button>
<button mat-raised-button color="primary" [disabled]="!glAccountForm.valid"
*mifosxHasPermission="'CREATE_GLACCOUNT'">{{"labels.buttons.Submit" | translate}}</button>
</mat-card-actions>
</form>
@@ -94,11 +100,18 @@
<ng-template #templateAccountFormRef let-popover="popover">
<h2>{{"labels.heading.Create GL account" | translate}}</h2>
<p class="mw400">{{"labels.text.Filling Details" | translate}} <a href="https://mifosforge.jira.com/wiki/spaces/docs/pages/67141745/Chart+of+Accounts+-+General+Ledger+Setup" target="_blank">{{"labels.inputs.Chart of Accounts" | translate}}</a></p>
<p class="mw400">{{"labels.text.Filling Details" | translate}} <a
href="https://mifosforge.jira.com/wiki/spaces/docs/pages/67141745/Chart+of+Accounts+-+General+Ledger+Setup"
target="_blank">{{"labels.inputs.Chart of Accounts" | translate}}</a></p>
<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="primary" (click)="popover.close()">{{"labels.buttons.Create GL Account" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();previousStep()">{{"labels.buttons.Back" | translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();nextStep()">{{"labels.buttons.Next" | translate}}</button>
<button mat-raised-button color="warn"
(click)="popover.close();configurationWizardService.closeConfigWizard()">{{"labels.buttons.Close" |
translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close()">{{"labels.buttons.Create GL Account" |
translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();previousStep()">{{"labels.buttons.Back" |
translate}}</button>
<button mat-raised-button color="primary" (click)="popover.close();nextStep()">{{"labels.buttons.Next" |
translate}}</button>
</div>
</ng-template>
</ng-template>
@@ -57,12 +57,12 @@ export class CreateGlAccountComponent implements OnInit, AfterViewInit {
* @param {Matdialog} dialog Matdialog.
*/
constructor(private formBuilder: UntypedFormBuilder,
private accountingService: AccountingService,
private route: ActivatedRoute,
private router: Router,
private configurationWizardService: ConfigurationWizardService,
private popoverService: PopoverService,
public dialog: MatDialog) {
private accountingService: AccountingService,
private route: ActivatedRoute,
private router: Router,
private configurationWizardService: ConfigurationWizardService,
private popoverService: PopoverService,
public dialog: MatDialog) {
this.route.queryParamMap.subscribe(params => {
this.accountTypeId = Number(params.get('accountType'));
this.parentId = Number(params.get('parent'));
@@ -97,7 +97,7 @@ export class CreateGlAccountComponent implements OnInit, AfterViewInit {
'glCode': ['', Validators.required],
'parentId': [this.parentId || undefined],
'tagId': [''],
'manualEntriesAllowed': [true, Validators.required],
'manualEntriesAllowed': [true],
'description': ['']
});
}
@@ -109,20 +109,20 @@ export class CreateGlAccountComponent implements OnInit, AfterViewInit {
this.glAccountForm.get('type').valueChanges.subscribe(accountTypeId => {
switch (accountTypeId) {
case 1: this.parentData = this.chartOfAccountsData.assetHeaderAccountOptions;
this.tagData = this.chartOfAccountsData.allowedAssetsTagOptions;
break;
this.tagData = this.chartOfAccountsData.allowedAssetsTagOptions;
break;
case 2: this.parentData = this.chartOfAccountsData.liabilityHeaderAccountOptions;
this.tagData = this.chartOfAccountsData.allowedLiabilitiesTagOptions;
break;
this.tagData = this.chartOfAccountsData.allowedLiabilitiesTagOptions;
break;
case 3: this.parentData = this.chartOfAccountsData.equityHeaderAccountOptions;
this.tagData = this.chartOfAccountsData.allowedEquityTagOptions;
break;
this.tagData = this.chartOfAccountsData.allowedEquityTagOptions;
break;
case 4: this.parentData = this.chartOfAccountsData.incomeHeaderAccountOptions;
this.tagData = this.chartOfAccountsData.allowedIncomeTagOptions;
break;
this.tagData = this.chartOfAccountsData.allowedIncomeTagOptions;
break;
case 5: this.parentData = this.chartOfAccountsData.expenseHeaderAccountOptions;
this.tagData = this.chartOfAccountsData.allowedExpensesTagOptions;
break;
this.tagData = this.chartOfAccountsData.allowedExpensesTagOptions;
break;
}
});
@@ -188,25 +188,25 @@ export class CreateGlAccountComponent implements OnInit, AfterViewInit {
* Opens dialog if the user wants to create more accounts.
*/
openDialog() {
const continueSetupDialogRef = this.dialog.open(ContinueSetupDialogComponent, {
data: {
stepName: 'GL account'
},
});
const continueSetupDialogRef = this.dialog.open(ContinueSetupDialogComponent, {
data: {
stepName: 'GL account'
},
});
continueSetupDialogRef.afterClosed().subscribe((response: { step: number }) => {
if (response.step === 1) {
this.configurationWizardService.showChartofAccountsForm = false;
this.router.navigate(['../'], { relativeTo: this.route });
} else if (response.step === 2) {
this.configurationWizardService.showChartofAccountsForm = true;
this.router.routeReuseStrategy.shouldReuseRoute = () => false;
this.router.onSameUrlNavigation = 'reload';
this.router.navigate(['/accounting/chart-of-accounts/gl-accounts/create']);
} else if (response.step === 3) {
this.configurationWizardService.showChartofAccountsForm = false;
this.configurationWizardService.showAccountsLinked = true;
this.router.navigate(['/accounting']);
}
this.configurationWizardService.showChartofAccountsForm = false;
this.router.navigate(['../'], { relativeTo: this.route });
} else if (response.step === 2) {
this.configurationWizardService.showChartofAccountsForm = true;
this.router.routeReuseStrategy.shouldReuseRoute = () => false;
this.router.onSameUrlNavigation = 'reload';
this.router.navigate(['/accounting/chart-of-accounts/gl-accounts/create']);
} else if (response.step === 3) {
this.configurationWizardService.showChartofAccountsForm = false;
this.configurationWizardService.showAccountsLinked = true;
this.router.navigate(['/accounting']);
}
});
}
}