diff --git a/src/app/accounting/accounting-routing.module.ts b/src/app/accounting/accounting-routing.module.ts index 5df66c81d..e70c84c63 100644 --- a/src/app/accounting/accounting-routing.module.ts +++ b/src/app/accounting/accounting-routing.module.ts @@ -7,6 +7,7 @@ import { FrequentPostingsComponent } from './frequent-postings/frequent-postings import { ViewTransactionComponent } from './view-transaction/view-transaction.component'; import { CreateJournalEntryComponent } from './create-journal-entry/create-journal-entry.component'; import { SearchJournalEntryComponent } from './search-journal-entry/search-journal-entry.component'; +import { FinancialActivityMappingsComponent } from './financial-activity-mappings/financial-activity-mappings.component'; const routes: Routes = [ Route.withShell([ @@ -43,6 +44,11 @@ const routes: Routes = [ path: 'journal-entries/create', component: CreateJournalEntryComponent, data: { title: extract('Create Journal Entry'), breadcrumb: 'Create Journal Entry' } + }, + { + path: 'financial-activity-mappings', + component: FinancialActivityMappingsComponent, + data: { title: extract('Financial Activity Mappings'), breadcrumb: 'Financial Activity Mappings' } } ] } diff --git a/src/app/accounting/accounting.component.html b/src/app/accounting/accounting.component.html index 67a179cc3..d9e694bd3 100644 --- a/src/app/accounting/accounting.component.html +++ b/src/app/accounting/accounting.component.html @@ -24,11 +24,9 @@

Advanced search option for journal entries

- + link - - Accounts Linked to Financial Activities - +

Accounts Linked to Financial Activities

List of Financial Activities and GL Account Mappings

diff --git a/src/app/accounting/accounting.module.ts b/src/app/accounting/accounting.module.ts index 0907620b0..8e3cc6f14 100644 --- a/src/app/accounting/accounting.module.ts +++ b/src/app/accounting/accounting.module.ts @@ -11,6 +11,7 @@ import { RevertTransactionComponent } from './revert-transaction/revert-transact import { ViewJournalEntryComponent } from './view-journal-entry/view-journal-entry.component'; import { CreateJournalEntryComponent } from './create-journal-entry/create-journal-entry.component'; import { SearchJournalEntryComponent } from './search-journal-entry/search-journal-entry.component'; +import { FinancialActivityMappingsComponent } from './financial-activity-mappings/financial-activity-mappings.component'; @NgModule({ imports: [ @@ -26,7 +27,8 @@ import { SearchJournalEntryComponent } from './search-journal-entry/search-journ RevertTransactionComponent, ViewJournalEntryComponent, CreateJournalEntryComponent, - SearchJournalEntryComponent + SearchJournalEntryComponent, + FinancialActivityMappingsComponent ], entryComponents: [ RevertTransactionComponent, diff --git a/src/app/accounting/accounting.service.ts b/src/app/accounting/accounting.service.ts index 7b7413b13..1511b30fb 100644 --- a/src/app/accounting/accounting.service.ts +++ b/src/app/accounting/accounting.service.ts @@ -71,4 +71,8 @@ export class AccountingService { return this.http.get(`/glaccounts`, { params: httpParams }); } + getFinancialActivityAccounts() { + return this.http.get('/financialactivityaccounts'); + } + } diff --git a/src/app/accounting/financial-activity-mappings/financial-activity-mappings.component.html b/src/app/accounting/financial-activity-mappings/financial-activity-mappings.component.html new file mode 100644 index 000000000..5b86a279f --- /dev/null +++ b/src/app/accounting/financial-activity-mappings/financial-activity-mappings.component.html @@ -0,0 +1,33 @@ +
+ +
+ +
+ + + + + + + + + + + + + + + + + + + + + +
Financial Activity {{ financialActivityAccount.financialActivityData.name }} Account Name {{ financialActivityAccount.glAccountData.name }} Account Code {{ financialActivityAccount.glAccountData.glCode }}
+ + + +
diff --git a/src/app/accounting/financial-activity-mappings/financial-activity-mappings.component.scss b/src/app/accounting/financial-activity-mappings/financial-activity-mappings.component.scss new file mode 100644 index 000000000..1922e7ffa --- /dev/null +++ b/src/app/accounting/financial-activity-mappings/financial-activity-mappings.component.scss @@ -0,0 +1,3 @@ +table { + width: 100%; +} diff --git a/src/app/accounting/financial-activity-mappings/financial-activity-mappings.component.spec.ts b/src/app/accounting/financial-activity-mappings/financial-activity-mappings.component.spec.ts new file mode 100644 index 000000000..15f238365 --- /dev/null +++ b/src/app/accounting/financial-activity-mappings/financial-activity-mappings.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { FinancialActivityMappingsComponent } from './financial-activity-mappings.component'; + +describe('FinancialActivityMappingsComponent', () => { + let component: FinancialActivityMappingsComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ FinancialActivityMappingsComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(FinancialActivityMappingsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/accounting/financial-activity-mappings/financial-activity-mappings.component.ts b/src/app/accounting/financial-activity-mappings/financial-activity-mappings.component.ts new file mode 100644 index 000000000..75b9a15d8 --- /dev/null +++ b/src/app/accounting/financial-activity-mappings/financial-activity-mappings.component.ts @@ -0,0 +1,42 @@ +import { Component, OnInit, ViewChild } from '@angular/core'; +import { MatTableDataSource, MatPaginator, MatSort } from '@angular/material'; + +import { AccountingService } from '../accounting.service'; + +@Component({ + selector: 'mifosx-financial-activity-mappings', + templateUrl: './financial-activity-mappings.component.html', + styleUrls: ['./financial-activity-mappings.component.scss'] +}) +export class FinancialActivityMappingsComponent implements OnInit { + + displayedColumns: string[] = ['financialActivity', 'glAccountName', 'glAccountCode']; + dataSource: any; + + @ViewChild(MatPaginator) paginator: MatPaginator; + @ViewChild(MatSort) sort: MatSort; + + constructor(private accountingService: AccountingService) { } + + ngOnInit() { + this.getFinancialActivityAccounts(); + } + + getFinancialActivityAccounts() { + this.accountingService.getFinancialActivityAccounts().subscribe((financialActivityAccounts: any) => { + this.dataSource = new MatTableDataSource(financialActivityAccounts); + this.dataSource.paginator = this.paginator; + this.dataSource.sortingDataAccessor = (financialActivityAccount: any, property: any) => { + switch (property) { + case 'financialActivity': return financialActivityAccount.financialActivityData.name; + case 'glAccountName': return financialActivityAccount.glAccountData.name; + case 'glAccountCode': return financialActivityAccount.glAccountData.glCode; + default: return financialActivityAccount[property]; + } + }; + this.dataSource.sort = this.sort; + console.log(financialActivityAccounts); + }); + } + +}