Skip to content

Commit 7c016d3

Browse files
WEB-657: Working Capital Loan charge adjustment
1 parent 96460ee commit 7c016d3

3 files changed

Lines changed: 88 additions & 77 deletions

File tree

src/app/loans/loans-view/charges-tab/charges-tab.component.html

Lines changed: 43 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -269,47 +269,49 @@
269269
{{ 'labels.inputs.Actions' | translate }}
270270
</th>
271271
<td mat-cell *matCellDef="let charge" class="col-c" (click)="$event.stopPropagation()">
272-
<div class="act-group">
273-
<button
274-
mat-icon-button
275-
type="button"
276-
[matMenuTriggerFor]="chargeMenu"
277-
[attr.aria-label]="'labels.inputs.Actions' | translate"
278-
>
279-
<mat-icon>more_vert</mat-icon>
280-
</button>
272+
@if (status === 'Active' || status === 'Submitted and pending approval') {
273+
<div class="act-group">
274+
<button
275+
mat-icon-button
276+
type="button"
277+
[matMenuTriggerFor]="chargeMenu"
278+
[attr.aria-label]="'labels.inputs.Actions' | translate"
279+
>
280+
<mat-icon>more_vert</mat-icon>
281+
</button>
281282

282-
<mat-menu #chargeMenu="matMenu" class="charge-actions-menu">
283-
@if (status === 'Active') {
284-
<button mat-menu-item (click)="adjustCharge(charge.id)">
285-
<mat-icon matMenuItemIcon>tune</mat-icon>
286-
{{ 'tooltips.Adjust Charge' | translate }}
287-
</button>
288-
}
289-
@if (status === 'Submitted and pending approval') {
290-
<button mat-menu-item (click)="editCharge(charge)">
291-
<mat-icon matMenuItemIcon>edit</mat-icon>
292-
{{ 'tooltips.Edit Charge' | translate }}
293-
</button>
294-
<button mat-menu-item class="menu-item-danger" (click)="deleteCharge(charge.id)">
295-
<mat-icon matMenuItemIcon>delete</mat-icon>
296-
{{ 'labels.buttons.Delete' | translate }}
297-
</button>
298-
}
299-
@if (charge.chargePayable && !charge.paid && status === 'Active') {
300-
<button mat-menu-item (click)="payCharge(charge.id)">
301-
<mat-icon matMenuItemIcon>payments</mat-icon>
302-
{{ 'labels.buttons.Pay Charge' | translate }}
303-
</button>
304-
}
305-
@if (!charge.actionFlag) {
306-
<button mat-menu-item (click)="waiveCharge(charge.id)">
307-
<mat-icon matMenuItemIcon>check_circle</mat-icon>
308-
{{ 'labels.buttons.Waive Charge' | translate }}
309-
</button>
310-
}
311-
</mat-menu>
312-
</div>
283+
<mat-menu #chargeMenu="matMenu" class="charge-actions-menu">
284+
@if (status === 'Active') {
285+
<button mat-menu-item (click)="adjustCharge(charge.id)">
286+
<mat-icon matMenuItemIcon>tune</mat-icon>
287+
{{ 'tooltips.Adjust Charge' | translate }}
288+
</button>
289+
}
290+
@if (status === 'Submitted and pending approval') {
291+
<button mat-menu-item (click)="editCharge(charge)">
292+
<mat-icon matMenuItemIcon>edit</mat-icon>
293+
{{ 'tooltips.Edit Charge' | translate }}
294+
</button>
295+
<button mat-menu-item class="menu-item-danger" (click)="deleteCharge(charge.id)">
296+
<mat-icon matMenuItemIcon>delete</mat-icon>
297+
{{ 'labels.buttons.Delete' | translate }}
298+
</button>
299+
}
300+
@if (charge.chargePayable && !charge.paid && status === 'Active') {
301+
<button mat-menu-item (click)="payCharge(charge.id)">
302+
<mat-icon matMenuItemIcon>payments</mat-icon>
303+
{{ 'labels.buttons.Pay Charge' | translate }}
304+
</button>
305+
}
306+
@if (!charge.actionFlag) {
307+
<button mat-menu-item (click)="waiveCharge(charge.id)">
308+
<mat-icon matMenuItemIcon>check_circle</mat-icon>
309+
{{ 'labels.buttons.Waive Charge' | translate }}
310+
</button>
311+
}
312+
</mat-menu>
313+
</div>
314+
}
313315
</td>
314316
</ng-container>
315317

@@ -328,6 +330,7 @@
328330
[class.row-state-waived]="rowStatus(row) === 'row-state-waived'"
329331
[class.row-selected]="selection.isSelected(row)"
330332
[routerLink]="[row.id]"
333+
[queryParams]="{ productType: loanProductService.productType.value }"
331334
></tr>
332335
</table>
333336
</div>

src/app/loans/loans-view/loans-view.component.html

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -523,7 +523,7 @@ <h3>{{ 'labels.heading.Account Overview' | translate }}</h3>
523523
{{ 'labels.inputs.Term Variations' | translate }}
524524
</a>
525525
}
526-
@if (loanProductService.isLoanProduct && loanDetailsData.overdueCharges.length > 0) {
526+
@if (loanProductService.isLoanProduct && loanDetailsData.overdueCharges?.length > 0) {
527527
<a
528528
mat-tab-link
529529
[routerLink]="['./overdue-charges']"

src/app/loans/loans-view/view-charge/view-charge.component.html

Lines changed: 44 additions & 36 deletions
Original file line numberDiff line numberDiff line change
@@ -6,42 +6,44 @@
66
file, You can obtain one at http://mozilla.org/MPL/2.0/.
77
-->
88

9-
@if (loansAccountData.status.value === 'Active' && chargeData.amountOutstanding !== 0) {
9+
@if (loansAccountData.status.value === 'Active') {
1010
<div class="layout-row align-end gap-2percent layout-xs-column container m-b-20">
11-
<button
12-
mat-raised-button
13-
color="primary"
14-
*mifosxHasPermission="'WAIVE_SAVINGSACCOUNTCHARGE'"
15-
(click)="editCharge()"
16-
>
17-
<fa-icon icon="flag" class="m-r-10"></fa-icon>
18-
{{ 'labels.buttons.Edit' | translate }}
19-
</button>
20-
@if (allowPayCharge) {
21-
<span>
22-
<button
23-
mat-raised-button
24-
color="accent"
25-
*mifosxHasPermission="'PAY_SAVINGSACCOUNTCHARGE'"
26-
(click)="payCharge()"
27-
>
28-
<fa-icon icon="dollar-sign" class="m-r-10"></fa-icon>
29-
{{ 'labels.buttons.Pay' | translate }}
30-
</button>
31-
</span>
32-
}
33-
@if (allowWaive) {
34-
<span>
35-
<button
36-
mat-raised-button
37-
color="primary"
38-
*mifosxHasPermission="'WAIVE_SAVINGSACCOUNTCHARGE'"
39-
(click)="waiveCharge()"
40-
>
41-
<fa-icon icon="flag" class="m-r-10"></fa-icon>
42-
{{ 'labels.buttons.Waive' | translate }}
43-
</button>
44-
</span>
11+
@if (chargeData.amountOutstanding !== 0) {
12+
<button
13+
mat-raised-button
14+
color="primary"
15+
*mifosxHasPermission="'WAIVE_SAVINGSACCOUNTCHARGE'"
16+
(click)="editCharge()"
17+
>
18+
<fa-icon icon="flag" class="m-r-10"></fa-icon>
19+
{{ 'labels.buttons.Edit' | translate }}
20+
</button>
21+
@if (allowPayCharge) {
22+
<span>
23+
<button
24+
mat-raised-button
25+
color="accent"
26+
*mifosxHasPermission="'PAY_SAVINGSACCOUNTCHARGE'"
27+
(click)="payCharge()"
28+
>
29+
<fa-icon icon="dollar-sign" class="m-r-10"></fa-icon>
30+
{{ 'labels.buttons.Pay' | translate }}
31+
</button>
32+
</span>
33+
}
34+
@if (allowWaive) {
35+
<span>
36+
<button
37+
mat-raised-button
38+
color="primary"
39+
*mifosxHasPermission="'WAIVE_SAVINGSACCOUNTCHARGE'"
40+
(click)="waiveCharge()"
41+
>
42+
<fa-icon icon="flag" class="m-r-10"></fa-icon>
43+
{{ 'labels.buttons.Waive' | translate }}
44+
</button>
45+
</span>
46+
}
4547
}
4648
<span>
4749
<button
@@ -176,7 +178,13 @@
176178
</div>
177179

178180
<div class="layout-row layout-align-center gap-2percent column-on-mobile">
179-
<button type="button" mat-raised-button color="primary" [routerLink]="['../']">
181+
<button
182+
type="button"
183+
mat-raised-button
184+
color="primary"
185+
[routerLink]="['../']"
186+
[queryParams]="{ productType: loanProductService.productType.value }"
187+
>
180188
{{ 'labels.buttons.Back' | translate }}
181189
</button>
182190
</div>

0 commit comments

Comments
 (0)