Merge pull request #2662 from JaySoni1/WEB-113-glim-application-fails-to-submit
WEB-113 GLIM Application Fails to Submit
This commit is contained in:
@@ -9,7 +9,7 @@ import { Observable } from 'rxjs';
|
||||
export class I18nService {
|
||||
constructor(private translateService: TranslateService) {}
|
||||
|
||||
public translate(key: string): Observable<string> {
|
||||
return this.translateService.get(key);
|
||||
public translate(key: string, params?: object): Observable<string> {
|
||||
return this.translateService.get(key, params);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
/** Angular Imports */
|
||||
import { Component, QueryList, ViewChild, ViewChildren } from '@angular/core';
|
||||
import { I18nService } from 'app/core/i18n/i18n.service';
|
||||
import { ActivatedRoute, Router } from '@angular/router';
|
||||
|
||||
/** Custom Services */
|
||||
@@ -84,7 +85,8 @@ export class CreateGlimAccountComponent {
|
||||
private loansService: LoansService,
|
||||
private settingsService: SettingsService,
|
||||
private clientService: ClientsService,
|
||||
private dateUtils: Dates
|
||||
private dateUtils: Dates,
|
||||
private i18nService: I18nService
|
||||
) {
|
||||
this.route.data.subscribe((data: { loansAccountTemplate: any; groupsData: any }) => {
|
||||
this.loansAccountTemplate = data.loansAccountTemplate;
|
||||
@@ -212,7 +214,7 @@ export class CreateGlimAccountComponent {
|
||||
/** Request Body Data */
|
||||
buildRequestData(): any[] {
|
||||
const requestData = [];
|
||||
const memberSelected = this.selectedMembers.selectedMembers;
|
||||
const memberSelected = this.selectedMembers?.selectedMembers ?? [];
|
||||
const totalLoan = this.totalLoanAmount();
|
||||
for (let index = 0; index < memberSelected.length; index++) {
|
||||
requestData.push({
|
||||
@@ -227,7 +229,7 @@ export class CreateGlimAccountComponent {
|
||||
|
||||
totalLoanAmount(): number {
|
||||
let total = 0;
|
||||
const memberSelected = this.selectedMembers.selectedMembers;
|
||||
const memberSelected = this.selectedMembers?.selectedMembers ?? [];
|
||||
for (let index = 0; index < memberSelected.length; index++) {
|
||||
total += memberSelected[index].principal;
|
||||
}
|
||||
@@ -238,6 +240,30 @@ export class CreateGlimAccountComponent {
|
||||
* Creates a new GLIM account.
|
||||
*/
|
||||
submit() {
|
||||
this.selectedMembers = this.loansActiveClientMembers?.selectedClientMembers;
|
||||
const memberSelected = this.loansActiveClientMembers?.selectedClientMembers?.selectedMembers ?? [];
|
||||
if (!memberSelected.length) return;
|
||||
const gsimMemberIds = new Set(this.dataSource.map((m: any) => Number(m.id)));
|
||||
for (const member of memberSelected) {
|
||||
const memberId = Number(member.id);
|
||||
// Validate savings account ownership
|
||||
const ownerId = Number(member.linkAccountOwnerId);
|
||||
if (member.linkAccountId && member.linkAccountOwnerId && ownerId !== memberId) {
|
||||
this.i18nService.translate('errors.linkedSavingsAccountOwnership').subscribe((msg: string) => {
|
||||
this.notify({ defaultUserMessage: msg, errors: [] }, { memberId });
|
||||
});
|
||||
return;
|
||||
}
|
||||
// Validate GSIM membership
|
||||
if (!gsimMemberIds.has(memberId)) {
|
||||
this.i18nService.translate('errors.clientNotInGSIM', { id: memberId }).subscribe((msg: string) => {
|
||||
this.notify({ defaultUserMessage: msg, errors: [] }, { memberId });
|
||||
});
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
// Use date format from settingsService for interestChargedFromDate
|
||||
const data = this.buildRequestData();
|
||||
this.loansService.createGlimAccount(data).subscribe((response: any) => {
|
||||
const body = JSON.parse(response[0].body);
|
||||
@@ -250,15 +276,17 @@ export class CreateGlimAccountComponent {
|
||||
{ relativeTo: this.route }
|
||||
);
|
||||
} else {
|
||||
this.notify(body, data);
|
||||
this.notify(body, { batchSize: data.length });
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
notify(body: any, data: any) {
|
||||
let message = body.defaultUserMessage + ' ';
|
||||
while (body.errors?.length > 0) message += body.errors.pop().developerMessage + ' ';
|
||||
message += 'Data: ' + JSON.stringify(data);
|
||||
console.error(message);
|
||||
notify(body: any, context?: { [k: string]: unknown }) {
|
||||
const parts: string[] = [String(body?.defaultUserMessage ?? '')];
|
||||
if (Array.isArray(body?.errors)) {
|
||||
for (const e of body.errors) parts.push(String(e?.developerMessage ?? ''));
|
||||
}
|
||||
if (context) parts.push(`Context: ${JSON.stringify(context)}`);
|
||||
console.error(parts.join(' ').trim());
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
"Logged in as": "Přihlášen jako",
|
||||
"Remember me": "Zapamatuj si mě",
|
||||
"errors": {
|
||||
"linkedSavingsAccountOwnership": "Propojený spořicí účet nepatří vybranému klientovi.",
|
||||
"clientNotInGSIM": "Klient s ID {{id}} není přítomen v GSIM.",
|
||||
"Capitalized Income amount adjusted already adjusted": "Výše kapitalizovaného příjmu již upravená",
|
||||
"Capitalized Income Adjustment amount must be lower or equal to": "Částka úpravy kapitalizovaného příjmu musí být nižší nebo rovna",
|
||||
"Buy Down Fee amount already adjusted": "Výše poplatku za odkup již byla upravena",
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
"Logged in as": "Angemeldet als",
|
||||
"Remember me": "Erinnere dich an mich",
|
||||
"errors": {
|
||||
"linkedSavingsAccountOwnership": "Verknüpftes Sparkonto gehört nicht zum ausgewählten Kunden.",
|
||||
"clientNotInGSIM": "Kunde mit der ID {{id}} ist nicht in GSIM vorhanden.",
|
||||
"Capitalized Income amount adjusted already adjusted": "Kapitalisiertes Einkommen Betrag angepasst bereits angepasst",
|
||||
"Capitalized Income Adjustment amount must be lower or equal to": "Der Betrag der kapitalisierten Einkommensanpassung muss kleiner oder gleich sein",
|
||||
"Buy Down Fee amount already adjusted": "Kapitalisierte Erträge Betrag angepasst bereits angepasst",
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
"Logged in as": "Logged in as",
|
||||
"Remember me": "Remember me",
|
||||
"errors": {
|
||||
"linkedSavingsAccountOwnership": "Linked savings account does not belong to the selected client.",
|
||||
"clientNotInGSIM": "Client with ID {{id}} is not present in GSIM.",
|
||||
"Capitalized Income amount adjusted already adjusted": "Capitalized Income amount already adjusted",
|
||||
"Capitalized Income Adjustment amount must be lower or equal to": "Capitalized Income Adjustment amount must be lower or equal to",
|
||||
"Buy Down Fee amount already adjusted": "Buy Down Fee amount already adjusted",
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
"Logged in as": "Conectado como",
|
||||
"Remember me": "Recordar me",
|
||||
"errors": {
|
||||
"linkedSavingsAccountOwnership": "La cuenta de ahorro vinculada no pertenece al cliente seleccionado.",
|
||||
"clientNotInGSIM": "El cliente con ID {{id}} no está presente en GSIM.",
|
||||
"Capitalized Income amount adjusted already adjusted": "Monto de Ingreso Capitalizado ajustado ya ajustado",
|
||||
"Capitalized Income Adjustment amount must be lower or equal to": "El monto del Ajuste de Ingreso Capitalizado debe ser menor o igual a",
|
||||
"Buy Down Fee amount already adjusted": "Importe de la comisión de recompra ya ajustado",
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
"Logged in as": "Conectado como",
|
||||
"Remember me": "Recordar me",
|
||||
"errors": {
|
||||
"linkedSavingsAccountOwnership": "La cuenta de ahorro vinculada no pertenece al cliente seleccionado.",
|
||||
"clientNotInGSIM": "El cliente con ID {{id}} no está presente en GSIM.",
|
||||
"Capitalized Income amount adjusted already adjusted": "Monto de Ingreso Capitalizado ajustado ya ajustado",
|
||||
"Capitalized Income Adjustment amount must be lower or equal to": "El monto del Ajuste de Ingreso Capitalizado debe ser menor o igual a",
|
||||
"Buy Down Fee amount already adjusted": "Importe de la comisión de recompra ya ajustado",
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
"Logged in as": "connecté en tant que",
|
||||
"Remember me": "Souviens-toi de moi",
|
||||
"errors": {
|
||||
"linkedSavingsAccountOwnership": "Le compte d'épargne lié n'appartient pas au client sélectionné.",
|
||||
"clientNotInGSIM": "Le client avec l'ID {{id}} n'est pas membre du GSIM.",
|
||||
"Capitalized Income amount adjusted already adjusted": "Montant du revenu capitalisé ajusté déjà ajusté",
|
||||
"Capitalized Income Adjustment amount must be lower or equal to": "Le montant de l'ajustement du revenu capitalisé doit être inférieur ou égal à",
|
||||
"Buy Down Fee amount already adjusted": "Montant de la commission de rachat déjà ajusté",
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
"Logged in as": "Collegato come",
|
||||
"Remember me": "Ricordati di me",
|
||||
"errors": {
|
||||
"linkedSavingsAccountOwnership": "Il conto di risparmio collegato non appartiene al cliente selezionato.",
|
||||
"clientNotInGSIM": "Il cliente con ID {{id}} non è presente in GSIM.",
|
||||
"Capitalized Income amount adjusted already adjusted": "Importo del reddito capitalizzato rettificato già rettificato",
|
||||
"Capitalized Income Adjustment amount must be lower or equal to": "L'importo dell'adeguamento del reddito capitalizzato deve essere inferiore o uguale a",
|
||||
"Buy Down Fee amount already adjusted": "Importo della Buy Down Fee già adeguato",
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
"Logged in as": "다음 계정으로 로그인됨",
|
||||
"Remember me": "날 기억해",
|
||||
"errors": {
|
||||
"linkedSavingsAccountOwnership": "연결된 저축 계좌가 선택한 클라이언트에 속하지 않습니다.",
|
||||
"clientNotInGSIM": "ID가 {{id}}인 클라이언트가 GSIM에 없습니다.",
|
||||
"Capitalized Income amount adjusted already adjusted": "자본화된 소득 금액은 이미 조정되었습니다.",
|
||||
"Capitalized Income Adjustment amount must be lower or equal to": "자본화된 소득 조정 금액은 다음보다 낮거나 같아야 합니다.",
|
||||
"Buy Down Fee amount already adjusted": "이미 조정된 바이 다운 수수료 금액",
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
"Logged in as": "prisijungęs kaip",
|
||||
"Remember me": "Prisimink mane",
|
||||
"errors": {
|
||||
"linkedSavingsAccountOwnership": "Susieta taupomoji sąskaita nepriklauso pasirinktam klientui.",
|
||||
"clientNotInGSIM": "Klientas su ID {{id}} nėra GSIM sistemoje.",
|
||||
"Capitalized Income amount adjusted already adjusted": "Kapitalizuotų pajamų suma pakoreguota jau pakoreguota",
|
||||
"Capitalized Income Adjustment amount must be lower or equal to": "Kapitalizuotų pajamų koregavimo suma turi būti mažesnė arba lygi",
|
||||
"Buy Down Fee amount already adjusted": "Jau pakoreguota išpirkimo mokesčio suma",
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
"Logged in as": "ielogojies Kā",
|
||||
"Remember me": "Atceries mani",
|
||||
"errors": {
|
||||
"linkedSavingsAccountOwnership": "Saistītais krājkonts nepieder izvēlētajam klientam.",
|
||||
"clientNotInGSIM": "Klients ar ID {{id}} nav GSIM sistēmā.",
|
||||
"Capitalized Income amount adjusted already adjusted": "Kapitalizēto ienākumu summa jau koriģēta",
|
||||
"Capitalized Income Adjustment amount must be lower or equal to": "Kapitalizēto ienākumu korekcijas summai ir jābūt mazākai vai vienādai ar",
|
||||
"Buy Down Fee amount already adjusted": "Jau koriģētā atpirkšanas maksas summa",
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
"Logged in as": "को रूपमा लग इन गरियो",
|
||||
"Remember me": "मलाई सम्झनुहोस्",
|
||||
"errors": {
|
||||
"linkedSavingsAccountOwnership": "लिंक गरिएको बचत खाता चयनित ग्राहकको होइन।",
|
||||
"clientNotInGSIM": "आईडी {{id}} भएको ग्राहक GSIM मा उपस्थित छैन।",
|
||||
"Capitalized Income amount adjusted already adjusted": "क्यापिटलाइज्ड आय रकम पहिले नै समायोजन गरिएको छ",
|
||||
"Capitalized Income Adjustment amount must be lower or equal to": "पूंजीकृत आय समायोजन रकम कम वा बराबर हुनुपर्छ",
|
||||
"Buy Down Fee amount already adjusted": "बाइ डाउन शुल्क रकम पहिले नै समायोजन गरिएको छ।",
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
"Logged in as": "logado como",
|
||||
"Remember me": "Lembre de mim",
|
||||
"errors": {
|
||||
"linkedSavingsAccountOwnership": "A conta poupança vinculada não pertence ao cliente selecionado.",
|
||||
"clientNotInGSIM": "O cliente com ID {{id}} não está presente no GSIM.",
|
||||
"Capitalized Income amount adjusted already adjusted": "Valor da Renda Capitalizada ajustado já ajustado",
|
||||
"Capitalized Income Adjustment amount must be lower or equal to": "O valor do ajuste de renda capitalizada deve ser menor ou igual a",
|
||||
"Buy Down Fee amount already adjusted": "Montante da comissão de compra já ajustado",
|
||||
|
||||
@@ -3,6 +3,8 @@
|
||||
"Logged in as": "Imeingia kama",
|
||||
"Remember me": "Nikumbuke",
|
||||
"errors": {
|
||||
"linkedSavingsAccountOwnership": "Akaunti ya akiba iliyounganishwa haimilikiwi na mteja aliyechaguliwa.",
|
||||
"clientNotInGSIM": "Mteja mwenye kitambulisho {{id}} hayupo kwenye GSIM.",
|
||||
"Capitalized Income amount adjusted already adjusted": "Kiasi cha Mapato ya Mtaji kilichorekebishwa tayari kimerekebishwa",
|
||||
"Capitalized Income Adjustment amount must be lower or equal to": "Kiasi cha Marekebisho ya Mapato ya Mtaji lazima kiwe chini au sawa na",
|
||||
"Buy Down Fee amount already adjusted": "Kiasi cha Ada ya Kununua Chini tayari kimerekebishwa",
|
||||
|
||||
Reference in New Issue
Block a user