diff --git a/src/app/loans/loans-routing.module.ts b/src/app/loans/loans-routing.module.ts
index d21e3dd94..1fe82ff30 100644
--- a/src/app/loans/loans-routing.module.ts
+++ b/src/app/loans/loans-routing.module.ts
@@ -60,6 +60,7 @@ import { ExternalAssetOwnerActiveTransferResolver } from './common-resolvers/ext
import { LoanCollateralsResolver } from './common-resolvers/loan-collaterals.resolver';
import { LoanDelinquencyDataResolver } from './common-resolvers/loan-delinquency-data.resolver';
import { LoanDelinquencyActionsResolver } from './common-resolvers/loan-delinquency-actions.resolver';
+import { LoanTermVariationsTabComponent } from './loans-view/loan-term-variations-tab/loan-term-variations-tab.component';
/** Loans Route. */
const routes: Routes = [
@@ -165,6 +166,14 @@ const routes: Routes = [
loanCollaterals: LoanCollateralsResolver
}
},
+ {
+ path: 'term-variations',
+ component: LoanTermVariationsTabComponent,
+ data: { title: 'Loan Term Variations', breadcrumb: 'Loan Term Variations', routeParamBreadcrumb: false },
+ resolve: {
+ loanDetailsData: LoanDetailsResolver
+ },
+ },
{
path: 'loan-tranche-details',
component: LoanTrancheDetailsComponent,
diff --git a/src/app/loans/loans-view/loan-term-variations-tab/loan-term-variations-tab.component.html b/src/app/loans/loans-view/loan-term-variations-tab/loan-term-variations-tab.component.html
new file mode 100644
index 000000000..eadfbffa2
--- /dev/null
+++ b/src/app/loans/loans-view/loan-term-variations-tab/loan-term-variations-tab.component.html
@@ -0,0 +1,29 @@
+
+
+
{{"labels.heading.Term Variations" | translate}}
+
0">
+
+
+ | {{"labels.inputs.Type" | translate}} |
+ {{ item.termType.value | translate }} |
+
+
+
+ {{"labels.inputs.Added On" | translate}} |
+ {{ item.termVariationApplicableFrom | dateFormat }} |
+
+
+
+ {{"labels.inputs.Value" | translate}} |
+ {{ item.decimalValue | formatNumber }} |
+
+
+
+ {{"labels.inputs.Specific to Installment" | translate}} |
+ {{ item.isSpecificToInstallment | yesNo }} |
+
+
+
+
+
+
\ No newline at end of file
diff --git a/src/app/loans/loans-view/loan-term-variations-tab/loan-term-variations-tab.component.scss b/src/app/loans/loans-view/loan-term-variations-tab/loan-term-variations-tab.component.scss
new file mode 100644
index 000000000..81dfcf7e2
--- /dev/null
+++ b/src/app/loans/loans-view/loan-term-variations-tab/loan-term-variations-tab.component.scss
@@ -0,0 +1,12 @@
+table {
+ width: 100%;
+}
+
+.container {
+ padding-top: 1%;
+ padding-bottom: 2%;
+
+ .delete-button {
+ margin-left: 1%;
+ }
+}
\ No newline at end of file
diff --git a/src/app/loans/loans-view/loan-term-variations-tab/loan-term-variations-tab.component.spec.ts b/src/app/loans/loans-view/loan-term-variations-tab/loan-term-variations-tab.component.spec.ts
new file mode 100644
index 000000000..8a0f0050b
--- /dev/null
+++ b/src/app/loans/loans-view/loan-term-variations-tab/loan-term-variations-tab.component.spec.ts
@@ -0,0 +1,23 @@
+import { ComponentFixture, TestBed } from '@angular/core/testing';
+
+import { LoanTermVariationsTabComponent } from './loan-term-variations-tab.component';
+
+describe('LoanTermVariationsTabComponent', () => {
+ let component: LoanTermVariationsTabComponent;
+ let fixture: ComponentFixture;
+
+ beforeEach(async () => {
+ await TestBed.configureTestingModule({
+ declarations: [ LoanTermVariationsTabComponent ]
+ })
+ .compileComponents();
+
+ fixture = TestBed.createComponent(LoanTermVariationsTabComponent);
+ component = fixture.componentInstance;
+ fixture.detectChanges();
+ });
+
+ it('should create', () => {
+ expect(component).toBeTruthy();
+ });
+});
diff --git a/src/app/loans/loans-view/loan-term-variations-tab/loan-term-variations-tab.component.ts b/src/app/loans/loans-view/loan-term-variations-tab/loan-term-variations-tab.component.ts
new file mode 100644
index 000000000..0e36cfd3b
--- /dev/null
+++ b/src/app/loans/loans-view/loan-term-variations-tab/loan-term-variations-tab.component.ts
@@ -0,0 +1,28 @@
+import { Component, OnInit } from '@angular/core';
+import { ActivatedRoute } from '@angular/router';
+
+@Component({
+ selector: 'mifosx-loan-term-variations-tab',
+ templateUrl: './loan-term-variations-tab.component.html',
+ styleUrls: ['./loan-term-variations-tab.component.scss']
+})
+export class LoanTermVariationsTabComponent implements OnInit {
+
+ /** Loan Details Data */
+ loanTermVariationsData: any[] = [];
+
+ loanId: number;
+
+ loanDTermVariationsColumns: string[] = ['termType', 'applicableFrom', 'value', 'specificToInstallment'];
+
+ constructor(private route: ActivatedRoute) {
+ this.route.parent.data.subscribe((data: { loanDetailsData: any, }) => {
+ this.loanTermVariationsData = data.loanDetailsData.loanTermVariations;
+ });
+ this.loanId = this.route.parent.parent.snapshot.params['loanId'];
+ }
+
+ ngOnInit(): void {
+ }
+
+}
diff --git a/src/app/loans/loans-view/loans-view.component.html b/src/app/loans/loans-view/loans-view.component.html
index f633328fa..5f9bfb9e2 100644
--- a/src/app/loans/loans-view/loans-view.component.html
+++ b/src/app/loans/loans-view/loans-view.component.html
@@ -173,6 +173,12 @@
{{"labels.inputs.Loan Tranche Details" | translate}}
+
+
+ {{"labels.inputs.Term Variations" | translate}}
+
+
0">
diff --git a/src/app/loans/loans.module.ts b/src/app/loans/loans.module.ts
index 314b41ba1..ac3a9a381 100644
--- a/src/app/loans/loans.module.ts
+++ b/src/app/loans/loans.module.ts
@@ -82,6 +82,7 @@ import { TranslateModule } from '@ngx-translate/core';
import { LoanDelinquencyActionDialogComponent } from './custom-dialog/loan-delinquency-action-dialog/loan-delinquency-action-dialog.component';
import { LoanReagingComponent } from './loans-view/loan-account-actions/loan-reaging/loan-reaging.component';
import { LoanReamortizeComponent } from './loans-view/loan-account-actions/loan-reamortize/loan-reamortize.component';
+import { LoanTermVariationsTabComponent } from './loans-view/loan-term-variations-tab/loan-term-variations-tab.component';
/**
* Loans Module
@@ -167,7 +168,8 @@ import { LoanReamortizeComponent } from './loans-view/loan-account-actions/loan-
ExternalAssetTransferComponent,
LoanDelinquencyActionDialogComponent,
LoanReagingComponent,
- LoanReamortizeComponent
+ LoanReamortizeComponent,
+ LoanTermVariationsTabComponent
],
providers: [ ],
})
diff --git a/src/assets/translations/cs-CS.json b/src/assets/translations/cs-CS.json
index 879d592dd..324dd62ad 100644
--- a/src/assets/translations/cs-CS.json
+++ b/src/assets/translations/cs-CS.json
@@ -1103,6 +1103,7 @@
"Template Parameters": "Parametry šablony",
"Term Options": "Možnosti období",
"Terms": "Podmínky",
+ "Term Variations": "Termínové variace",
"Total Withdrawals": "Celkové výběry",
"Transaction Details": "Detaily transakce",
"Transaction Reverted": "Transakce vrácena",
@@ -2224,6 +2225,7 @@
"Show Closed Centers": "Zobrazit uzavřená centra",
"Show Closed Groups": "Zobrazit uzavřené skupiny",
"Show Payment Details": "Zobrazit podrobnosti o platbě",
+ "Specific to Installment": "Specifické pro splátky",
"Staff": "Personál",
"Standing Instruction": "Stálý pokyn",
"Standing Instruction Type": "Typ trvalého pokynu",
@@ -2268,6 +2270,7 @@
"Tenant": "Nájemce",
"Tenant App Key": "Klíč aplikace nájemce",
"Tenant Id": "Id nájemce",
+ "Term Variations": "Termínové variace",
"Terms vary based on loan cycle": "Podmínky se liší v závislosti na cyklu půjčky",
"Text": "Text",
"Theme": "Téma",
diff --git a/src/assets/translations/de-DE.json b/src/assets/translations/de-DE.json
index 187dcb01d..14e501a7c 100644
--- a/src/assets/translations/de-DE.json
+++ b/src/assets/translations/de-DE.json
@@ -1104,6 +1104,7 @@
"Template Parameters": "Vorlagenparameter",
"Term Options": "Laufzeitoptionen",
"Terms": "Bedingungen",
+ "Term Variations": "Begriffsvariationen",
"Total Withdrawals": "Gesamtabhebungen",
"Transaction Details": "Transaktionsdetails",
"Transaction Reverted": "Transaktion rückgängig gemacht",
@@ -2224,6 +2225,7 @@
"Show Closed Centers": "Geschlossene Zentren anzeigen",
"Show Closed Groups": "Geschlossene Gruppen anzeigen",
"Show Payment Details": "Zahlungsdetails anzeigen",
+ "Specific to Installment": "Speziell für Ratenzahlung",
"Staff": "Personal",
"Standing Instruction": "Ständiger Unterricht",
"Standing Instruction Type": "Ständiger Instruktionstyp",
@@ -2268,6 +2270,7 @@
"Tenant": "Mieter",
"Tenant App Key": "Mieter-App-Schlüssel",
"Tenant Id": "Mieter-ID",
+ "Term Variations": "Begriffsvariationen",
"Terms vary based on loan cycle": "Die Laufzeiten variieren je nach Kreditzyklus",
"Text": "Text",
"Theme": "Thema",
diff --git a/src/assets/translations/en-US.json b/src/assets/translations/en-US.json
index 9909c1b18..3f24bd0e4 100644
--- a/src/assets/translations/en-US.json
+++ b/src/assets/translations/en-US.json
@@ -1105,6 +1105,7 @@
"Template Parameters": "Template Parameters",
"Term Options": "Term Options",
"Terms": "Terms",
+ "Term Variations": "Term Variations",
"Total Withdrawals": "Total Withdrawals",
"Transaction Details": "Transaction Details",
"Transaction Reverted": "Transaction Reverted",
@@ -2225,6 +2226,7 @@
"Show Closed Centers": "Show Closed Centers",
"Show Closed Groups": "Show Closed Groups",
"Show Payment Details": "Show Payment Details",
+ "Specific to Installment": "Specific to Installment",
"Staff": "Staff",
"Standing Instruction": "Standing Instruction",
"Standing Instruction Type": "Standing Instruction Type",
@@ -2269,6 +2271,7 @@
"Tenant": "Tenant",
"Tenant App Key": "Tenant App Key",
"Tenant Id": "Tenant Id",
+ "Term Variations": "Term Variations",
"Terms vary based on loan cycle": "Terms vary based on loan cycle",
"Text": "Text",
"Theme": "Theme",
diff --git a/src/assets/translations/es-MX.json b/src/assets/translations/es-MX.json
index a901ca95b..7c8b92bf6 100644
--- a/src/assets/translations/es-MX.json
+++ b/src/assets/translations/es-MX.json
@@ -1102,6 +1102,7 @@
"Template Parameters": "Parámetros de plantilla",
"Term Options": "Opciones de plazo",
"Terms": "Términos",
+ "Term Variations": "Variaciones de términos",
"Total Withdrawals": "Retiros totales",
"Transaction Details": "Detalles de la transacción",
"Transaction Reverted": "Transacción revertida",
@@ -2223,6 +2224,7 @@
"Show Closed Centers": "Mostrar Centros Cerrados",
"Show Closed Groups": "Mostrar grupos cerrados",
"Show Payment Details": "Mostrar detalles de pago",
+ "Specific to Installment": "Específico para la cuota",
"Staff": "Asesor",
"Standing Instruction": "Instrucción permanente",
"Standing Instruction Type": "Tipo de instrucción permanente",
@@ -2267,6 +2269,7 @@
"Tenant": "Entidad",
"Tenant App Key": "Clave de aplicación para la entidad",
"Tenant Id": "Id de la entidad",
+ "Term Variations": "Variaciones de Condiciones",
"Terms vary based on loan cycle": "Los términos varían según el ciclo del Crédito.",
"Text": "Texto",
"Theme": "Tema",
diff --git a/src/assets/translations/fr-FR.json b/src/assets/translations/fr-FR.json
index 062e58389..641e9cd34 100644
--- a/src/assets/translations/fr-FR.json
+++ b/src/assets/translations/fr-FR.json
@@ -1104,6 +1104,7 @@
"Template Parameters": "Paramètres du modèle",
"Term Options": "Options de durée",
"Terms": "Termes",
+ "Term Variations": "Variations de durée",
"Total Withdrawals": "Retraits totaux",
"Transaction Details": "détails de la transaction",
"Transaction Reverted": "Transaction annulée",
@@ -2224,6 +2225,7 @@
"Show Closed Centers": "Afficher les centres fermés",
"Show Closed Groups": "Afficher les groupes fermés",
"Show Payment Details": "Afficher les détails du paiement",
+ "Specific to Installment": "Spécifique au versement",
"Staff": "Personnel",
"Standing Instruction": "Instruction permanente",
"Standing Instruction Type": "Type d'instruction permanente",
@@ -2268,6 +2270,7 @@
"Tenant": "Locataire",
"Tenant App Key": "Clé d'application du locataire",
"Tenant Id": "Identifiant du locataire",
+ "Term Variations": "Variations de durée",
"Terms vary based on loan cycle": "Les conditions varient en fonction du cycle de prêt",
"Text": "Texte",
"Theme": "Thème",
diff --git a/src/assets/translations/it-IT.json b/src/assets/translations/it-IT.json
index f9a2dddc8..97b3baf78 100644
--- a/src/assets/translations/it-IT.json
+++ b/src/assets/translations/it-IT.json
@@ -1104,6 +1104,7 @@
"Template Parameters": "Parametri del modello",
"Term Options": "Opzioni dei termini",
"Terms": "Termini",
+ "Term Variations": "Variazioni dei termini",
"Total Withdrawals": "Prelievi totali",
"Transaction Details": "Dettagli di Transazione",
"Transaction Reverted": "Transazione annullata",
@@ -2224,6 +2225,7 @@
"Show Closed Centers": "Mostra centri chiusi",
"Show Closed Groups": "Mostra gruppi chiusi",
"Show Payment Details": "Mostra i dettagli del pagamento",
+ "Specific to Installment": "Specifico per la rata",
"Staff": "Personale",
"Standing Instruction": "Istruzioni permanenti",
"Standing Instruction Type": "Tipo di istruzione permanente",
@@ -2268,6 +2270,7 @@
"Tenant": "Inquilino",
"Tenant App Key": "Chiave dell'app del tenant",
"Tenant Id": "ID inquilino",
+ "Term Variations": "Variazioni dei termini",
"Terms vary based on loan cycle": "I termini variano in base al ciclo di prestito",
"Text": "Testo",
"Theme": "Tema",
diff --git a/src/assets/translations/ko-KO.json b/src/assets/translations/ko-KO.json
index 008533023..cc974aaac 100644
--- a/src/assets/translations/ko-KO.json
+++ b/src/assets/translations/ko-KO.json
@@ -1105,6 +1105,7 @@
"Template Parameters": "템플릿 매개변수",
"Term Options": "기간 옵션",
"Terms": "자귀",
+ "Term Variations": "용어 변형",
"Total Withdrawals": "총 출금",
"Transaction Details": "상세 거래 내역",
"Transaction Reverted": "거래가 되돌려졌습니다.",
@@ -2225,6 +2226,7 @@
"Show Closed Centers": "닫힌 센터 표시",
"Show Closed Groups": "닫힌 그룹 표시",
"Show Payment Details": "결제 세부정보 표시",
+ "Specific to Installment": "할부에만 해당",
"Staff": "직원",
"Standing Instruction": "상임지도",
"Standing Instruction Type": "상임 지시 유형",
@@ -2269,6 +2271,7 @@
"Tenant": "거주자",
"Tenant App Key": "테넌트 앱 키",
"Tenant Id": "테넌트 ID",
+ "Term Variations": "용어 변형",
"Terms vary based on loan cycle": "대출 주기에 따라 조건이 달라집니다.",
"Text": "텍스트",
"Theme": "주제",
diff --git a/src/assets/translations/lt-LT.json b/src/assets/translations/lt-LT.json
index f78d24b41..03b4ce04c 100644
--- a/src/assets/translations/lt-LT.json
+++ b/src/assets/translations/lt-LT.json
@@ -1104,6 +1104,7 @@
"Template Parameters": "Šablono parametrai",
"Term Options": "Termino parinktys",
"Terms": "Sąlygos",
+ "Term Variations": "Terminų variacijos",
"Total Withdrawals": "Bendras išėmimas",
"Transaction Details": "Pervedimo duomenys",
"Transaction Reverted": "Sandoris grąžintas",
@@ -2224,6 +2225,7 @@
"Show Closed Centers": "Rodyti uždarus centrus",
"Show Closed Groups": "Rodyti uždaras grupes",
"Show Payment Details": "Rodyti išsamią mokėjimo informaciją",
+ "Specific to Installment": "Specifinis išsimokėtinai",
"Staff": "Personalas",
"Standing Instruction": "Stovėjimo instrukcija",
"Standing Instruction Type": "Stovimos instrukcijos tipas",
@@ -2268,6 +2270,7 @@
"Tenant": "Nuomininkas",
"Tenant App Key": "Nuomininko programos raktas",
"Tenant Id": "Nuomininko ID",
+ "Term Variations": "Terminų variacijos",
"Terms vary based on loan cycle": "Sąlygos skiriasi priklausomai nuo paskolos ciklo",
"Text": "Tekstas",
"Theme": "tema",
diff --git a/src/assets/translations/lv-LV.json b/src/assets/translations/lv-LV.json
index ab0e6c195..cdf0e6778 100644
--- a/src/assets/translations/lv-LV.json
+++ b/src/assets/translations/lv-LV.json
@@ -1104,6 +1104,7 @@
"Template Parameters": "Veidnes parametri",
"Term Options": "Termiņa opcijas",
"Terms": "Noteikumi",
+ "Term Variations": "Terminu variācijas",
"Total Withdrawals": "Kopējā izņemšana",
"Transaction Details": "Darījuma informācija",
"Transaction Reverted": "Darījums ir atsaukts",
@@ -2224,6 +2225,7 @@
"Show Closed Centers": "Rādīt slēgtos centrus",
"Show Closed Groups": "Rādīt slēgtās grupas",
"Show Payment Details": "Rādīt maksājuma informāciju",
+ "Specific to Installment": "Īpaši uz nomaksu",
"Staff": "Personāls",
"Standing Instruction": "Pastāvīga instrukcija",
"Standing Instruction Type": "Pastāvīgās instrukcijas veids",
@@ -2268,6 +2270,7 @@
"Tenant": "Īrnieks",
"Tenant App Key": "Īrnieka lietotnes atslēga",
"Tenant Id": "Īrnieka ID",
+ "Term Variations": "Terminu variācijas",
"Terms vary based on loan cycle": "Noteikumi atšķiras atkarībā no aizdevuma cikla",
"Text": "Teksts",
"Theme": "Tēma",
diff --git a/src/assets/translations/ne-NE.json b/src/assets/translations/ne-NE.json
index 96439074b..ab9ee4638 100644
--- a/src/assets/translations/ne-NE.json
+++ b/src/assets/translations/ne-NE.json
@@ -1104,6 +1104,7 @@
"Template Parameters": "टेम्प्लेट प्यारामिटरहरू",
"Term Options": "टर्म विकल्प",
"Terms": "सर्तहरू",
+ "Term Variations": "अवधि भिन्नताहरू",
"Total Withdrawals": "कुल निकासी",
"Transaction Details": "लेनदेन विवरण",
"Transaction Reverted": "कारोबार फिर्ता गरियो",
@@ -2224,6 +2225,7 @@
"Show Closed Centers": "बन्द केन्द्रहरू देखाउनुहोस्",
"Show Closed Groups": "बन्द समूहहरू देखाउनुहोस्",
"Show Payment Details": "भुक्तानी विवरणहरू देखाउनुहोस्",
+ "Specific to Installment": "किस्ताको लागि विशिष्ट",
"Staff": "कर्मचारी",
"Standing Instruction": "स्थायी निर्देशन",
"Standing Instruction Type": "स्थायी निर्देशन प्रकार",
@@ -2268,6 +2270,7 @@
"Tenant": "भाँडादार",
"Tenant App Key": "टेनेन्ट एप कुञ्जी",
"Tenant Id": "टेनेन्ट आईडी",
+ "Term Variations": "अवधि भिन्नताहरू",
"Terms vary based on loan cycle": "ऋण चक्रको आधारमा सर्तहरू भिन्न हुन्छन्",
"Text": "पाठ",
"Theme": "विषयवस्तु",
diff --git a/src/assets/translations/pt-PT.json b/src/assets/translations/pt-PT.json
index abca77dda..b02485f4e 100644
--- a/src/assets/translations/pt-PT.json
+++ b/src/assets/translations/pt-PT.json
@@ -1104,6 +1104,7 @@
"Template Parameters": "Parâmetros do modelo",
"Term Options": "Opções de prazo",
"Terms": "Termos",
+ "Term Variations": "Variações de prazo",
"Total Withdrawals": "Retiradas totais",
"Transaction Details": "Detalhes da transação",
"Transaction Reverted": "Transação revertida",
@@ -2224,6 +2225,7 @@
"Show Closed Centers": "Mostrar Centros Fechados",
"Show Closed Groups": "Mostrar grupos fechados",
"Show Payment Details": "Mostrar detalhes de pagamento",
+ "Specific to Installment": "Específico para parcelamento",
"Staff": "Funcionários",
"Standing Instruction": "Instrução Permanente",
"Standing Instruction Type": "Tipo de instrução permanente",
@@ -2268,6 +2270,7 @@
"Tenant": "Inquilino",
"Tenant App Key": "Chave do aplicativo do locatário",
"Tenant Id": "ID do locatário",
+ "Term Variations": "Variações de prazo",
"Terms vary based on loan cycle": "Os termos variam de acordo com o ciclo do empréstimo",
"Text": "Texto",
"Theme": "Tema",
diff --git a/src/assets/translations/sw-SW.json b/src/assets/translations/sw-SW.json
index 2e0248f1c..e9c607ff1 100644
--- a/src/assets/translations/sw-SW.json
+++ b/src/assets/translations/sw-SW.json
@@ -1104,6 +1104,7 @@
"Template Parameters": "Vigezo vya Kigezo",
"Term Options": "Chaguzi za Muda",
"Terms": "Masharti",
+ "Term Variations": "Tofauti za Muda",
"Total Withdrawals": "Jumla ya Pesa",
"Transaction Details": "Maelezo ya Muamala",
"Transaction Reverted": "Muamala Umerejeshwa",
@@ -2224,6 +2225,7 @@
"Show Closed Centers": "Onyesha Vituo Vilivyofungwa",
"Show Closed Groups": "Onyesha Vikundi Vilivyofungwa",
"Show Payment Details": "Onyesha Maelezo ya Malipo",
+ "Specific to Installment": "Maalum kwa Installment",
"Staff": "Wafanyakazi",
"Standing Instruction": "Maagizo ya Kudumu",
"Standing Instruction Type": "Aina ya Maagizo ya Kudumu",
@@ -2268,6 +2270,7 @@
"Tenant": "Mpangaji",
"Tenant App Key": "Ufunguo wa Programu ya Mpangaji",
"Tenant Id": "Kitambulisho cha Mpangaji",
+ "Term Variations": "Tofauti za Muda",
"Terms vary based on loan cycle": "Masharti yanatofautiana kulingana na mzunguko wa mkopo",
"Text": "Maandishi",
"Theme": "Mandhari",