diff --git a/src/app/core/core.module.ts b/src/app/core/core.module.ts
index 15108fce3..d259563de 100644
--- a/src/app/core/core.module.ts
+++ b/src/app/core/core.module.ts
@@ -11,7 +11,6 @@ import { AuthenticationService } from './authentication/authentication.service';
import { HttpService } from './http/http.service';
import { HttpCacheService } from './http/http-cache.service';
import { ProgressBarService } from './progress-bar/progress-bar.service';
-import { I18nService } from './i18n/i18n.service';
/** Custom Guards */
import { AuthenticationGuard } from './authentication/authentication.guard';
@@ -68,7 +67,6 @@ import { ContentComponent } from './shell/content/content.component';
useClass: AuthenticationInterceptor,
multi: true
},
- I18nService,
HttpCacheService,
ApiPrefixInterceptor,
ErrorHandlerInterceptor,
diff --git a/src/app/core/i18n/i18n.service.spec.ts b/src/app/core/i18n/i18n.service.spec.ts
deleted file mode 100644
index 0d6025c47..000000000
--- a/src/app/core/i18n/i18n.service.spec.ts
+++ /dev/null
@@ -1,153 +0,0 @@
-// import { TestBed, inject } from '@angular/core/testing';
-
-// import { TranslateService, LangChangeEvent } from '@ngx-translate/core';
-// import { Subject } from 'rxjs';
-
-// import { extract, I18nService } from './i18n.service';
-
-// const defaultLanguage = 'en-US';
-// const supportedLanguages = ['eo', 'en-US', 'fr-FR'];
-
-// class MockTranslateService {
-
-// currentLang: string;
-// onLangChange = new Subject();
-
-// use(language: string) {
-// this.currentLang = language;
-// this.onLangChange.next({
-// lang: this.currentLang,
-// translations: {}
-// });
-// }
-
-// getBrowserCultureLang() {
-// return 'en-US';
-// }
-
-// setTranslation(lang: string, translations: Object, shouldMerge?: boolean) { }
-
-// }
-
-// describe('I18nService', () => {
-// let i18nService: I18nService;
-// let translateService: TranslateService;
-// let onLangChangeSpy: jasmine.Spy;
-
-// beforeEach(() => {
-// TestBed.configureTestingModule({
-// providers: [
-// I18nService,
-// { provide: TranslateService, useClass: MockTranslateService },
-// ]
-// });
-// });
-
-// beforeEach(inject([
-// I18nService,
-// TranslateService
-// ], (_i18nService: I18nService,
-// _translateService: TranslateService) => {
-
-// i18nService = _i18nService;
-// translateService = _translateService;
-
-// // Create spies
-// onLangChangeSpy = jasmine.createSpy('onLangChangeSpy');
-// translateService.onLangChange
-// .subscribe((event: LangChangeEvent) => {
-// onLangChangeSpy(event.lang);
-// });
-// spyOn(translateService, 'use').and.callThrough();
-// }));
-
-// afterEach(() => {
-// // Cleanup
-// localStorage.removeItem('language');
-// });
-
-// describe('extract', () => {
-// it('should not modify string', () => {
-// expect(extract('Hello world !')).toEqual('Hello world !');
-// });
-// });
-
-// describe('init', () => {
-// it('should init with default language', () => {
-// // Act
-// i18nService.init(defaultLanguage, supportedLanguages);
-
-// // Assert
-// expect(translateService.use).toHaveBeenCalledWith(defaultLanguage);
-// expect(onLangChangeSpy).toHaveBeenCalledWith(defaultLanguage);
-// });
-
-// it('should init with save language', () => {
-// // Arrange
-// const savedLanguage = 'eo';
-// localStorage.setItem('language', savedLanguage);
-
-// // Act
-// i18nService.init(defaultLanguage, supportedLanguages);
-
-// // Assert
-// expect(translateService.use).toHaveBeenCalledWith(savedLanguage);
-// expect(onLangChangeSpy).toHaveBeenCalledWith(savedLanguage);
-// });
-// });
-
-// describe('set language', () => {
-// it('should change current language', () => {
-// // Arrange
-// const newLanguage = 'eo';
-// i18nService.init(defaultLanguage, supportedLanguages);
-
-// // Act
-// i18nService.language = newLanguage;
-
-// // Assert
-// expect(translateService.use).toHaveBeenCalledWith(newLanguage);
-// expect(onLangChangeSpy).toHaveBeenCalledWith(newLanguage);
-// });
-
-// it('should change current language without a region match', () => {
-// // Arrange
-// const newLanguage = 'fr-CA';
-// i18nService.init(defaultLanguage, supportedLanguages);
-
-// // Act
-// i18nService.language = newLanguage;
-
-// // Assert
-// expect(translateService.use).toHaveBeenCalledWith('fr-FR');
-// expect(onLangChangeSpy).toHaveBeenCalledWith('fr-FR');
-// });
-
-// it('should change current language to default if unsupported', () => {
-// // Arrange
-// const newLanguage = 'es';
-// i18nService.init(defaultLanguage, supportedLanguages);
-
-// // Act
-// i18nService.language = newLanguage;
-
-// // Assert
-// expect(translateService.use).toHaveBeenCalledWith(defaultLanguage);
-// expect(onLangChangeSpy).toHaveBeenCalledWith(defaultLanguage);
-// });
-// });
-
-// describe('get language', () => {
-// it('should return current language', () => {
-// // Arrange
-// i18nService.init(defaultLanguage, supportedLanguages);
-
-// // Act
-// const currentLanguage = i18nService.language;
-
-// // Assert
-// expect(currentLanguage).toEqual(defaultLanguage);
-// });
-// });
-
-// });
diff --git a/src/app/core/shell/content/content.component.scss b/src/app/core/shell/content/content.component.scss
index 884bccc46..fad23df7c 100644
--- a/src/app/core/shell/content/content.component.scss
+++ b/src/app/core/shell/content/content.component.scss
@@ -1,2 +1,9 @@
-mifosx-content { min-height: 100%; height: auto !important; height: 100%; margin: 0 auto -30px; }
-#push { height:30px;}
+mifosx-content {
+ min-height: 100%;
+ height: auto !important;
+ height: 100%;
+ margin: 0 auto -30px;
+}
+#push {
+ height: 30px;
+}
diff --git a/src/app/products/loan-products/create-loan-product/create-loan-product.component.ts b/src/app/products/loan-products/create-loan-product/create-loan-product.component.ts
index f2a57724c..03e0e14bc 100644
--- a/src/app/products/loan-products/create-loan-product/create-loan-product.component.ts
+++ b/src/app/products/loan-products/create-loan-product/create-loan-product.component.ts
@@ -48,12 +48,16 @@ export class CreateLoanProductComponent implements OnInit {
const assetAccountData = this.loanProductsTemplate.accountingMappingOptions.assetAccountOptions || [];
const liabilityAccountData = this.loanProductsTemplate.accountingMappingOptions.liabilityAccountOptions || [];
this.loanProductsTemplate.accountingMappingOptions.assetAndLiabilityAccountOptions = assetAccountData.concat(liabilityAccountData);
+ const itemsByDefault: string[] = [];
data.configurations.globalConfiguration.forEach((config: GlobalConfiguration) => {
if (config.name === 'days-before-repayment-is-due') {
this.loanProductsTemplate['dueDaysForRepaymentEvent'] = config.value;
+ itemsByDefault.push('dueDaysForRepaymentEvent');
} else if (config.name === 'days-after-repayment-is-overdue') {
this.loanProductsTemplate['overDueDaysForRepaymentEvent'] = config.value;
+ itemsByDefault.push('overDueDaysForRepaymentEvent');
}
+ this.loanProductsTemplate['itemsByDefault'] = itemsByDefault;
});
});
}
diff --git a/src/app/products/loan-products/edit-loan-product/edit-loan-product.component.ts b/src/app/products/loan-products/edit-loan-product/edit-loan-product.component.ts
index 2b783825d..e941cffb0 100644
--- a/src/app/products/loan-products/edit-loan-product/edit-loan-product.component.ts
+++ b/src/app/products/loan-products/edit-loan-product/edit-loan-product.component.ts
@@ -48,16 +48,20 @@ export class EditLoanProductComponent implements OnInit {
const assetAccountData = this.loanProductAndTemplate.accountingMappingOptions.assetAccountOptions || [];
const liabilityAccountData = this.loanProductAndTemplate.accountingMappingOptions.liabilityAccountOptions || [];
this.loanProductAndTemplate.accountingMappingOptions.assetAndLiabilityAccountOptions = assetAccountData.concat(liabilityAccountData);
+ const itemsByDefault: string[] = [];
data.configurations.globalConfiguration.forEach((config: GlobalConfiguration) => {
if (config.name === 'days-before-repayment-is-due') {
if (this.loanProductAndTemplate['dueDaysForRepaymentEvent'] == null) {
this.loanProductAndTemplate['dueDaysForRepaymentEvent'] = config.value;
+ itemsByDefault.push('dueDaysForRepaymentEvent');
}
} else if (config.name === 'days-after-repayment-is-overdue') {
if (this.loanProductAndTemplate['overDueDaysForRepaymentEvent'] == null) {
this.loanProductAndTemplate['overDueDaysForRepaymentEvent'] = config.value;
+ itemsByDefault.push('overDueDaysForRepaymentEvent');
}
}
+ this.loanProductAndTemplate['itemsByDefault'] = itemsByDefault;
});
});
}
diff --git a/src/app/products/loan-products/loan-product-stepper/loan-product-settings-step/loan-product-settings-step.component.html b/src/app/products/loan-products/loan-product-stepper/loan-product-settings-step/loan-product-settings-step.component.html
index 13b0fce5a..8c388376a 100644
--- a/src/app/products/loan-products/loan-product-stepper/loan-product-settings-step/loan-product-settings-step.component.html
+++ b/src/app/products/loan-products/loan-product-stepper/loan-product-settings-step/loan-product-settings-step.component.html
@@ -416,16 +416,17 @@