From ad433d01803add62f0d332e21a00c5e6d8560772 Mon Sep 17 00:00:00 2001 From: Suppakit Waiwitlikhit Date: Tue, 3 Dec 2019 23:26:15 +0000 Subject: [PATCH] feat: add organization component - Add organization component - Add organization module Fixes #323 --- src/app/app.module.ts | 2 + .../core/shell/toolbar/toolbar.component.html | 2 +- .../organization-routing.module.ts | 40 +++++ .../organization/organization.component.html | 164 ++++++++++++++++++ .../organization/organization.component.scss | 0 .../organization.component.spec.ts | 25 +++ .../organization/organization.component.ts | 19 ++ src/app/organization/organization.module.ts | 25 +++ src/app/shared/icons.module.ts | 8 + 9 files changed, 284 insertions(+), 1 deletion(-) create mode 100644 src/app/organization/organization-routing.module.ts create mode 100644 src/app/organization/organization.component.html create mode 100644 src/app/organization/organization.component.scss create mode 100644 src/app/organization/organization.component.spec.ts create mode 100644 src/app/organization/organization.component.ts create mode 100644 src/app/organization/organization.module.ts diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 3668474fc..66daab63c 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -33,6 +33,7 @@ import { AccountingModule } from './accounting/accounting.module'; import { SelfServiceModule } from './self-service/self-service.module'; import { SystemModule } from './system/system.module'; import { ProductsModule } from './products/products.module'; +import { OrganizationModule } from './organization/organization.module'; @@ -64,6 +65,7 @@ import { AppRoutingModule } from './app-routing.module'; SelfServiceModule, SystemModule, ProductsModule, + OrganizationModule, AppRoutingModule, ], declarations: [WebAppComponent, NotFoundComponent], diff --git a/src/app/core/shell/toolbar/toolbar.component.html b/src/app/core/shell/toolbar/toolbar.component.html index f9adc4caf..2ffee1563 100644 --- a/src/app/core/shell/toolbar/toolbar.component.html +++ b/src/app/core/shell/toolbar/toolbar.component.html @@ -101,7 +101,7 @@ - + diff --git a/src/app/organization/organization-routing.module.ts b/src/app/organization/organization-routing.module.ts new file mode 100644 index 000000000..a7abd697c --- /dev/null +++ b/src/app/organization/organization-routing.module.ts @@ -0,0 +1,40 @@ +/** Angular Imports */ +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; + +/** Routing Imports */ +import { Route } from '../core/route/route.service'; + +/** Translation Imports */ +import { extract } from '../core/i18n/i18n.service'; + +/** Custom Components */ +import { OrganizationComponent } from './organization.component'; + +/** Organization Routes */ +const routes: Routes = [ + Route.withShell([ + { + path: 'organization', + data: { title: extract('Organization'), breadcrumb: 'Organization' }, + children: [ + { + path: '', + component: OrganizationComponent + } + ] + } + ]) +]; + +/** + * Organization Routing Module + * + * Configures the organization routes. + */ +@NgModule({ + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], + providers: [] +}) +export class OrganizationRoutingModule { } diff --git a/src/app/organization/organization.component.html b/src/app/organization/organization.component.html new file mode 100644 index 000000000..c44bf6b89 --- /dev/null +++ b/src/app/organization/organization.component.html @@ -0,0 +1,164 @@ +
+ + + +
+ +
+ + + + + + + +

Manage Offices

+

Add new office or modify or deactivate office or modify hierarchy

+
+ + + + + +

Manage Holidays

+

Define holidays for office

+
+ + + + + +

Manage Employees

+

An employee represents loan officers with no access to systems

+
+ + + + + +

Standing Instructions History

+

View logged history of standing instructions

+
+ + + + + +

Fund Mapping

+

Bulk entry screen for mapping fund sources to loans

+
+ + + + + +

Password Preferences

+

Define standards for enforcing the usage of stronger passwords

+
+ + + + + +

Loan Provisioning Criteria

+

Define Loan Provisioning Criteria for Organization

+
+ + + + + +

Entity Data Table Checks

+

Define Entity Data Table Checks for Organization

+
+ +
+ +
+ +
+ + + + + + + +

Currency Configuration

+

Currencies available across organization for different products

+
+ + + + + + +

Manage Funds

+

Funds are associated with loans

+
+ + + + + +

Bulk Loan Reassignment

+

Easy way to reassign all the loan from one LO to another LO

+
+ + + + + +

Teller / Cashier Management

+

Manage Tellers / Cashiers and Cash Allocation and Settlement

+
+ + + + + +

Working Days

+

Define working days and configure behaviour of payments due on holidays

+
+ + + + + +

Payment Type

+

Manage payment types

+
+ + + + + +

SMS Campaigns

+

Define SMS Campaigns for Organization

+
+ + + + + +

AdHocQuery

+

Define AdHocQuery for Organization

+
+ + + + + +

Bulk Import

+

Bulk data import using excel spreadsheet templates for clients, offices, etc.

+
+ +
+ +
+ +
+ +
+ +
diff --git a/src/app/organization/organization.component.scss b/src/app/organization/organization.component.scss new file mode 100644 index 000000000..e69de29bb diff --git a/src/app/organization/organization.component.spec.ts b/src/app/organization/organization.component.spec.ts new file mode 100644 index 000000000..928b99cc1 --- /dev/null +++ b/src/app/organization/organization.component.spec.ts @@ -0,0 +1,25 @@ +import { async, ComponentFixture, TestBed } from '@angular/core/testing'; + +import { OrganizationComponent } from './organization.component'; + +describe('OrganizationComponent', () => { + let component: OrganizationComponent; + let fixture: ComponentFixture; + + beforeEach(async(() => { + TestBed.configureTestingModule({ + declarations: [ OrganizationComponent ] + }) + .compileComponents(); + })); + + beforeEach(() => { + fixture = TestBed.createComponent(OrganizationComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/organization/organization.component.ts b/src/app/organization/organization.component.ts new file mode 100644 index 000000000..46e746deb --- /dev/null +++ b/src/app/organization/organization.component.ts @@ -0,0 +1,19 @@ +/** Angular Imports */ +import { Component, OnInit } from '@angular/core'; + +/** + * Organization component. + */ +@Component({ + selector: 'mifosx-products', + templateUrl: './organization.component.html', + styleUrls: ['./organization.component.scss'] +}) +export class OrganizationComponent implements OnInit { + + constructor() { } + + ngOnInit() { + } + +} diff --git a/src/app/organization/organization.module.ts b/src/app/organization/organization.module.ts new file mode 100644 index 000000000..701660ee3 --- /dev/null +++ b/src/app/organization/organization.module.ts @@ -0,0 +1,25 @@ +/** Angular Imports */ +import { NgModule } from '@angular/core'; + +/** Custom Modules */ +import { SharedModule } from '../shared/shared.module'; +import { OrganizationRoutingModule } from './organization-routing.module'; + +/** Custom Components */ +import { OrganizationComponent } from './organization.component'; + +/** + * Organization Module + * + * Organization components should be declared here. + */ +@NgModule({ + imports: [ + SharedModule, + OrganizationRoutingModule + ], + declarations: [ + OrganizationComponent + ] +}) +export class OrganizationModule { } diff --git a/src/app/shared/icons.module.ts b/src/app/shared/icons.module.ts index 84db67a3d..4a5e9330d 100644 --- a/src/app/shared/icons.module.ts +++ b/src/app/shared/icons.module.ts @@ -11,9 +11,11 @@ import { faArrowRight, faBars, faBell, + faBook, faBriefcase, faBuilding, faCalendar, + faCalendarAlt, faChartBar, faCheck, faCheckCircle, @@ -26,6 +28,7 @@ import { faCog, faCogs, faCommentAlt, + faDollarSign, faEdit, faEnvelope, faExclamationCircle, @@ -69,6 +72,7 @@ import { faUndo, faUniversity, faUserCircle, + faUser, faUsers, faUserShield, faDownload, @@ -88,9 +92,11 @@ library.add( faArrowRight, faBars, faBell, + faBook, faBriefcase, faBuilding, faCalendar, + faCalendarAlt, faChartBar, faCheck, faCheckCircle, @@ -103,6 +109,7 @@ library.add( faCog, faCogs, faCommentAlt, + faDollarSign, faEdit, faEnvelope, faExclamationCircle, @@ -146,6 +153,7 @@ library.add( faUndo, faUniversity, faUserCircle, + faUser, faUsers, faUserShield, faDownload,