diff --git a/app/global-translations/locale-en.json b/app/global-translations/locale-en.json index 7cfe4cdc..e43c5020 100644 --- a/app/global-translations/locale-en.json +++ b/app/global-translations/locale-en.json @@ -1744,6 +1744,9 @@ "label.heading.savingscontrol": "Savings Control", "label.heading.interestonsavings": "Interest on Savings", "label.heading.incomefromfee": "Income from Fee", + "label.heading.principalCycleVariations":"Principal Variations for Borrower Cycle", + "label.heading.interestRateCycleVariations":"Interest Rate for Borrower Cycle ", + "label.heading.numerOfRepaymentCycleVariations":"# of Repayments for Borrower Cycle ", "#Anchors": "..", "label.anchor.products": "Products", @@ -1801,7 +1804,8 @@ "label.input.savingcontrol": "Saving control", "label.input.interestonsavings": "Interest on savings", "label.input.filterbynamefundname": "Filter by name/fund name", - + "label.input.useborrowerloancounter":"Use borrower loan cycle counter", + "label.input.cyclenumber":"Borrower cycle", "#Buttons": "..", "label.button.createcharge": "Create Charge", @@ -1821,6 +1825,8 @@ "chargeAppliesTo.loan": "Loan", "chargeAppliesTo.savings": "Savings", "chargeCalculationType.flat": "Flat", + "LoanProductValueConditionType.equal":"=", + "LoanProductValueConditionType.greterthan":">", "chargeTimeType.disbursement": "Disbursement", "chargeTimeType.specifiedDueDate": "Specified due date", "chargeTimeType.savingsActivation": "Savings Activation", @@ -1999,6 +2005,43 @@ "validation.msg.savingsproduct.incomeFromFeeAccountId.cannot.be.blank ": "Income from Fees Account is mandatory", "error.msg.charge.cannot.be.applied.to.savings.product": "Charge with identifier `{{params[0].value}} cannot be applied to Savings product.", "error.msg.charge.attach.to.savings.product.invalid.currency": "Charge and Savings Product must have the same currency.", + "validation.msg.loanproduct.principalValueUsageCondition.cannot.be.blank":"Borrower cycle condition type can't be blank", + "validation.msg.loanproduct.principalValueUsageCondition.is.not.within.expected.range":"condition type must be equal or greter than only.", + "validation.msg.loanproduct.principalCycleNumbers.cannot.be.blank":"Borrower cycle number can't be blank", + "validation.msg.loanproduct.principalCycleNumbers.condition.type.must.end.with.greterthan":"principal amount variations must end with greterthan condition", + "validation.msg.loanproduct.principalCycleNumbers.not.greater.than.specified.number":"Borrower cycle number {{params[0].value}} is invalild.Cycle number must be greter than {{params[1].value}}", + "validation.msg.loanproduct.principalCycleNumbers.not.equal.to.specified.number":"Borrower cycle number {{params[0].value}} is invalild.Cycle number must be equal to {{params[1].value}}", + "validation.msg.loanproduct.principalPerCycle.cannot.be.blank":"Principal amount default value is mandatory", + "validation.msg.loanproduct.principalPerCycle.amount.is.not.within.min.max.range":"Principal amount {{params[0].value}} is invalid. Must be an amount between {{params[1].value}} and {{params[2].value}} inclusive.", + "validation.msg.loanproduct.principalPerCycle.is.less.than.min":"Principal amount {{params[0].value}} is invalid. Must be an amount greater than or equal to Minimum Principal amount {{params[1].value}}.", + "validation.msg.loanproduct.principalPerCycle.is.greater.than.max":"Principal amount {{params[0].value}} is invalid. Must be an amount less than or equal to Maximum principal amount {{params[1].value}}.", + "validation.msg.loanproduct.minPrincipalPerCycle.is.greater.than.max":"Minimum Principal amount {{params[0].value}} is invalid. Must be an amount less than or equal to Maximum Principal amount {{params[1].value}}.", + "validation.msg.loanproduct.maxPrincipalPerCycle.is.less.than.min":"Maximum Principal amount {{params[0].value}} is invalid. Must be an amount greater than or equal to Minimum Principal amount {{params[1].value}}.", + "validation.msg.loanproduct.repaymentValueUsageCondition.cannot.be.blank":"Borrower cycle condition type can't be blank", + "validation.msg.loanproduct.repaymentValueUsageCondition.is.not.within.expected.range":"condition type must be equal or greter than only.", + "validation.msg.loanproduct.repaymentCycleNumber.cannot.be.blank":"Borrower cycle number can't be blank", + "validation.msg.loanproduct.repaymentCycleNumber.condition.type.must.end.with.greterthan":"Repayment number borrower cycle variations must end with greterthan condition", + "validation.msg.loanproduct.repaymentCycleNumber.not.greater.than.specified.number":"Borrower cycle number {{params[0].value}} is invalild.Cycle number must be greter than {{params[1].value}}", + "validation.msg.loanproduct.repaymentCycleNumber.not.equal.to.specified.number":"Borrower cycle number {{params[0].value}} is invalild.Cycle number must be equal to {{params[1].value}}", + "validation.msg.loanproduct.numberOfRepaymentsPerCycle.cannot.be.blank":"#repayments default value is mandatory", + "validation.msg.loanproduct.numberOfRepaymentsPerCycle.amount.is.not.within.min.max.range":"#Repayment {{params[0].value}} is invalid. Must be an number between {{params[1].value}} and {{params[2].value}} inclusive.", + "validation.msg.loanproduct.numberOfRepaymentsPerCycle.is.less.than.min":"#Repayment {{params[0].value}} is invalid. Must be an number greater than or equal to Minimum #Repayment {{params[1].value}}.", + "validation.msg.loanproduct.numberOfRepaymentsPerCycle.is.greater.than.max":"#Repayment {{params[0].value}} is invalid. Must be an amount less than or equal to Maximum #Repayment {{params[1].value}}.", + "validation.msg.loanproduct.minNumberOfRepaymentsPerCycle.is.greater.than.max":"Minimum #Repayment {{params[0].value}} is invalid. Must be an number less than or equal to Maximum #Repayment {{params[1].value}}.", + "validation.msg.loanproduct.maxNumberOfRepaymentsPerCycle.is.less.than.min":"Maximum #Repayment {{params[0].value}} is invalid. Must be an number greater than or equal to Minimum #Repayment {{params[1].value}}.", + "validation.msg.loanproduct.interestRateValueUsageCondition.cannot.be.blank":"Borrower cycle condition type can't be blank", + "validation.msg.loanproduct.interestRateValueUsageCondition.is.not.within.expected.range":"condition type must be equal or greter than only.", + "validation.msg.loanproduct.interestRateCycleNumber.cannot.be.blank":"Borrower cycle number can't be blank", + "validation.msg.loanproduct.interestRateCycleNumber.condition.type.must.end.with.greterthan":"Interest rate borrower cycle variations must end with greterthan condition", + "validation.msg.loanproduct.interestRateCycleNumber.not.greater.than.specified.number":"Borrower cycle number {{params[0].value}} is invalild.Cycle number must be greter than {{params[1].value}}", + "validation.msg.loanproduct.interestRateCycleNumber.not.equal.to.specified.number":"Borrower cycle number {{params[0].value}} is invalild.Cycle number must be equal to {{params[1].value}}", + "validation.msg.loanproduct.interestRatePerPeriodPerCycle.cannot.be.blank":"Interest rate default value is mandatory", + "validation.msg.loanproduct.interestRatePerPeriodPerCycle.amount.is.not.within.min.max.range":"Interest rate {{params[0].value}} is invalid. Must be an number between {{params[1].value}} and {{params[2].value}} inclusive.", + "validation.msg.loanproduct.interestRatePerPeriodPerCycle.is.less.than.min":"Interest rate {{params[0].value}} is invalid. Must be an number greater than or equal to Minimum Interest rate {{params[1].value}}.", + "validation.msg.loanproduct.interestRatePerPeriodPerCycle.is.greater.than.max":"Interest rate {{params[0].value}} is invalid. Must be an amount less than or equal to Maximum Interest rate {{params[1].value}}.", + "validation.msg.loanproduct.minInterestRatePerPeriodPerCycle.is.greater.than.max":"Minimum Interest rate {{params[0].value}} is invalid. Must be an number less than or equal to Maximum Interest rate {{params[1].value}}.", + "validation.msg.loanproduct.maxInterestRatePerPeriodPerCycle.is.less.than.min":"Maximum Interest rate {{params[0].value}} is invalid. Must be an number greater than or equal to Minimum Interest rate {{params[1].value}}.", + "------------------": "------------", diff --git a/app/scripts/controllers/savings/SavingAccountActionsController.js b/app/scripts/controllers/savings/SavingAccountActionsController.js index c411ea9e..a995ad9b 100644 --- a/app/scripts/controllers/savings/SavingAccountActionsController.js +++ b/app/scripts/controllers/savings/SavingAccountActionsController.js @@ -14,34 +14,34 @@ switch (scope.action) { case "approve": - scope.title = 'label.approve.saving.account'; - scope.labelName = 'label.saving.account.approvedOnDate'; + scope.title = 'label.heading.approvesavingaccount'; + scope.labelName = 'label.input.savingaccountapprovedOnDate'; scope.modelName = 'approvedOnDate'; scope.showDateField = true; scope.showNoteField = true; break; case "reject": - scope.title = 'label.reject.saving.account'; - scope.labelName = 'label.saving.account.rejectedOnDate'; + scope.title = 'label.heading.rejectsavingaccount'; + scope.labelName = 'label.input.rejectedon'; scope.modelName = 'rejectedOnDate'; scope.showDateField = true; scope.showNoteField = true; break; case "withdrawnByApplicant": - scope.title = 'label.withdraw.saving.account'; - scope.labelName = 'label.saving.account.withdrawnOnDate'; + scope.title = 'label.heading.withdrawsavingaccount'; + scope.labelName = 'label.input.withdrawnon'; scope.modelName = 'withdrawnOnDate'; scope.showDateField = true; scope.showNoteField = true; break; case "undoapproval": - scope.title = 'label.undoapprove.saving.account'; + scope.title = 'label.heading.undoapprovesavingaccount'; scope.showDateField = false; scope.showNoteField = true; break; case "activate": - scope.title = 'label.activate.saving.account'; - scope.labelName = 'label.saving.account.activatedOnDate'; + scope.title = 'label.heading.activatesavingaccount'; + scope.labelName = 'label.input.activatedon'; scope.modelName = 'activatedOnDate'; scope.showDateField = true; scope.showNoteField = false; @@ -50,8 +50,8 @@ resourceFactory.savingsTrxnsTemplateResource.get({savingsId:scope.accountId, command:'deposit'}, function (data) { scope.paymentTypes=data.paymentTypeOptions; }); - scope.title = 'label.deposit.money.to.saving.account'; - scope.labelName = 'label.saving.account.transactionDate'; + scope.title = 'label.heading.depositmoneytosavingaccount'; + scope.labelName = 'label.input.transactiondate'; scope.modelName = 'transactionDate'; scope.showDateField = true; scope.showNoteField = false; @@ -62,8 +62,8 @@ resourceFactory.savingsTrxnsTemplateResource.get({savingsId:scope.accountId, command:'withdrawal'}, function (data) { scope.paymentTypes=data.paymentTypeOptions; }); - scope.title = 'label.withdraw.money.from.saving.account'; - scope.labelName = 'label.saving.account.transactionDate'; + scope.title = 'label.heading.withdrawmoneyfromsavingaccount'; + scope.labelName = 'label.input.transactiondate'; scope.modelName = 'transactionDate'; scope.showDateField = true; scope.showNoteField = false; @@ -79,8 +79,8 @@ scope.formData.dueDate = new Date(dueDate); } }); - scope.title = 'label.saving.account.apply.annualFee'; - scope.labelName = 'label.saving.account.annualFeeTransactionDate'; + scope.title = 'label.heading.savingaccountapplyannualFee'; + scope.labelName = 'label.input.annualfeetransactiondate'; scope.modelName = 'dueDate'; scope.showDateField = true; scope.showAnnualAmountField = true; @@ -88,8 +88,8 @@ scope.showNoteField = false; break; case "close": - scope.title = 'label.close.saving.account'; - scope.labelName = 'label.saving.account.closedOnDate'; + scope.title = 'label.heading.closesavingaccount'; + scope.labelName = 'label.input.closedon'; scope.modelName = 'closedOnDate'; scope.showDateField = true; scope.showNoteField = true; @@ -97,8 +97,8 @@ case "modifytransaction": resourceFactory.savingsTrxnsResource.get({savingsId:scope.accountId, transactionId:routeParams.transactionId, template:'true'}, function (data) { - scope.title = 'label.edit.saving.account.transaction'; - scope.labelName = 'label.saving.account.transactionDate'; + scope.title = 'label.heading.editsavingaccounttransaction'; + scope.labelName = 'label.input.transactiondate'; scope.modelName = 'transactionDate'; scope.formData[scope.modelName] = new Date(data.date) || new Date(); scope.paymentTypes=data.paymentTypeOptions; @@ -131,7 +131,7 @@ } var feeOnMonthDay = dateFilter(scope.dateArray, 'dd MMMM yyyy'); scope.formData.feeOnMonthDayFullDate = new Date(feeOnMonthDay); - scope.labelName = 'label.saving.account.transactionDate'; + scope.labelName = 'label.heading.savingaccounttransactionDate'; scope.modelName = 'feeOnMonthDayFullDate'; scope.showDateField = true; scope.showAnnualAmountField = true; diff --git a/app/views/loans/editloanaccount.html b/app/views/loans/editloanaccount.html index a6a89ac4..74d31f10 100644 --- a/app/views/loans/editloanaccount.html +++ b/app/views/loans/editloanaccount.html @@ -1,19 +1,19 @@