fix: breadcrumbs, labels and other issues in the context of loan/saving applications for groups (#2303)

This makes Group Loans somehow work, fixes the breadcrumbs for GLIM applications,
configures permissions for links to GLIM and GSIM applications and a few other
things, all regarding loan, savings, GLIM and GSIM applications of groups.

Partially addresses: WEB-9
This commit is contained in:
Felix van Hove
2025-03-06 13:07:13 -06:00
committed by GitHub
parent 285865d5b2
commit ee81d6da22
18 changed files with 52 additions and 9 deletions
@@ -424,7 +424,7 @@
<tr
mat-row
*matRowDef="let row; columns: openSavingsColumns"
[routerLink]="['../', 'savings-accounts', row.id, 'transactions']"
[routerLink]="['../', 'savings-accounts', row.id, 'general']"
></tr>
</table>
@@ -120,10 +120,18 @@
<button mat-menu-item *mifosxHasPermission="'CREATE_LOAN'" [routerLink]="['loans-accounts', 'create']">
{{ 'labels.buttons.Group Loan Application' | translate }}
</button>
<button mat-menu-item [routerLink]="['loans-accounts', 'glim-account', 'create']">
<button
mat-menu-item
*mifosxHasPermission="'CREATE_LOAN'"
[routerLink]="['loans-accounts', 'glim-account', 'create']"
>
{{ 'labels.buttons.GLIM Loan Application' | translate }}
</button>
<button mat-menu-item [routerLink]="['savings-accounts', 'gsim-account', 'create']">
<button
mat-menu-item
*mifosxHasPermission="'CREATE_GSIMACCOUNT'"
[routerLink]="['savings-accounts', 'gsim-account', 'create']"
>
{{ 'labels.buttons.GSIM Application' | translate }}
</button>
</mat-menu>
@@ -73,9 +73,16 @@ export class CreateLoansAccountComponent {
this.loansAccountProductTemplate = $event;
this.currencyCode = this.loansAccountProductTemplate.currency.code;
const clientId = this.loansAccountTemplate.clientId;
this.clientService.getCollateralTemplate(clientId).subscribe((response: any) => {
this.collateralOptions = response;
});
if (!!clientId) {
this.clientService.getCollateralTemplate(clientId).subscribe((response: any) => {
this.collateralOptions = response;
});
} else {
// Fineract API doesn't have "Group Collateral Management" endpoint; from the obsolete
// community app it appears getCollateralTemplate(clientId) is called as well, but it's not clear how
// the clientId is selected from the clientIds that belong to the group.
console.error('No collateral data requested from Fineract, collateral might misbehave');
}
const entityId = this.loansAccountTemplate.clientId
? this.loansAccountTemplate.clientId
: this.loansAccountTemplate.group.id;
+2 -1
View File
@@ -343,10 +343,11 @@ const routes: Routes = [
},
{
path: 'glim-account',
data: { title: 'Loans', breadcrumb: 'Loans', routeParamBreadcrumb: false },
children: [
{
path: 'create',
data: { title: 'Create GLIM Application', breadcrumb: 'Create GLIM Application' },
data: { title: 'Create GLIM Application', breadcrumb: 'Create GLIM Application', routeParamBreadcrumb: false },
component: CreateGlimAccountComponent,
resolve: {
loansAccountTemplate: GLIMLoanTemplateResolver,
@@ -39,8 +39,9 @@
<span class="m-r-10"
>{{ 'labels.text.' + entityType | translate }} {{ 'labels.inputs.name' | translate }} :</span
>
{{ loanDetailsData.clientName || loanDetailsData.groupName
}}<span class="m-l-5">({{ loanDetailsData.clientAccountNo }})</span><br />
{{ loanDetailsData.clientName || loanDetailsData.group.name
}}<span class="m-l-5">({{ loanDetailsData.clientAccountNo || loanDetailsData.group.accountNo }})</span
><br />
</span>
<div *ngIf="loanDisplayArrearsDelinquency !== 1">
<table class="account-overview">
+2
View File
@@ -1650,6 +1650,7 @@
"GENERAL": "VŠEOBECNÉ",
"GL Account Name or Code": "Název nebo kód účtu GL",
"GL Code": "GL kód",
"GLIM Id": "ID GLIM",
"GSIM Id": "ID GSIM",
"Gap between Installments": "Mezera mezi splátkami: (min",
"Gender": "Rod",
@@ -2923,6 +2924,7 @@
"General": "Všeobecné",
"Get involved": "Zapojte se",
"Global configurations, Cache and Business Date": "Globální konfigurace, nastavení mezipaměti a obchodního data",
"Group": "Skupina",
"Group Actions": "Skupinové akce",
"GroupsCreateBusinessEvent": "GroupsCreateBusinessEvent",
"Groups": "Skupiny",
+2
View File
@@ -1650,6 +1650,7 @@
"GENERAL": "ALLGEMEIN",
"GL Account Name or Code": "Name oder Code des Hauptbuchkontos",
"GL Code": "GL-Code",
"GLIM Id": "GLIM-ID",
"GSIM Id": "GSIM-ID",
"Gap between Installments": "Abstand zwischen den Raten: (Min",
"Gender": "Geschlecht",
@@ -2922,6 +2923,7 @@
"General": "Allgemein",
"Get involved": "Machen Sie mit",
"Global configurations, Cache and Business Date": "Globale Konfigurationen, Cache- und Geschäftsdatumseinstellungen",
"Group": "Gruppe",
"Group Actions": "Gruppenaktionen",
"GroupsCreateBusinessEvent": "GruppenCreateBusinessEvent",
"Groups": "Gruppen",
+2
View File
@@ -1653,6 +1653,7 @@
"GENERAL": "GENERAL",
"GL Account Name or Code": "GL Account Name or Code",
"GL Code": "GL Code",
"GLIM Id": "GLIM Id",
"GSIM Id": "GSIM Id",
"Gap between Installments": "Gap between Installments:(Min",
"Gender": "Gender",
@@ -2930,6 +2931,7 @@
"General": "General",
"Get involved": "Get involved",
"Global configurations, Cache and Business Date": "Global configurations, Cache and Business Date settings",
"Group": "Group",
"Group Actions": "Group Actions",
"GroupsCreateBusinessEvent": "GroupsCreateBusinessEvent",
"Groups": "Groups",
+2
View File
@@ -1649,6 +1649,7 @@
"GENERAL": "GENERAL",
"GL Account Name or Code": "Nombre o código de cuenta del libro mayor",
"GL Code": "Número de Cuenta",
"GLIM Id": "ID GLM",
"GSIM Id": "Id GSM",
"Gap between Installments": "Brecha entre Cuotas:",
"Gender": "Género",
@@ -2923,6 +2924,7 @@
"General": "General",
"Get involved": "Involucrarse",
"Global configurations, Cache and Business Date": "Configuraciones globales, configuración de caché y fecha del sistema",
"Group": "Grupo",
"Group Actions": "Acciones grupales",
"GroupsCreateBusinessEvent": "GruposCrearNegocioEvento",
"Groups": "Grupos",
+2
View File
@@ -1649,6 +1649,7 @@
"GENERAL": "GENERAL",
"GL Account Name or Code": "Nombre o código de cuenta del libro mayor",
"GL Code": "Número de Cuenta",
"GLIM Id": "Id GLM",
"GSIM Id": "Id GSM",
"Gap between Installments": "Brecha entre Cuotas:",
"Gender": "Género",
@@ -2923,6 +2924,7 @@
"General": "General",
"Get involved": "Involucrarse",
"Global configurations, Cache and Business Date": "Configuraciones globales, configuración de caché y fecha del sistema",
"Group": "Grupo",
"Group Actions": "Acciones grupales",
"GroupsCreateBusinessEvent": "GruposCrearNegocioEvento",
"Groups": "Grupos",
+2
View File
@@ -1650,6 +1650,7 @@
"GENERAL": "GÉNÉRAL",
"GL Account Name or Code": "Nom ou code du compte GL",
"GL Code": "Code GL",
"GLIM Id": "Identifiant GLIM",
"GSIM Id": "Identifiant GSIM",
"Gap between Installments": "Écart entre les versements :(Min",
"Gender": "Genre",
@@ -2923,6 +2924,7 @@
"General": "Général",
"Get involved": "Être impliqué",
"Global configurations, Cache and Business Date": "Configurations globales, paramètres de cache et de date professionnelle",
"Group": "Groupe",
"Group Actions": "Actions de groupe",
"GroupsCreateBusinessEvent": "GroupesCréerBusinessEvent",
"Groups": "Groupes",
+2
View File
@@ -1650,6 +1650,7 @@
"GENERAL": "GENERALE",
"GL Account Name or Code": "Nome o codice account GL",
"GL Code": "Codice GL",
"GLIM Id": "ID GLMIM",
"GSIM Id": "ID GSMIM",
"Gap between Installments": "Intervallo tra le rate: (Min",
"Gender": "Genere",
@@ -2923,6 +2924,7 @@
"General": "Generale",
"Get involved": "Mettersi in gioco",
"Global configurations, Cache and Business Date": "Configurazioni globali, impostazioni della cache e della data lavorativa",
"Group": "Gruppo",
"Group Actions": "Azioni di gruppo",
"GroupsCreateBusinessEvent": "GruppiCreateBusinessEvent",
"Groups": "Gruppi",
+2
View File
@@ -1651,6 +1651,7 @@
"GENERAL": "일반적인",
"GL Account Name or Code": "GL 계정 이름 또는 코드",
"GL Code": "GL 코드",
"GLIM Id": "GLIM 아이디",
"GSIM Id": "GSIM 아이디",
"Gap between Installments": "할부 간 간격:(최소",
"Gender": "성별",
@@ -2923,6 +2924,7 @@
"General": "일반적인",
"Get involved": "참여하다",
"Global configurations, Cache and Business Date": "글로벌 구성, 캐시 및 비즈니스 날짜 설정",
"Group": "그룹",
"Group Actions": "그룹 활동",
"GroupsCreateBusinessEvent": "그룹 만들기비즈니스 이벤트",
"Groups": "여러 떼",
+2
View File
@@ -1650,6 +1650,7 @@
"GENERAL": "BENDROJI",
"GL Account Name or Code": "GL sąskaitos pavadinimas arba kodas",
"GL Code": "GL kodas",
"GLIM Id": "GLIM ID",
"GSIM Id": "GSIM ID",
"Gap between Installments": "Tarpas tarp įmokų: (min",
"Gender": "Lytis",
@@ -2923,6 +2924,7 @@
"General": "Generolas",
"Get involved": "Įsitrauk",
"Global configurations, Cache and Business Date": "Visuotinės konfigūracijos, talpyklos ir verslo datos nustatymai",
"Group": "Grupė",
"Group Actions": "Grupiniai veiksmai",
"GroupsCreateBusinessEvent": "GroupsCreateBusinessEvent",
"Groups": "Grupės",
+2
View File
@@ -1650,6 +1650,7 @@
"GENERAL": "VISPĀRĪGI",
"GL Account Name or Code": "GL konta nosaukums vai kods",
"GL Code": "GL kods",
"GLIM Id": "GLIM ID",
"GSIM Id": "GSIM ID",
"Gap between Installments": "Starpība starp maksājumiem: (min",
"Gender": "Dzimums",
@@ -2923,6 +2924,7 @@
"General": "Ģenerālis",
"Get involved": "Iesaistīties",
"Global configurations, Cache and Business Date": "Globālās konfigurācijas, kešatmiņas un biznesa datuma iestatījumi",
"Group": "Grupa",
"Group Actions": "Grupas darbības",
"GroupsCreateBusinessEvent": "GroupsCreateBusinessEvent",
"Groups": "Grupas",
+2
View File
@@ -1650,6 +1650,7 @@
"GENERAL": "सामान्य",
"GL Account Name or Code": "GL खाता नाम वा कोड",
"GL Code": "GL कोड",
"GLIM Id": "GLIM आईडी",
"GSIM Id": "GSIM आईडी",
"Gap between Installments": "किस्ताहरू बीचको अन्तर: (न्यूनतम",
"Gender": "लिङ्ग",
@@ -2923,6 +2924,7 @@
"General": "सामान्य",
"Get involved": "संलग्न हुनुहोस्",
"Global configurations, Cache and Business Date": "ग्लोबल कन्फिगरेसन, क्यास र व्यापार मिति सेटिङहरू",
"Group": "समूह",
"Group Actions": "समूह कार्यहरू",
"GroupsCreateBusinessEvent": "GroupsCreateBusinessEvent",
"Groups": "समूहहरू",
+2
View File
@@ -1650,6 +1650,7 @@
"GENERAL": "EM GERAL",
"GL Account Name or Code": "Nome ou código da conta GL",
"GL Code": "Código GL",
"GLIM Id": "Código GLM",
"GSIM Id": "Código GSM",
"Gap between Installments": "Intervalo entre as parcelas:(mín.",
"Gender": "Gênero",
@@ -2923,6 +2924,7 @@
"General": "Em geral",
"Get involved": "Envolver-se",
"Global configurations, Cache and Business Date": "Configurações globais, configurações de cache e data comercial",
"Group": "Grupo",
"Group Actions": "Ações de grupo",
"GroupsCreateBusinessEvent": "GruposCreateBusinessEvent",
"Groups": "Grupos",
+2
View File
@@ -1650,6 +1650,7 @@
"GENERAL": "JUMLA",
"GL Account Name or Code": "Jina la Akaunti ya GL au Msimbo",
"GL Code": "Msimbo wa GL",
"GLIM Id": "Kitambulisho cha GLIM",
"GSIM Id": "Kitambulisho cha GSIM",
"Gap between Installments": "Pengo kati ya Mikopo:(Min",
"Gender": "Jinsia",
@@ -2923,6 +2924,7 @@
"General": "Mkuu",
"Get involved": "Jihusishe",
"Global configurations, Cache and Business Date": "Mipangilio ya kimataifa, Cache na mipangilio ya Tarehe ya Biashara",
"Group": "Kikundi",
"Group Actions": "Vitendo vya Kikundi",
"GroupsCreateBusinessEvent": "GroupsCreateBusinessEvent",
"Groups": "Vikundi",