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">