Loan Buy Down Fee transaction only when the Loan has enable this feature
This commit is contained in:
+4
-8
@@ -1,13 +1,7 @@
|
|||||||
/** Angular Imports */
|
/** Angular Imports */
|
||||||
import { Component, OnInit, Input } from '@angular/core';
|
import { Component, OnInit, Input } from '@angular/core';
|
||||||
import {
|
import { UntypedFormGroup, UntypedFormBuilder, Validators, UntypedFormControl } from '@angular/forms';
|
||||||
UntypedFormGroup,
|
import { ActivatedRoute, Router } from '@angular/router';
|
||||||
UntypedFormBuilder,
|
|
||||||
Validators,
|
|
||||||
UntypedFormControl,
|
|
||||||
ReactiveFormsModule
|
|
||||||
} from '@angular/forms';
|
|
||||||
import { ActivatedRoute, Router, RouterLink } from '@angular/router';
|
|
||||||
|
|
||||||
/** Custom Services */
|
/** Custom Services */
|
||||||
import { LoansService } from 'app/loans/loans.service';
|
import { LoansService } from 'app/loans/loans.service';
|
||||||
@@ -77,6 +71,8 @@ export class MakeRepaymentComponent implements OnInit {
|
|||||||
*/
|
*/
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.command = this.dataObject.type.code.split('.')[1];
|
this.command = this.dataObject.type.code.split('.')[1];
|
||||||
|
console.log(this.command);
|
||||||
|
console.log(this.dataObject.type);
|
||||||
this.maxDate = this.settingsService.businessDate;
|
this.maxDate = this.settingsService.businessDate;
|
||||||
this.createRepaymentLoanForm();
|
this.createRepaymentLoanForm();
|
||||||
this.setRepaymentLoanDetails();
|
this.setRepaymentLoanDetails();
|
||||||
|
|||||||
@@ -183,16 +183,18 @@ export class LoansViewComponent implements OnInit {
|
|||||||
taskPermissionName: 'DISBURSE_LOAN'
|
taskPermissionName: 'DISBURSE_LOAN'
|
||||||
});
|
});
|
||||||
} else if (this.status === 'Active') {
|
} else if (this.status === 'Active') {
|
||||||
this.buttonConfig.addButton({
|
if (this.loanDetailsData.enableBuyDownFee) {
|
||||||
name: 'Buy Down Fee',
|
this.buttonConfig.addButton({
|
||||||
icon: 'plus',
|
name: 'Buy Down Fee',
|
||||||
taskPermissionName: 'BUY_DOWN_FEE_LOAN'
|
icon: 'plus',
|
||||||
});
|
taskPermissionName: 'BUYDOWNFEE_LOAN'
|
||||||
|
});
|
||||||
|
}
|
||||||
if (this.loanDetailsData.enableIncomeCapitalization) {
|
if (this.loanDetailsData.enableIncomeCapitalization) {
|
||||||
this.buttonConfig.addButton({
|
this.buttonConfig.addButton({
|
||||||
name: 'Capitalized Income',
|
name: 'Capitalized Income',
|
||||||
icon: 'coins',
|
icon: 'coins',
|
||||||
taskPermissionName: 'CAPITALIZED_INCOME_LOAN'
|
taskPermissionName: 'CAPITALIZEDINCOME_LOAN'
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -197,7 +197,7 @@
|
|||||||
<span *ngIf="isCapitalizedIncome(transaction.type) && !transaction.manuallyReversed">
|
<span *ngIf="isCapitalizedIncome(transaction.type) && !transaction.manuallyReversed">
|
||||||
<button
|
<button
|
||||||
mat-menu-item
|
mat-menu-item
|
||||||
*mifosxHasPermission="'CAPITALIZED_INCOME_LOAN'"
|
*mifosxHasPermission="'CAPITALIZEDINCOME_LOAN'"
|
||||||
(click)="capitalizedIncomeAdjustmentTransaction(transaction, $event)"
|
(click)="capitalizedIncomeAdjustmentTransaction(transaction, $event)"
|
||||||
>
|
>
|
||||||
<mat-icon><fa-icon icon="coins" size="sm"></fa-icon></mat-icon>
|
<mat-icon><fa-icon icon="coins" size="sm"></fa-icon></mat-icon>
|
||||||
@@ -207,7 +207,7 @@
|
|||||||
<span *ngIf="isBuyDownFee(transaction.type) && !transaction.manuallyReversed">
|
<span *ngIf="isBuyDownFee(transaction.type) && !transaction.manuallyReversed">
|
||||||
<button
|
<button
|
||||||
mat-menu-item
|
mat-menu-item
|
||||||
*mifosxHasPermission="'BUY_DOWN_FEE_LOAN'"
|
*mifosxHasPermission="'BUYDOWNFEE_LOAN'"
|
||||||
(click)="buyDownFeeAdjustmentTransaction(transaction, $event)"
|
(click)="buyDownFeeAdjustmentTransaction(transaction, $event)"
|
||||||
>
|
>
|
||||||
<mat-icon><fa-icon icon="coins" size="sm"></fa-icon></mat-icon>
|
<mat-icon><fa-icon icon="coins" size="sm"></fa-icon></mat-icon>
|
||||||
|
|||||||
@@ -429,6 +429,10 @@ export class TransactionsTabComponent implements OnInit {
|
|||||||
return this.isReAmortize(transactionType) || this.isReAge(transactionType);
|
return this.isReAmortize(transactionType) || this.isReAge(transactionType);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
isBuyDownFee(transactionType: LoanTransactionType): boolean {
|
||||||
|
return transactionType.buyDownFee || transactionType.code === 'loanTransactionType.buyDownFee';
|
||||||
|
}
|
||||||
|
|
||||||
viewJournalEntry(transactionType: LoanTransactionType): boolean {
|
viewJournalEntry(transactionType: LoanTransactionType): boolean {
|
||||||
return !(this.isReAmortize(transactionType) || this.isReAge(transactionType));
|
return !(this.isReAmortize(transactionType) || this.isReAge(transactionType));
|
||||||
}
|
}
|
||||||
@@ -446,6 +450,70 @@ export class TransactionsTabComponent implements OnInit {
|
|||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
buyDownFeeAdjustmentTransaction(transaction: LoanTransaction) {
|
||||||
|
const accountId = `${this.loanId}`;
|
||||||
|
this.loansService
|
||||||
|
.getLoanTransactionActionTemplate(accountId, 'buyDownFeeAdjustment', `${transaction.id}`)
|
||||||
|
.subscribe((response: any) => {
|
||||||
|
const transactionDate = response.date || transaction.date;
|
||||||
|
if (response.amount == 0) {
|
||||||
|
this.displayAlertMessage('Buy Down Fee amount adjusted already adjusted', transaction.amount);
|
||||||
|
} else {
|
||||||
|
const transactionAmount = response.amount || transaction.amount;
|
||||||
|
const formfields: FormfieldBase[] = [
|
||||||
|
new DatepickerBase({
|
||||||
|
controlName: 'transactionDate',
|
||||||
|
label: 'Date',
|
||||||
|
value: this.dateUtils.parseDate(transactionDate),
|
||||||
|
type: 'datetime-local',
|
||||||
|
required: true,
|
||||||
|
minDate: this.dateUtils.parseDate(transaction.date),
|
||||||
|
order: 1
|
||||||
|
}),
|
||||||
|
new InputBase({
|
||||||
|
controlName: 'amount',
|
||||||
|
label: 'Amount',
|
||||||
|
value: transactionAmount,
|
||||||
|
type: 'number',
|
||||||
|
required: true,
|
||||||
|
max: transactionAmount,
|
||||||
|
min: 0.001,
|
||||||
|
order: 2
|
||||||
|
})
|
||||||
|
|
||||||
|
];
|
||||||
|
const data = {
|
||||||
|
title: `Adjustment ${transaction.type.value} Transaction`,
|
||||||
|
layout: { addButtonText: 'Adjustment' },
|
||||||
|
formfields: formfields
|
||||||
|
};
|
||||||
|
const chargebackDialogRef = this.dialog.open(FormDialogComponent, { data });
|
||||||
|
chargebackDialogRef.afterClosed().subscribe((response: { data: any }) => {
|
||||||
|
if (response.data) {
|
||||||
|
const dateFormat = this.settingsService.dateFormat;
|
||||||
|
|
||||||
|
if (response.data.value.amount <= transactionAmount) {
|
||||||
|
const locale = this.settingsService.language.code;
|
||||||
|
const payload = {
|
||||||
|
transactionDate: this.dateUtils.formatDate(response.data.value.transactionDate, dateFormat),
|
||||||
|
transactionAmount: response.data.value.amount,
|
||||||
|
locale,
|
||||||
|
dateFormat
|
||||||
|
};
|
||||||
|
this.loansService
|
||||||
|
.executeLoansAccountTransactionsCommand(accountId, 'buyDownFeeAdjustment', payload, transaction.id)
|
||||||
|
.subscribe(() => {
|
||||||
|
this.reload();
|
||||||
|
});
|
||||||
|
} else {
|
||||||
|
this.displayAlertMessage('Buy Down Fee Adjustment amount must be lower or equal to', transactionAmount);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
capitalizedIncomeAdjustmentTransaction(transaction: LoanTransaction) {
|
capitalizedIncomeAdjustmentTransaction(transaction: LoanTransaction) {
|
||||||
const accountId = `${this.loanId}`;
|
const accountId = `${this.loanId}`;
|
||||||
this.loansService
|
this.loansService
|
||||||
|
|||||||
@@ -2522,8 +2522,8 @@
|
|||||||
"Block Deposit": "Blockeinzahlung",
|
"Block Deposit": "Blockeinzahlung",
|
||||||
"Block Withdrawal": "Auszahlung blockieren",
|
"Block Withdrawal": "Auszahlung blockieren",
|
||||||
"Breadcrumbs": "Semmelbrösel",
|
"Breadcrumbs": "Semmelbrösel",
|
||||||
"Buy Down Fee": "Ankaufsgebühr",
|
"Buy Down Fee": "Anzahlungsgebühr",
|
||||||
"Buy Down Fee Adjustment": "Anpassung der Ankaufsgebühr",
|
"Buy Down Fee Adjustment": "Anpassung der Buy-Down-Gebühr",
|
||||||
"Calculate Interest": "Zinsen berechnen",
|
"Calculate Interest": "Zinsen berechnen",
|
||||||
"Capitalized Income": "Kapitalisiertes Einkommen",
|
"Capitalized Income": "Kapitalisiertes Einkommen",
|
||||||
"Capitalized Income Adjustment": "Anpassung des kapitalisierten Einkommens",
|
"Capitalized Income Adjustment": "Anpassung des kapitalisierten Einkommens",
|
||||||
|
|||||||
@@ -2523,7 +2523,7 @@
|
|||||||
"Block Withdrawal": "Bloquear retiros",
|
"Block Withdrawal": "Bloquear retiros",
|
||||||
"Breadcrumbs": "Migas de pan",
|
"Breadcrumbs": "Migas de pan",
|
||||||
"Buy Down Fee": "Comisión de compra inicial",
|
"Buy Down Fee": "Comisión de compra inicial",
|
||||||
"Buy Down Fee Adjustment": "Ajuste de la tasa de recompra",
|
"Buy Down Fee Adjustment": "Ajuste de la comisión de compra",
|
||||||
"Calculate Interest": "Calcular interés",
|
"Calculate Interest": "Calcular interés",
|
||||||
"Capitalized Income": "Ingreso capitalizado",
|
"Capitalized Income": "Ingreso capitalizado",
|
||||||
"Capitalized Income Adjustment": "Ajuste de ingresos capitalizados",
|
"Capitalized Income Adjustment": "Ajuste de ingresos capitalizados",
|
||||||
|
|||||||
@@ -2523,7 +2523,7 @@
|
|||||||
"Block Withdrawal": "Bloquear retiros",
|
"Block Withdrawal": "Bloquear retiros",
|
||||||
"Breadcrumbs": "Migas de pan",
|
"Breadcrumbs": "Migas de pan",
|
||||||
"Buy Down Fee": "Comisión de compra inicial",
|
"Buy Down Fee": "Comisión de compra inicial",
|
||||||
"Buy Down Fee Adjustment": "Ajuste de la tasa de recompra",
|
"Buy Down Fee Adjustment": "Ajuste de la comisión de compra",
|
||||||
"Calculate Interest": "Calcular interés",
|
"Calculate Interest": "Calcular interés",
|
||||||
"Capitalized Income": "Ingreso capitalizado",
|
"Capitalized Income": "Ingreso capitalizado",
|
||||||
"Capitalized Income Adjustment": "Ajuste de ingresos capitalizados",
|
"Capitalized Income Adjustment": "Ajuste de ingresos capitalizados",
|
||||||
|
|||||||
@@ -2523,7 +2523,7 @@
|
|||||||
"Block Withdrawal": "Bloquer le retrait",
|
"Block Withdrawal": "Bloquer le retrait",
|
||||||
"Breadcrumbs": "Chapelure",
|
"Breadcrumbs": "Chapelure",
|
||||||
"Buy Down Fee": "Frais d'achat initial",
|
"Buy Down Fee": "Frais d'achat initial",
|
||||||
"Buy Down Fee Adjustment": "Ajustement de la commission de rachat",
|
"Buy Down Fee Adjustment": "Ajustement des frais d'achat",
|
||||||
"Calculate Interest": "Calculer les intérêts",
|
"Calculate Interest": "Calculer les intérêts",
|
||||||
"Capitalized Income": "Revenu capitalisé",
|
"Capitalized Income": "Revenu capitalisé",
|
||||||
"Capitalized Income Adjustment": "Ajustement du revenu capitalisé",
|
"Capitalized Income Adjustment": "Ajustement du revenu capitalisé",
|
||||||
|
|||||||
@@ -2524,7 +2524,7 @@
|
|||||||
"Block Withdrawal": "출금 차단",
|
"Block Withdrawal": "출금 차단",
|
||||||
"Breadcrumbs": "빵 부스러기",
|
"Breadcrumbs": "빵 부스러기",
|
||||||
"Buy Down Fee": "구매 수수료",
|
"Buy Down Fee": "구매 수수료",
|
||||||
"Buy Down Fee Adjustment": "바이 다운 수수료 조정",
|
"Buy Down Fee Adjustment": "매수 수수료 조정",
|
||||||
"Calculate Interest": "이자 계산",
|
"Calculate Interest": "이자 계산",
|
||||||
"Capitalized Income": "자본화 소득",
|
"Capitalized Income": "자본화 소득",
|
||||||
"Capitalized Income Adjustment": "자본화 소득 조정",
|
"Capitalized Income Adjustment": "자본화 소득 조정",
|
||||||
|
|||||||
@@ -2523,7 +2523,7 @@
|
|||||||
"Block Withdrawal": "Blokuoti išėmimą",
|
"Block Withdrawal": "Blokuoti išėmimą",
|
||||||
"Breadcrumbs": "Duonos trupiniai",
|
"Breadcrumbs": "Duonos trupiniai",
|
||||||
"Buy Down Fee": "Pirkimo mokestis",
|
"Buy Down Fee": "Pirkimo mokestis",
|
||||||
"Buy Down Fee Adjustment": "Išpirkimo mokesčio koregavimas",
|
"Buy Down Fee Adjustment": "Nupirkimo mokesčio koregavimas",
|
||||||
"Calculate Interest": "Apskaičiuokite palūkanas",
|
"Calculate Interest": "Apskaičiuokite palūkanas",
|
||||||
"Capitalized Income": "Kapitalizuotos pajamos",
|
"Capitalized Income": "Kapitalizuotos pajamos",
|
||||||
"Capitalized Income Adjustment": "Kapitalizuotų pajamų koregavimas",
|
"Capitalized Income Adjustment": "Kapitalizuotų pajamų koregavimas",
|
||||||
|
|||||||
@@ -2523,7 +2523,7 @@
|
|||||||
"Block Withdrawal": "Bloķēt izņemšanu",
|
"Block Withdrawal": "Bloķēt izņemšanu",
|
||||||
"Breadcrumbs": "Maizes drupačas",
|
"Breadcrumbs": "Maizes drupačas",
|
||||||
"Buy Down Fee": "Nopirkt Down Fee",
|
"Buy Down Fee": "Nopirkt Down Fee",
|
||||||
"Buy Down Fee Adjustment": "Izpirkšanas maksas korekcija",
|
"Buy Down Fee Adjustment": "Pirkšanas maksas korekcija",
|
||||||
"Calculate Interest": "Aprēķināt procentus",
|
"Calculate Interest": "Aprēķināt procentus",
|
||||||
"Capitalized Income": "Kapitalizētie ienākumi",
|
"Capitalized Income": "Kapitalizētie ienākumi",
|
||||||
"Capitalized Income Adjustment": "Kapitalizēto ienākumu korekcija",
|
"Capitalized Income Adjustment": "Kapitalizēto ienākumu korekcija",
|
||||||
|
|||||||
@@ -2523,7 +2523,7 @@
|
|||||||
"Block Withdrawal": "ब्लक निकासी",
|
"Block Withdrawal": "ब्लक निकासी",
|
||||||
"Breadcrumbs": "ब्रेडक्रम्ब्स",
|
"Breadcrumbs": "ब्रेडक्रम्ब्स",
|
||||||
"Buy Down Fee": "खरिद डाउन शुल्क",
|
"Buy Down Fee": "खरिद डाउन शुल्क",
|
||||||
"Buy Down Fee Adjustment": "खरिद शुल्क समायोजन",
|
"Buy Down Fee Adjustment": "डाउन शुल्क समायोजन किन्नुहोस्",
|
||||||
"Calculate Interest": "ब्याज गणना गर्नुहोस्",
|
"Calculate Interest": "ब्याज गणना गर्नुहोस्",
|
||||||
"Capitalized Income": "पुँजीगत आय",
|
"Capitalized Income": "पुँजीगत आय",
|
||||||
"Capitalized Income Adjustment": "पूंजीकृत आय समायोजन",
|
"Capitalized Income Adjustment": "पूंजीकृत आय समायोजन",
|
||||||
|
|||||||
@@ -2523,7 +2523,7 @@
|
|||||||
"Block Withdrawal": "Retirada de bloco",
|
"Block Withdrawal": "Retirada de bloco",
|
||||||
"Breadcrumbs": "Migalhas de pão",
|
"Breadcrumbs": "Migalhas de pão",
|
||||||
"Buy Down Fee": "Taxa de compra inicial",
|
"Buy Down Fee": "Taxa de compra inicial",
|
||||||
"Buy Down Fee Adjustment": "Ajuste da taxa de compra",
|
"Buy Down Fee Adjustment": "Ajuste de taxa de compra para baixo",
|
||||||
"Calculate Interest": "Calcular juros",
|
"Calculate Interest": "Calcular juros",
|
||||||
"Capitalized Income": "Renda Capitalizada",
|
"Capitalized Income": "Renda Capitalizada",
|
||||||
"Capitalized Income Adjustment": "Ajuste de Renda Capitalizada",
|
"Capitalized Income Adjustment": "Ajuste de Renda Capitalizada",
|
||||||
|
|||||||
Reference in New Issue
Block a user