Skip to content

Commit b37fbbb

Browse files
authored
WEB-134: Fix floating rates creation bugs (#3466)
1 parent 081eb13 commit b37fbbb

5 files changed

Lines changed: 15 additions & 25 deletions

File tree

src/app/products/floating-rates/create-floating-rate/create-floating-rate.component.html

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,6 @@
5757
<div class="layout-row-wrap gap-70percent m-b-10 layout-lt-md-column">
5858
<p class="mat-title flex-25">
5959
{{ 'labels.inputs.Floating Rate Periods' | translate }}
60-
<i
61-
class="fas fa-question"
62-
matTooltip="{{ 'tooltips.Floating interest rate and start date' | translate }}"
63-
></i>
6460
</p>
6561

6662
<button mat-mini-fab type="button" color="primary" (click)="addFloatingRatePeriod()">
@@ -167,7 +163,7 @@
167163
mat-raised-button
168164
type="submit"
169165
color="primary"
170-
[disabled]="!floatingRateForm.valid"
166+
[disabled]="!floatingRateForm.valid || floatingRatePeriodsData.length === 0"
171167
*mifosxHasPermission="'CREATE_FLOATINGRATE'"
172168
>
173169
{{ 'labels.buttons.Submit' | translate }}

src/app/products/floating-rates/create-floating-rate/create-floating-rate.component.ts

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,6 @@ export class CreateFloatingRateComponent implements OnInit {
8989

9090
/** Floating Rate Period Data. */
9191
floatingRatePeriodsData: any[] = [];
92-
/** Minimum floating rate period date allowed. */
93-
minDate = new Date();
9492
/** Floating Rate Form. */
9593
floatingRateForm: UntypedFormGroup;
9694
/** Columns to be displayed in floating rate periods table. */
@@ -164,9 +162,7 @@ export class CreateFloatingRateComponent implements OnInit {
164162
*/
165163
addFloatingRatePeriod() {
166164
const floatingRatePeriodDialogRef = this.dialog.open(FloatingRatePeriodDialogComponent, {
167-
data: {
168-
fromDate: this.settingsService.businessDate
169-
}
165+
data: {}
170166
});
171167
floatingRatePeriodDialogRef.afterClosed().subscribe((response: any) => {
172168
if (response) {

src/app/products/floating-rates/edit-floating-rate/edit-floating-rate.component.html

Lines changed: 0 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -59,12 +59,6 @@
5959
<div class="layout-row-wrap gap-70percent m-b-10 layout-lt-md-column">
6060
<p class="mat-title flex-25">
6161
{{ 'labels.inputs.Floating Rate Periods' | translate }}
62-
<i
63-
class="fas fa-question"
64-
matTooltip="{{
65-
'tooltips.Floating interest rate and start date for this floating rate scheme' | translate
66-
}}"
67-
></i>
6862
</p>
6963

7064
<button mat-mini-fab type="button" color="primary" (click)="addFloatingRatePeriod()">

src/app/products/floating-rates/edit-floating-rate/edit-floating-rate.component.ts

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -89,8 +89,6 @@ export class EditFloatingRateComponent implements OnInit {
8989
floatingRateForm: UntypedFormGroup;
9090
/** Floating Rate Data. */
9191
floatingRateData: any;
92-
/** Minimum floating rate period date allowed. */
93-
minDate = new Date();
9492
/** Form Pristine Status. */
9593
isFloatingRateFormPristine = true;
9694
/** Columns to be displayed in floating rate periods table. */
@@ -192,7 +190,8 @@ export class EditFloatingRateComponent implements OnInit {
192190
data: {
193191
fromDate: ratePeriod.fromDate,
194192
interestRate: ratePeriod.interestRate,
195-
isDifferentialToBaseLendingRate: ratePeriod.isDifferentialToBaseLendingRate
193+
isDifferentialToBaseLendingRate: ratePeriod.isDifferentialToBaseLendingRate,
194+
isNew: true
196195
}
197196
});
198197
editFloatingRatePeriodDialogRef.afterClosed().subscribe((response: any) => {

src/app/products/floating-rates/floating-rate-period-dialog/floating-rate-period-dialog.component.ts

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -54,28 +54,33 @@ export class FloatingRatePeriodDialogComponent implements OnInit {
5454
* Creates the floating rate period form.
5555
*/
5656
ngOnInit() {
57-
this.minDate = this.settingsService.businessDate;
57+
// Set minDate to tomorrow based on server business date (floating rates must always be in the future)
58+
const tomorrow = new Date(this.settingsService.businessDate);
59+
tomorrow.setDate(tomorrow.getDate() + 1);
60+
tomorrow.setHours(0, 0, 0, 0);
61+
this.minDate = tomorrow;
62+
5863
let rowDisabled = false;
59-
if (this.data && new Date(this.data.fromDate) < this.minDate) {
64+
if (this.data?.fromDate && new Date(this.data.fromDate) < this.minDate) {
6065
rowDisabled = true;
6166
}
62-
if (this.data.isNew) {
67+
if (this.data?.isNew) {
6368
rowDisabled = false;
6469
}
6570
this.floatingRatePeriodForm = this.formBuilder.group({
6671
fromDate: [
67-
{ value: this.data ? new Date(this.data.fromDate) : '', disabled: rowDisabled },
72+
{ value: this.data?.fromDate ? new Date(this.data.fromDate) : '', disabled: rowDisabled },
6873
Validators.required
6974
],
7075
interestRate: [
71-
{ value: this.data ? this.data.interestRate : '', disabled: rowDisabled },
76+
{ value: this.data?.interestRate ?? '', disabled: rowDisabled },
7277
[
7378
Validators.required,
7479
Validators.min(0)
7580
]
7681
],
7782
isDifferentialToBaseLendingRate: [
78-
{ value: this.data ? this.data.isDifferentialToBaseLendingRate : false, disabled: rowDisabled }]
83+
{ value: this.data?.isDifferentialToBaseLendingRate ?? false, disabled: rowDisabled }]
7984
});
8085
}
8186

0 commit comments

Comments
 (0)