diff --git a/src/app/savings/savings-account-view/custom-dialogs/calculate-interest-dialog/calculate-interest-dialog.component.ts b/src/app/savings/savings-account-view/custom-dialogs/calculate-interest-dialog/calculate-interest-dialog.component.ts index f0f834200..02593c510 100644 --- a/src/app/savings/savings-account-view/custom-dialogs/calculate-interest-dialog/calculate-interest-dialog.component.ts +++ b/src/app/savings/savings-account-view/custom-dialogs/calculate-interest-dialog/calculate-interest-dialog.component.ts @@ -14,7 +14,6 @@ export class CalculateInterestDialogComponent { /** * @param {MatDialogRef} dialogRef Component reference to dialog. - * @param {any} data savings account id. */ constructor(public dialogRef: MatDialogRef) { } diff --git a/src/app/savings/savings-account-view/custom-dialogs/post-interest-dialog/post-interest-dialog.component.html b/src/app/savings/savings-account-view/custom-dialogs/post-interest-dialog/post-interest-dialog.component.html new file mode 100644 index 000000000..759431177 --- /dev/null +++ b/src/app/savings/savings-account-view/custom-dialogs/post-interest-dialog/post-interest-dialog.component.html @@ -0,0 +1,8 @@ +

Post Interest

+
+

Are you sure you want to post interest ?

+
+ + + + diff --git a/src/app/savings/savings-account-view/custom-dialogs/post-interest-dialog/post-interest-dialog.component.scss b/src/app/savings/savings-account-view/custom-dialogs/post-interest-dialog/post-interest-dialog.component.scss new file mode 100644 index 000000000..e69de29bb diff --git a/src/app/savings/savings-account-view/custom-dialogs/post-interest-dialog/post-interest-dialog.component.spec.ts b/src/app/savings/savings-account-view/custom-dialogs/post-interest-dialog/post-interest-dialog.component.spec.ts new file mode 100644 index 000000000..f8acdff28 --- /dev/null +++ b/src/app/savings/savings-account-view/custom-dialogs/post-interest-dialog/post-interest-dialog.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { PostInterestDialogComponent } from './post-interest-dialog.component'; + +describe('PostInterestDialogComponent', () => { + let component: PostInterestDialogComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ PostInterestDialogComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(PostInterestDialogComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/savings/savings-account-view/custom-dialogs/post-interest-dialog/post-interest-dialog.component.ts b/src/app/savings/savings-account-view/custom-dialogs/post-interest-dialog/post-interest-dialog.component.ts new file mode 100644 index 000000000..691c724eb --- /dev/null +++ b/src/app/savings/savings-account-view/custom-dialogs/post-interest-dialog/post-interest-dialog.component.ts @@ -0,0 +1,20 @@ +/** Angular Imports */ +import { Component } from '@angular/core'; +import { MatDialogRef } from '@angular/material'; + +/** + * Post interest dialog component. + */ +@Component({ + selector: 'mifosx-post-interest-dialog', + templateUrl: './post-interest-dialog.component.html', + styleUrls: ['./post-interest-dialog.component.scss'] +}) +export class PostInterestDialogComponent { + + /** + * @param {MatDialogRef} dialogRef Component reference to dialog. + */ + constructor(public dialogRef: MatDialogRef) { } + +} diff --git a/src/app/savings/savings-account-view/savings-account-view.component.ts b/src/app/savings/savings-account-view/savings-account-view.component.ts index bbf205354..9dbf3ded5 100644 --- a/src/app/savings/savings-account-view/savings-account-view.component.ts +++ b/src/app/savings/savings-account-view/savings-account-view.component.ts @@ -6,6 +6,7 @@ import { MatDialog } from '@angular/material'; /** Custom Dialogs */ import { DeleteDialogComponent } from 'app/shared/delete-dialog/delete-dialog.component'; import { CalculateInterestDialogComponent } from './custom-dialogs/calculate-interest-dialog/calculate-interest-dialog.component'; +import { PostInterestDialogComponent } from './custom-dialogs/post-interest-dialog/post-interest-dialog.component'; /** Custom Buttons Configuration */ import { SavingsButtonsConfiguration } from './savings-buttons.config'; @@ -97,6 +98,10 @@ export class SavingsAccountViewComponent implements OnInit { } } + /** + * Performs action button/option action. + * @param {string} name action name. + */ doAction(name: string) { switch (name) { case 'Approve': @@ -118,6 +123,9 @@ export class SavingsAccountViewComponent implements OnInit { case 'Calculate Interest': this.calculateInterest(); break; + case 'Post Interest': + this.postInterest(); + break; } } @@ -151,6 +159,20 @@ export class SavingsAccountViewComponent implements OnInit { }); } + /** + * Posts savings account's interest + */ + private postInterest() { + const postInterestAccountDialogRef = this.dialog.open(PostInterestDialogComponent); + postInterestAccountDialogRef.afterClosed().subscribe((response: any) => { + if (response.confirm) { + this.savingsService.executeSavingsAccountCommand(this.savingsAccountData.id, 'postInterest', {}).subscribe(() => { + this.reload(); + }); + } + }); + } + /** * Refetches data fot the component * TODO: Replace by a custom reload component instead of hard-coded back-routing. diff --git a/src/app/savings/savings.module.ts b/src/app/savings/savings.module.ts index 1d862f664..2f005d324 100644 --- a/src/app/savings/savings.module.ts +++ b/src/app/savings/savings.module.ts @@ -34,6 +34,7 @@ import { PostInterestAsOnSavingsAccountComponent } from './saving-account-action import { SavingsAccountAssignStaffComponent } from './saving-account-actions/savings-account-assign-staff/savings-account-assign-staff.component'; import { SavingsAccountUnassignStaffComponent } from './saving-account-actions/savings-account-unassign-staff/savings-account-unassign-staff.component'; import { CalculateInterestDialogComponent } from './savings-account-view/custom-dialogs/calculate-interest-dialog/calculate-interest-dialog.component'; +import { PostInterestDialogComponent } from './savings-account-view/custom-dialogs/post-interest-dialog/post-interest-dialog.component'; /** * Savings Module @@ -72,10 +73,12 @@ import { CalculateInterestDialogComponent } from './savings-account-view/custom- PostInterestAsOnSavingsAccountComponent, SavingsAccountAssignStaffComponent, SavingsAccountUnassignStaffComponent, - CalculateInterestDialogComponent + CalculateInterestDialogComponent, + PostInterestDialogComponent ], entryComponents: [ - CalculateInterestDialogComponent + CalculateInterestDialogComponent, + PostInterestDialogComponent ], providers: [DatePipe] })