diff --git a/src/app/products/saving-products/saving-product-stepper/saving-product-settings-step/saving-product-settings-step.component.html b/src/app/products/saving-products/saving-product-stepper/saving-product-settings-step/saving-product-settings-step.component.html index a841cf83f..600a56977 100644 --- a/src/app/products/saving-products/saving-product-stepper/saving-product-settings-step/saving-product-settings-step.component.html +++ b/src/app/products/saving-products/saving-product-stepper/saving-product-settings-step/saving-product-settings-step.component.html @@ -16,40 +16,62 @@ - + - - {{ 'labels.inputs.Lock-in Period' | translate }} - - - {{ 'labels.inputs.Frequency' | translate }} {{ 'labels.commons.is' | translate }} - {{ 'labels.commons.required' | translate }} - - - {{ 'tooltips.Frequency must be greater than zero' | translate }} - - - {{ 'tooltips.Frequency must be a positive integer' | translate }} - - +

{{ 'labels.inputs.Lock-in Period' | translate }}

- - - @for (lockinPeriodFrequencyType of lockinPeriodFrequencyTypeData; track lockinPeriodFrequencyType) { - - {{ lockinPeriodFrequencyType.value | translateKey: 'catalogs' }} - - } - - + + {{ 'labels.inputs.Enable Lock-in Period' | translate }} + + + @if (savingProductSettingsForm.value.enableLockinPeriod) { +
+ + {{ 'labels.inputs.Frequency' | translate }} + + + {{ 'labels.inputs.Frequency' | translate }} {{ 'labels.commons.is' | translate }} + {{ 'labels.commons.required' | translate }} + + + {{ 'tooltips.Frequency must be greater than zero' | translate }} + + + {{ 'tooltips.Frequency must be a positive integer' | translate }} + + + + + {{ 'labels.inputs.Type' | translate }} + + @for (lockinPeriodFrequencyType of lockinPeriodFrequencyTypeData; track lockinPeriodFrequencyType) { + + {{ lockinPeriodFrequencyType.value | translateKey: 'catalogs' }} + + } + + + {{ 'labels.inputs.Type' | translate }} {{ 'labels.commons.is' | translate }} + {{ 'labels.commons.required' | translate }} + + +
+ } + + 0; + this.savingProductSettingsForm.patchValue({ minRequiredOpeningBalance: this.savingProductsTemplate.minRequiredOpeningBalance, - lockinPeriodFrequency: this.savingProductsTemplate.lockinPeriodFrequency, - lockinPeriodFrequencyType: - this.savingProductsTemplate.lockinPeriodFrequencyType && - this.savingProductsTemplate.lockinPeriodFrequencyType.id, + enableLockinPeriod: hasLockinPeriod, withdrawalFeeForTransfers: this.savingProductsTemplate.withdrawalFeeForTransfers, minBalanceForInterestCalculation: this.savingProductsTemplate.minBalanceForInterestCalculation, enforceMinRequiredBalance: this.savingProductsTemplate.enforceMinRequiredBalance, @@ -67,6 +67,15 @@ export class SavingProductSettingsStepComponent implements OnInit { daysToDormancy: this.savingProductsTemplate.daysToDormancy, daysToEscheat: this.savingProductsTemplate.daysToEscheat }); + + if (hasLockinPeriod) { + this.savingProductSettingsForm.patchValue({ + lockinPeriodFrequency: this.savingProductsTemplate.lockinPeriodFrequency, + lockinPeriodFrequencyType: + this.savingProductsTemplate.lockinPeriodFrequencyType && + this.savingProductsTemplate.lockinPeriodFrequencyType.id + }); + } } createSavingProductSettingsForm() { @@ -75,15 +84,7 @@ export class SavingProductSettingsStepComponent implements OnInit { '', [Validators.min(0)] ], - lockinPeriodFrequency: [ - '', - [ - Validators.required, - Validators.min(1), - Validators.pattern('^[1-9]\\d*$') - ] - ], - lockinPeriodFrequencyType: [''], + enableLockinPeriod: [false], withdrawalFeeForTransfers: [false], minBalanceForInterestCalculation: [''], enforceMinRequiredBalance: [false], @@ -95,6 +96,26 @@ export class SavingProductSettingsStepComponent implements OnInit { } setConditionalControls() { + this.savingProductSettingsForm.get('enableLockinPeriod').valueChanges.subscribe((enableLockinPeriod: any) => { + if (enableLockinPeriod) { + this.savingProductSettingsForm.addControl( + 'lockinPeriodFrequency', + new UntypedFormControl('', [ + Validators.required, + Validators.min(1), + Validators.pattern('^[1-9]\\d*$') + ]) + ); + this.savingProductSettingsForm.addControl( + 'lockinPeriodFrequencyType', + new UntypedFormControl('', Validators.required) + ); + } else { + this.savingProductSettingsForm.removeControl('lockinPeriodFrequency'); + this.savingProductSettingsForm.removeControl('lockinPeriodFrequencyType'); + } + }); + this.savingProductSettingsForm.get('allowOverdraft').valueChanges.subscribe((allowOverdraft: any) => { if (allowOverdraft) { this.savingProductSettingsForm.addControl('minOverdraftForInterestCalculation', new UntypedFormControl('')); @@ -131,6 +152,8 @@ export class SavingProductSettingsStepComponent implements OnInit { } get savingProductSettings() { - return this.savingProductSettingsForm.value; + const formValue = { ...this.savingProductSettingsForm.value }; + delete formValue.enableLockinPeriod; + return formValue; } } diff --git a/src/assets/translations/cs-CS.json b/src/assets/translations/cs-CS.json index 6997af827..94c5e1a70 100644 --- a/src/assets/translations/cs-CS.json +++ b/src/assets/translations/cs-CS.json @@ -1598,6 +1598,7 @@ "Enable Auto Repayment for Down Payment": "Povolit automatické splácení zálohy", "Enable Dormancy Tracking": "Povolit sledování dormance", "Enable Down Payment": "Povolit zálohu", + "Enable Lock-in Period": "Povolit zamykací období", "Enable Multiple Disbursals": "Povolit vícenásobné výplaty", "Enabled": "Povoleno", "End Date": "Datum ukončení", diff --git a/src/assets/translations/de-DE.json b/src/assets/translations/de-DE.json index 9f74b504a..d11730e13 100644 --- a/src/assets/translations/de-DE.json +++ b/src/assets/translations/de-DE.json @@ -1598,6 +1598,7 @@ "Enable Auto Repayment for Down Payment": "Aktivieren Sie die automatische Rückzahlung für die Anzahlung", "Enable Dormancy Tracking": "Aktivieren Sie die Ruheverfolgung", "Enable Down Payment": "Anzahlung aktivieren", + "Enable Lock-in Period": "Sperrfrist aktivieren", "Enable Multiple Disbursals": "Aktivieren Sie Mehrfachauszahlungen", "Enabled": "Ermöglicht", "End Date": "Endtermin", diff --git a/src/assets/translations/en-US.json b/src/assets/translations/en-US.json index a0766dc33..52080dea2 100644 --- a/src/assets/translations/en-US.json +++ b/src/assets/translations/en-US.json @@ -1602,6 +1602,7 @@ "Enable Auto Repayment for Down Payment": "Enable Auto Repayment for Down Payment", "Enable Dormancy Tracking": "Enable Dormancy Tracking", "Enable Down Payment": "Enable Down Payment", + "Enable Lock-in Period": "Enable Lock-in Period", "Enable Multiple Disbursals": "Enable Multiple Disbursals", "Allow full term for each tranche": "Allow full term for each tranche", "Enabled": "Enabled", diff --git a/src/assets/translations/es-CL.json b/src/assets/translations/es-CL.json index 3fda5e405..cc779ef3d 100644 --- a/src/assets/translations/es-CL.json +++ b/src/assets/translations/es-CL.json @@ -1597,6 +1597,7 @@ "Enable Auto Repayment for Down Payment": "Habilitar el pago automático para el pago inicial", "Enable Dormancy Tracking": "Habilitar seguimiento de inactividad", "Enable Down Payment": "Habilitar Pago inicial", + "Enable Lock-in Period": "Habilitar período de bloqueo", "Enable Multiple Disbursals": "Habilitar múltiples desembolsos", "Enabled": "Activado", "End Date": "Fecha final", diff --git a/src/assets/translations/es-MX.json b/src/assets/translations/es-MX.json index cfc68afae..7615a3f79 100644 --- a/src/assets/translations/es-MX.json +++ b/src/assets/translations/es-MX.json @@ -1597,6 +1597,7 @@ "Enable Auto Repayment for Down Payment": "Habilitar el pago automático para el pago inicial", "Enable Dormancy Tracking": "Habilitar seguimiento de inactividad", "Enable Down Payment": "Habilitar Pago inicial", + "Enable Lock-in Period": "Habilitar período de bloqueo", "Enable Multiple Disbursals": "Habilitar múltiples desembolsos", "Enabled": "Activado", "End Date": "Fecha final", diff --git a/src/assets/translations/fr-FR.json b/src/assets/translations/fr-FR.json index ec43b1b58..b09bd55b1 100644 --- a/src/assets/translations/fr-FR.json +++ b/src/assets/translations/fr-FR.json @@ -1598,6 +1598,7 @@ "Enable Auto Repayment for Down Payment": "Activer le remboursement automatique pour l'acompte", "Enable Dormancy Tracking": "Activer le suivi de la dormance", "Enable Down Payment": "Activer l'acompte", + "Enable Lock-in Period": "Activer la période de blocage", "Enable Multiple Disbursals": "Activer les décaissements multiples", "Enabled": "Activé", "End Date": "Date de fin", diff --git a/src/assets/translations/it-IT.json b/src/assets/translations/it-IT.json index 636781f93..94228d324 100644 --- a/src/assets/translations/it-IT.json +++ b/src/assets/translations/it-IT.json @@ -1598,6 +1598,7 @@ "Enable Auto Repayment for Down Payment": "Abilita il rimborso automatico per l'acconto", "Enable Dormancy Tracking": "Abilita il monitoraggio della dormienza", "Enable Down Payment": "Abilita l'acconto", + "Enable Lock-in Period": "Abilita periodo di blocco", "Enable Multiple Disbursals": "Abilita esborsi multipli", "Enabled": "Abilitato", "End Date": "Data di fine", diff --git a/src/assets/translations/ko-KO.json b/src/assets/translations/ko-KO.json index 7c7ccd653..06829d066 100644 --- a/src/assets/translations/ko-KO.json +++ b/src/assets/translations/ko-KO.json @@ -1599,6 +1599,7 @@ "Enable Auto Repayment for Down Payment": "계약금 자동 상환 활성화", "Enable Dormancy Tracking": "휴면 추적 활성화", "Enable Down Payment": "계약금 활성화", + "Enable Lock-in Period": "잠금 기간 활성화", "Enable Multiple Disbursals": "다중 지불 활성화", "Enabled": "활성화됨", "End Date": "종료일", diff --git a/src/assets/translations/lt-LT.json b/src/assets/translations/lt-LT.json index 37c9fbcc1..239c465f9 100644 --- a/src/assets/translations/lt-LT.json +++ b/src/assets/translations/lt-LT.json @@ -1598,6 +1598,7 @@ "Enable Auto Repayment for Down Payment": "Įgalinti automatinį pradinio įnašo grąžinimą", "Enable Dormancy Tracking": "Įgalinti ramybės būsenos stebėjimą", "Enable Down Payment": "Įgalinti pradinį įnašą", + "Enable Lock-in Period": "Įgalinti užrakinimo laikotarpį", "Enable Multiple Disbursals": "Įgalinti kelias išmokas", "Enabled": "Įjungtas", "End Date": "Pabaigos data", diff --git a/src/assets/translations/lv-LV.json b/src/assets/translations/lv-LV.json index eaa6bd84b..3b531b7bf 100644 --- a/src/assets/translations/lv-LV.json +++ b/src/assets/translations/lv-LV.json @@ -1598,6 +1598,7 @@ "Enable Auto Repayment for Down Payment": "Iespējot pirmās iemaksas automātisko atmaksu", "Enable Dormancy Tracking": "Iespējot miega režīma izsekošanu", "Enable Down Payment": "Iespējot pirmo iemaksu", + "Enable Lock-in Period": "Iespējot bloķēšanas periodu", "Enable Multiple Disbursals": "Iespējot vairākas izmaksas", "Enabled": "Iespējots", "End Date": "Beigu datums", diff --git a/src/assets/translations/ne-NE.json b/src/assets/translations/ne-NE.json index e79b3b94e..f6d98cc03 100644 --- a/src/assets/translations/ne-NE.json +++ b/src/assets/translations/ne-NE.json @@ -1598,6 +1598,7 @@ "Enable Auto Repayment for Down Payment": "डाउन पेमेन्टको लागि स्वत: भुक्तानी सक्षम गर्नुहोस्", "Enable Dormancy Tracking": "निष्क्रियता ट्र्याकिङ सक्षम गर्नुहोस्", "Enable Down Payment": "डाउन पेमेन्ट सक्षम गर्नुहोस्", + "Enable Lock-in Period": "लक-इन अवधि सक्षम गर्नुहोस्", "Enable Multiple Disbursals": "बहुविध वितरण सक्षम गर्नुहोस्", "Enabled": "सक्षम गरियो", "End Date": "अन्त्य मिति", diff --git a/src/assets/translations/pt-PT.json b/src/assets/translations/pt-PT.json index 22f8345c2..a98e6a69f 100644 --- a/src/assets/translations/pt-PT.json +++ b/src/assets/translations/pt-PT.json @@ -1598,6 +1598,7 @@ "Enable Auto Repayment for Down Payment": "Ativar reembolso automático para adiantamento", "Enable Dormancy Tracking": "Habilitar rastreamento de dormência", "Enable Down Payment": "Ativar adiantamento", + "Enable Lock-in Period": "Ativar período de bloqueio", "Enable Multiple Disbursals": "Habilitar múltiplos desembolsos", "Enabled": "Habilitado", "End Date": "Data final", diff --git a/src/assets/translations/sw-SW.json b/src/assets/translations/sw-SW.json index e1266701b..7d7395ca3 100644 --- a/src/assets/translations/sw-SW.json +++ b/src/assets/translations/sw-SW.json @@ -1596,6 +1596,7 @@ "Enable Auto Repayment for Down Payment": "Washa Ulipaji Kiotomatiki kwa Malipo ya Chini", "Enable Dormancy Tracking": "Washa Ufuatiliaji wa Malalamiko", "Enable Down Payment": "Washa Malipo ya Chini", + "Enable Lock-in Period": "Washa Kipindi cha Kufunga", "Enable Multiple Disbursals": "Washa Utoaji Nyingi", "Enabled": "Imewashwa", "End Date": "Tarehe ya mwisho",