diff --git a/app/global-translations/locale-en.json b/app/global-translations/locale-en.json index 99c23596..a691a146 100644 --- a/app/global-translations/locale-en.json +++ b/app/global-translations/locale-en.json @@ -4213,13 +4213,22 @@ "m_savings_account": "Savings Account", "error.msg.collection.sheet.can.not.be.selected.meeting.date.not.attached.to.any.center" : "Collection sheet can not be generated without meeting date `{{params[0].value}}` attached to any center", "error.msg.guarantor.saving.account.activation.date.is.on.or.before.loan.submitted.on.date" : "Guarantor saving account activation date `{{params[0].value}}` is on or before the loan submitted on date `{{params[1].value}}`.", + "error.msg.non.empty.datatable.cannot.be.deleted" : "non empty datatable can not be deleted.", + "error.msg.non.empty.datatable.column.cannot.be.deleted" : "non empty datatable columns can not be deleted.", + "error.msg.non.empty.datatable.mandatory.column.cannot.be.added" : "non empty datatable mandatory columns can not be added.", "": "", - + "label.heading.depositaccounttype" : "Deposit Account Type", + "label.input.activationcharge" : "Activation Charge", " # teller management localization" : "---", "cashier.insufficient.amount.exception" : "Cashier do not have sufficient amount for this transaction.", "cashier.date.range.out.of.teller.date.range.exception" : "Cashier date range should be in teller date range.", "cashier.already.allocated.for.given.data.and.time.exception" : "Cashier already allocated for given date and time range.", + "": "", + "label.heading.nodataavailablefor" : "No Data Available For ", + "label.heading.onmeetingdate" : "on meeting date : ", + "label.heading.reschedulefrom" : "Reschedule From", + "label.heading.reschedulereason" : "Reschedule Reason", "#------------------": "------------", "#Notifications": "....", diff --git a/app/scripts/controllers/collection/CollectionSheetController.js b/app/scripts/controllers/collection/CollectionSheetController.js index 59689b31..d1e59a4f 100755 --- a/app/scripts/controllers/collection/CollectionSheetController.js +++ b/app/scripts/controllers/collection/CollectionSheetController.js @@ -67,7 +67,7 @@ scope.loanOfficerSelected = function (loanOfficerId) { if (loanOfficerId) { - $scope.loanOfficerId = loanOfficerId; + scope.loanOfficerId = loanOfficerId; resourceFactory.centerResource.getAllCenters({officeId: scope.officeId, staffId: loanOfficerId, orderBy: 'name', sortOrder: 'ASC', limit: -1}, function (data) { scope.centers = data; }); @@ -371,7 +371,7 @@ var cl = scope.clients.length; for (var j = 0; j < cl; j++) { scope.client = scope.clients[j]; - if (scope.client.attendanceType.id === 0) { + if (scope.client.attendanceType && scope.client.attendanceType.id === 0) { scope.client.attendanceType.id = 1; } } @@ -390,9 +390,12 @@ } var savingsTransaction = { savingsId:saving.savingsId, - transactionAmount:dueAmount + transactionAmount:dueAmount, + depositAccountType: saving.depositAccountType=='Saving Deposit'?100:(saving.depositAccountType=='Recurring Deposit'?300:400) }; - scope.bulkSavingsDueTransactions.push(savingsTransaction); + if(savingsTransaction.transactionAmount>0){ + scope.bulkSavingsDueTransactions.push(savingsTransaction); + } }); _.each(client.loans, function (loan) { @@ -422,7 +425,7 @@ _.each(group.clients, function (client) { var clientAttendanceDetails = { clientId: client.clientId, - attendanceType: client.attendanceType.id + attendanceType: client.attendanceType != undefined?client.attendanceType.id:null }; scope.clientsAttendance.push(clientAttendanceDetails); }); diff --git a/app/scripts/controllers/collection/IndividualCollectionSheetController.js b/app/scripts/controllers/collection/IndividualCollectionSheetController.js index 901f3fa2..b509c816 100755 --- a/app/scripts/controllers/collection/IndividualCollectionSheetController.js +++ b/app/scripts/controllers/collection/IndividualCollectionSheetController.js @@ -113,7 +113,8 @@ } var savingsTransaction = { savingsId: saving.savingsId, - transactionAmount: dueAmount + transactionAmount: dueAmount, + depositAccountType: saving.depositAccountType=='Saving Deposit'?100:(saving.depositAccountType=='Recurring Deposit'?300:400) }; if(saving.showPaymentDetails && saving.paymentTypeId != ""){ savingsTransaction.paymentTypeId = saving.paymentTypeId; @@ -123,7 +124,10 @@ savingsTransaction.receiptNumber = saving.receiptNumber; savingsTransaction.bankNumber = saving.bankNumber; } - scope.bulkSavingsDueTransactions.push(savingsTransaction); + if(savingsTransaction.transactionAmount>0){ + scope.bulkSavingsDueTransactions.push(savingsTransaction); + } + }); _.each(client.loans, function (loan) { diff --git a/app/scripts/controllers/collection/ProductiveCollectionSheetController.js b/app/scripts/controllers/collection/ProductiveCollectionSheetController.js index fdb4dcee..922d77f8 100644 --- a/app/scripts/controllers/collection/ProductiveCollectionSheetController.js +++ b/app/scripts/controllers/collection/ProductiveCollectionSheetController.js @@ -18,7 +18,7 @@ scope.meetingDate = routeParams.meetingDate; var submittedStaffId = []; scope.details = false; - + scope.noData = true; resourceFactory.centerResource.getAllMeetingFallCenters(params, function (data) { if (data[0]) { scope.staffCenterData = data[0].meetingFallCenters; @@ -61,6 +61,9 @@ } resourceFactory.centerResource.save({'centerId': scope.centerId, command: 'generateCollectionSheet'}, scope.formData, function (data) { scope.collectionsheetdata = data; + if(data.groups.length > 0){ + scope.noData = false; + } scope.clientsAttendanceArray(data.groups); scope.total(data); }); @@ -217,7 +220,7 @@ break; } } - + }); }; } diff --git a/app/scripts/controllers/deposits/fixed/CreateFixedDepositAccountController.js b/app/scripts/controllers/deposits/fixed/CreateFixedDepositAccountController.js index eea30694..035ee01b 100755 --- a/app/scripts/controllers/deposits/fixed/CreateFixedDepositAccountController.js +++ b/app/scripts/controllers/deposits/fixed/CreateFixedDepositAccountController.js @@ -148,18 +148,19 @@ if (scope.charges.length > 0) { for (var i in scope.charges) { - if (scope.charges[i].chargeTimeType.value == 'Annual Fee') { - this.formData.charges.push({ chargeId: scope.charges[i].chargeId, amount: scope.charges[i].amount, - feeOnMonthDay: dateFilter(scope.charges[i].feeOnMonthDay, 'dd MMMM')}); - } else if (scope.charges[i].chargeTimeType.value == 'Specified due date') { - this.formData.charges.push({ chargeId: scope.charges[i].chargeId, amount: scope.charges[i].amount, - dueDate: dateFilter(scope.charges[i].dueDate, scope.df)}); - } else if (scope.charges[i].chargeTimeType.value == 'Monthly Fee') { - this.formData.charges.push({ chargeId: scope.charges[i].chargeId, amount: scope.charges[i].amount, - feeOnMonthDay: dateFilter(scope.charges[i].feeOnMonthDay, 'dd MMMM'), feeInterval: scope.charges[i].feeInterval}); - } else { - this.formData.charges.push({ chargeId: scope.charges[i].chargeId, amount: scope.charges[i].amount}); + + var chargeData = { chargeId: scope.charges[i].chargeId, amount: scope.charges[i].amount}; + if(scope.charges[i].chargeTimeType.value == 'Annual Fee' || scope.charges[i].chargeTimeType.value == 'Monthly Fee'){ + chargeData.feeOnMonthDay = dateFilter(scope.charges[i].feeOnMonthDay, 'dd MMMM'); } + if (scope.charges[i].chargeTimeType.value == 'Specified due date' || scope.charges[i].chargeTimeType.code=='chargeTimeType.weeklyFee') { + chargeData.dueDate = dateFilter(scope.charges[i].dueDate, scope.df); + } + + if (scope.charges[i].chargeTimeType.value == 'Monthly Fee' || scope.charges[i].chargeTimeType.code=='chargeTimeType.weeklyFee') { + chargeData.feeInterval = scope.charges[i].feeInterval; + } + this.formData.charges.push(chargeData); } } diff --git a/app/scripts/controllers/deposits/fixed/FixedDepositAccountActionsController.js b/app/scripts/controllers/deposits/fixed/FixedDepositAccountActionsController.js index 493e1b40..98c00334 100644 --- a/app/scripts/controllers/deposits/fixed/FixedDepositAccountActionsController.js +++ b/app/scripts/controllers/deposits/fixed/FixedDepositAccountActionsController.js @@ -11,6 +11,16 @@ scope.isAccountClose = false; scope.showPaymentDetails = false; scope.paymentTypes = []; + scope.activationChargeAmount = 0; + scope.totalAmountIncludingActivationCharge = 0; + scope.depositAmount = 0; + if(scope.action=='activate'){ + resourceFactory.fixedDepositAccountResource.get({accountId: scope.savingAccountId, associations:'charges'}, function (data) { + scope.totalAmountIncludingActivationCharge = data.depositAmount+parseFloat(data.activationCharge); + scope.depositAmount = data.depositAmount; + scope.activationChargeAmount = data.activationCharge; + }); + } switch (scope.action) { case "approve": diff --git a/app/scripts/controllers/loanAccount/EditLoanAccAppController.js b/app/scripts/controllers/loanAccount/EditLoanAccAppController.js index f9b62d69..291edcbe 100755 --- a/app/scripts/controllers/loanAccount/EditLoanAccAppController.js +++ b/app/scripts/controllers/loanAccount/EditLoanAccAppController.js @@ -121,6 +121,12 @@ scope.formData.numberOfRepayments = scope.loanaccountinfo.numberOfRepayments; scope.formData.repaymentEvery = scope.loanaccountinfo.repaymentEvery; scope.formData.repaymentFrequencyType = scope.loanaccountinfo.repaymentFrequencyType.id; + if (scope.loanaccountinfo.repaymentFrequencyNthDayType != null){ + scope.formData.repaymentFrequencyNthDayType = scope.loanaccountinfo.repaymentFrequencyNthDayType.id; + } + if(scope.loanaccountinfo.repaymentFrequencyDayOfWeekType != null){ + scope.formData.repaymentFrequencyDayOfWeekType = scope.loanaccountinfo.repaymentFrequencyDayOfWeekType.id + } scope.formData.interestRatePerPeriod = scope.loanaccountinfo.interestRatePerPeriod; scope.formData.interestRateFrequencyType = scope.loanaccountinfo.interestRateFrequencyType.id; scope.formData.amortizationType = scope.loanaccountinfo.amortizationType.id; @@ -230,11 +236,13 @@ for (var i in scope.collaterals) { scope.formData.collateral.push({type: scope.collaterals[i].type, value: scope.collaterals[i].value, description: scope.collaterals[i].description}); } - + } if (this.formData.syncRepaymentsWithMeeting) { - this.formData.calendarId = scope.loanaccountinfo.calendarOptions[0].id; + if(scope.loanaccountinfo.calendarOptions){ + this.formData.calendarId = scope.loanaccountinfo.calendarOptions[0].id; + } scope.syncRepaymentsWithMeeting = this.formData.syncRepaymentsWithMeeting; } delete this.formData.syncRepaymentsWithMeeting; @@ -288,7 +296,9 @@ } if (this.formData.syncRepaymentsWithMeeting) { - this.formData.calendarId = scope.loanaccountinfo.calendarOptions[0].id; + if(scope.loanaccountinfo.calendarOptions){ + this.formData.calendarId = scope.loanaccountinfo.calendarOptions[0].id; + } } delete this.formData.syncRepaymentsWithMeeting; delete this.formData.interestRateFrequencyType; @@ -328,4 +338,4 @@ mifosX.ng.application.controller('EditLoanAccAppController', ['$scope', '$routeParams', 'ResourceFactory', '$location', 'dateFilter', 'UIConfigService', mifosX.controllers.EditLoanAccAppController]).run(function ($log) { $log.info("EditLoanAccAppController initialized"); }); -}(mifosX.controllers || {})); \ No newline at end of file +}(mifosX.controllers || {})); diff --git a/app/scripts/controllers/main/TaskController.js b/app/scripts/controllers/main/TaskController.js index 0881b5bd..b56647ee 100644 --- a/app/scripts/controllers/main/TaskController.js +++ b/app/scripts/controllers/main/TaskController.js @@ -15,9 +15,18 @@ scope.restrictDate = new Date(); //this value will be changed within each specific tab scope.requestIdentifier = "loanId"; - + scope.itemsPerPage = 15; + scope.loanRescheduleData = []; + scope.checkForBulkLoanRescheduleApprovalData = []; + scope.rescheduleData = function(){ + resourceFactory.loanRescheduleResource.getAll({command:'pending'}, function (data) { + scope.loanRescheduleData = data; + }); + }; + scope.rescheduleData(); + resourceFactory.checkerInboxResource.get({templateResource: 'searchtemplate'}, function (data) { scope.checkerTemplate = data; }); @@ -32,7 +41,7 @@ var newValue = !scope.checkerInboxAllCheckBoxesMet(); if(!angular.isUndefined(scope.searchData)) { for (var i = scope.searchData.length - 1; i >= 0; i--) { - scope.checkData[scope.searchData[i].id] = newValue; + scope.checkData[scope.searchData[i].id] = newValue; }; } } @@ -53,7 +62,7 @@ var newValue = !scope.clientApprovalAllCheckBoxesMet(officeName); if(!angular.isUndefined(scope.groupedClients[officeName])) { for (var i = scope.groupedClients[officeName].length - 1; i >= 0; i--) { - scope.approveData[scope.groupedClients[officeName][i].id] = newValue; + scope.approveData[scope.groupedClients[officeName][i].id] = newValue; }; } } @@ -74,7 +83,7 @@ var newValue = !scope.loanApprovalAllCheckBoxesMet(office); if(!angular.isUndefined(scope.offices)) { for (var i = office.loans.length - 1; i >= 0; i--) { - scope.loanTemplate[office.loans[i].id] = newValue; + scope.loanTemplate[office.loans[i].id] = newValue; }; } } @@ -95,7 +104,7 @@ var newValue = !scope.loanDisbursalAllCheckBoxesMet(); if(!angular.isUndefined(scope.loans)) { for (var i = scope.loans.length - 1; i >= 0; i--) { - scope.loanDisbursalTemplate[scope.loans[i].id] = newValue; + scope.loanDisbursalTemplate[scope.loans[i].id] = newValue; }; } } @@ -251,10 +260,10 @@ scope.requestIdentifier = "clientId"; var reqId = 1; - _.each(items, function (value, key) { + _.each(items, function (value, key) { if (value == true) { - scope.batchRequests.push({requestId: reqId++, relativeUrl: "clients/"+key+"?command=activate", - method: "POST", body: JSON.stringify(activate)}); + scope.batchRequests.push({requestId: reqId++, relativeUrl: "clients/"+key+"?command=activate", + method: "POST", body: JSON.stringify(activate)}); } }); @@ -266,8 +275,8 @@ route.reload(); } } - - } + + } }); scope.approveData = {}; @@ -324,7 +333,7 @@ resourceFactory.clientResource.getAllClients({sqlSearch: 'c.status_enum=100'}, function (data) { - scope.groupedClients = _.groupBy(data.pageItems, "officeName"); + scope.groupedClients = _.groupBy(data.pageItems, "officeName"); }); scope.search = function () { @@ -407,10 +416,10 @@ scope.requestIdentifier = "loanId"; var reqId = 1; - _.each(scope.loanTemplate, function (value, key) { + _.each(scope.loanTemplate, function (value, key) { if (value == true) { - scope.batchRequests.push({requestId: reqId++, relativeUrl: "loans/"+key+"?command=approve", - method: "POST", body: JSON.stringify(scope.formData)}); + scope.batchRequests.push({requestId: reqId++, relativeUrl: "loans/"+key+"?command=approve", + method: "POST", body: JSON.stringify(scope.formData)}); } }); @@ -424,8 +433,8 @@ scope.loanResource(); } } - - } + + } }); }; @@ -462,14 +471,14 @@ } }); - scope.batchRequests = []; - scope.requestIdentifier = "loanId"; + scope.batchRequests = []; + scope.requestIdentifier = "loanId"; var reqId = 1; - _.each(scope.loanDisbursalTemplate, function (value, key) { + _.each(scope.loanDisbursalTemplate, function (value, key) { if (value == true) { - scope.batchRequests.push({requestId: reqId++, relativeUrl: "loans/"+key+"?command=disburse", - method: "POST", body: JSON.stringify(scope.formData)}); + scope.batchRequests.push({requestId: reqId++, relativeUrl: "loans/"+key+"?command=disburse", + method: "POST", body: JSON.stringify(scope.formData)}); } }); @@ -483,11 +492,80 @@ scope.loanResource(); } } - - } + + } }); }; + scope.approveBulkLoanReschedule = function () { + if (scope.checkForBulkLoanRescheduleApprovalData) { + $uibModal.open({ + templateUrl: 'loanreschedule.html', + controller: ApproveBulkLoanRescheduleCtrl + }); + } + }; + var ApproveBulkLoanRescheduleCtrl = function ($scope, $uibModalInstance) { + $scope.approveLoanReschedule = function () { + scope.bulkLoanRescheduleApproval(); + route.reload(); + $uibModalInstance.close('approveLoanReschedule'); + }; + $scope.cancel = function () { + $uibmodalInstance.dismiss('cancel'); + }; + } + scope.checkerInboxAllCheckBoxesClickedForBulkLoanRescheduleApproval = function() { var newValue = !scope.checkerInboxAllCheckBoxesMetForBulkLoanRescheduleApproval(); + scope.checkForBulkLoanRescheduleApprovalData = []; + if(!angular.isUndefined(scope.loanRescheduleData)) { + for (var i = scope.loanRescheduleData.length - 1; i >= 0; i--) { scope.checkForBulkLoanRescheduleApprovalData[scope.loanRescheduleData[i].id] = newValue; + }; + } + } + scope.checkerInboxAllCheckBoxesMetForBulkLoanRescheduleApproval = function() { + var checkBoxesMet = 0; + if(!angular.isUndefined(scope.loanRescheduleData)) { + _.each(scope.loanRescheduleData, function(data) { + if(_.has(scope.checkForBulkLoanRescheduleApprovalData, data.id)) { + if(scope.checkForBulkLoanRescheduleApprovalData[data.id] == true) { + checkBoxesMet++; + } + } + }); + return (checkBoxesMet===scope.loanRescheduleData.length); + } + } + scope.bulkLoanRescheduleApproval = function () { + scope.formData.approvedOnDate = dateFilter(new Date(), scope.df); + scope.formData.dateFormat = scope.df; + scope.formData.locale = scope.optlang.code; + var selectedAccounts = 0; + var approvedAccounts = 0; + _.each(scope.checkForBulkLoanRescheduleApprovalData, function (value, key) { + if (value == true) { + selectedAccounts++; + } + }); + scope.batchRequests = []; + scope.requestIdentifier = "RESCHEDULELOAN"; + var reqId = 1; + _.each(scope.checkForBulkLoanRescheduleApprovalData, function (value, key) { + if (value == true) { + var url = "rescheduleloans/"+key+"?command=approve"; + var bodyData = JSON.stringify(scope.formData); + var batchData = {requestId: reqId++, relativeUrl: url, method: "POST", body: bodyData}; + scope.batchRequests.push(batchData); + } + }); + resourceFactory.batchResource.post(scope.batchRequests, function (data) { + for(var i = 0; i < data.length; i++) { + if(data[i].statusCode = '200') { + approvedAccounts++; + data[i].body = JSON.parse(data[i].body); scope.checkForBulkLoanRescheduleApprovalData[data[i].body.resourceId] = false; + } + } + }); + }; } }); mifosX.ng.application.controller('TaskController', ['$scope', 'ResourceFactory', '$route', 'dateFilter', '$uibModal', '$location', mifosX.controllers.TaskController]).run(function ($log) { diff --git a/app/scripts/services/ResourceFactoryProvider.js b/app/scripts/services/ResourceFactoryProvider.js index 8422225d..d576deca 100755 --- a/app/scripts/services/ResourceFactoryProvider.js +++ b/app/scripts/services/ResourceFactoryProvider.js @@ -43,7 +43,7 @@ }), clientResource: defineResource(apiVer + "/clients/:clientId/:anotherresource", {clientId: '@clientId', anotherresource: '@anotherresource', sqlSearch: '@sqlSearch'}, { getAllClients: {method: 'GET', params: {limit: 1000, sqlSearch: '@sqlSearch'}}, - getAllClientsWithoutLimit: {method: 'GET', params: {limit: -1}}, + getAllClientsWithoutLimit: {method: 'GET', params: {}}, getClientClosureReasons: {method: 'GET', params: {}}, getAllClientDocuments: {method: 'GET', params: {}, isArray: true}, update: { method: 'PUT'} @@ -81,8 +81,8 @@ surveyResource: defineResource(apiVer + "/surveys", {}, { get: {method: 'GET', params: {}, isArray: true} }), - surveyScorecardResource: defineResource(apiVer + "/surveys/:surveyId/scorecards", {surveyId: '@surveyId'}, { - post: {method: 'POST', params: {}, isArray: false} + surveyScorecardResource: defineResource(apiVer + "/surveys/:surveyId/scorecards", {surveyId: '@surveyId'}, { + post: {method: 'POST', params: {}, isArray: false} }), groupResource: defineResource(apiVer + "/groups/:groupId/:anotherresource", {groupId: '@groupId', anotherresource: '@anotherresource'}, { @@ -163,8 +163,8 @@ update: {method: 'PUT', params: {}}, getAllInterestRateCharts: {method: 'GET', params: {productId: '@productId'}, isArray: true} }), - batchResource: defineResource(apiVer + "/batches", {}, { - post: {method: 'POST', params: {}, isArray: true} + batchResource: defineResource(apiVer + "/batches", {}, { + post: {method: 'POST', params: {}, isArray: true} }), loanResource: defineResource(apiVer + "/loans/:loanId/:resourceType/:resourceId", {resourceType: '@resourceType', loanId: '@loanId', resourceId: '@resourceId', limit: '@limit', sqlSearch: '@sqlSearch'}, { getAllLoans: {method: 'GET', params: {limit:'@limit', sqlSearch: '@sqlSearch'}}, @@ -427,8 +427,9 @@ loanReassignmentResource: defineResource(apiVer + "/loans/loanreassignment/:templateSource", {templateSource: '@templateSource'}, { get: {method: 'GET', params: {}} }), - loanRescheduleResource: defineResource(apiVer + "/rescheduleloans/:scheduleId",{scheduleId:'@scheduleId'},{ + loanRescheduleResource: defineResource(apiVer + "/rescheduleloans/:scheduleId",{scheduleId:'@scheduleId', command: '@command'},{ get: {method: 'GET',params:{}}, + getAll: {method: 'GET', params: {}, isArray: true}, template: {method: 'GET',params:{}}, preview:{method:'GET',params:{command:'previewLoanReschedule'}}, put: {method: 'POST', params: {command:'reschedule'}}, @@ -640,13 +641,7 @@ getAll: {method: 'GET', params: {}}, get: {method: 'GET', params: {}}, save: {method: 'POST', params: {}}, - delete: {method: 'DELETE', params: {}}, - getByStatus: {method: 'GET', params: {}} - }), - notificationsResource: defineResource(apiVer + "/notifications", {}, { - getAllNotifications : {method : 'GET', params: {isRead:true}}, - getAllUnreadNotifications: {method: 'GET', params: {isRead:false}}, - update: {method: 'PUT'} + delete: {method: 'DELETE', params: {}} }) }; }]; diff --git a/app/views/collection/collectionsheet.html b/app/views/collection/collectionsheet.html index 63b05a40..d6bcb667 100755 --- a/app/views/collection/collectionsheet.html +++ b/app/views/collection/collectionsheet.html @@ -120,7 +120,7 @@ {{loanproduct.name}}/{{'label.heading.charges' | translate}} - {{savingproduct.name}} + {{savingproduct.name}} ({{savingproduct.depositAccountType}}) {{'label.heading.attendance' | translate}} @@ -281,4 +281,4 @@ - \ No newline at end of file + diff --git a/app/views/collection/individualcollectionsheet.html b/app/views/collection/individualcollectionsheet.html index 2bef6f57..14d0b17c 100755 --- a/app/views/collection/individualcollectionsheet.html +++ b/app/views/collection/individualcollectionsheet.html @@ -30,7 +30,7 @@
- +
@@ -39,7 +39,7 @@
- +
+ {{loan.feeDue}}
-
+
+

{{'label.heading.nodataavailablefor' | translate}} {{officeName}} {{'label.heading.onmeetingdate' | translate}}{{meetingDate}}

+
+ -
+
-
+
@@ -98,7 +101,7 @@
-
+
diff --git a/app/views/deposits/fixed/fixed_deposit_account_actions.html b/app/views/deposits/fixed/fixed_deposit_account_actions.html index 26791c27..f509ab2a 100644 --- a/app/views/deposits/fixed/fixed_deposit_account_actions.html +++ b/app/views/deposits/fixed/fixed_deposit_account_actions.html @@ -20,7 +20,18 @@ ng-model="formData[modelName]" is-open="opened" min="minDate" max="restrictDate"/>
- +
+ + +
+
+ + +
+
+ + +
diff --git a/app/views/deposits/fixed/newapplication.html b/app/views/deposits/fixed/newapplication.html index 103ef678..2fe4b018 100755 --- a/app/views/deposits/fixed/newapplication.html +++ b/app/views/deposits/fixed/newapplication.html @@ -280,19 +280,19 @@ - + - + - + - - + + diff --git a/app/views/loans/editloanaccount.html b/app/views/loans/editloanaccount.html index e400c64b..87a8c072 100755 --- a/app/views/loans/editloanaccount.html +++ b/app/views/loans/editloanaccount.html @@ -166,6 +166,9 @@ ng-disabled="!loanaccountinfo.product.allowAttributeOverrides.repaymentEvery" ng-options="repaymentFrequencyType.id as repaymentFrequencyType.value for repaymentFrequencyType in loanaccountinfo.termFrequencyTypeOptions" value="{{repaymentFrequencyType.id}}"/>  +   diff --git a/app/views/tasks.html b/app/views/tasks.html index f1dbc64c..a6363f06 100644 --- a/app/views/tasks.html +++ b/app/views/tasks.html @@ -355,7 +355,7 @@