mirror of
https://github.com/openMF/community-app.git
synced 2026-02-06 13:51:55 +00:00
Added lagged commits
More changes
This commit is contained in:
parent
da24d97597
commit
826cab6715
@ -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": "....",
|
||||
|
||||
@ -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);
|
||||
});
|
||||
|
||||
@ -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) {
|
||||
|
||||
@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
});
|
||||
};
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -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":
|
||||
|
||||
@ -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 || {}));
|
||||
}(mifosX.controllers || {}));
|
||||
|
||||
@ -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) {
|
||||
|
||||
@ -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: {}}
|
||||
})
|
||||
};
|
||||
}];
|
||||
|
||||
@ -120,7 +120,7 @@
|
||||
{{loanproduct.name}}/{{'label.heading.charges' | translate}}
|
||||
</th>
|
||||
<th scope="colgroup" ng-repeat="savingproduct in collectionsheetdata.savingsProducts">
|
||||
{{savingproduct.name}}
|
||||
{{savingproduct.name}} ({{savingproduct.depositAccountType}})
|
||||
</th>
|
||||
<th>{{'label.heading.attendance' | translate}}</th>
|
||||
</tr>
|
||||
@ -281,4 +281,4 @@
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -30,7 +30,7 @@
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2">{{ 'label.input.repaymentdate' | translate }}<span
|
||||
class="required">*</span></label>
|
||||
|
||||
|
||||
<div class="col-sm-3">
|
||||
<input type="text" id="transactionDate" name="transactiondate" datepicker-pop="dd MMMM yyyy"
|
||||
ng-model="date.transactionDate" is-open="opened" class=" form-control"/>
|
||||
@ -39,7 +39,7 @@
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2">{{ 'label.input.staff' | translate }}</label>
|
||||
|
||||
|
||||
<div class="col-sm-3">
|
||||
<select chosen="loanOfficers" id="loanOfficerId" ng-model="loanOfficerId"
|
||||
ng-options="loanOfficer.id as loanOfficer.displayName for loanOfficer in loanOfficers"
|
||||
@ -93,7 +93,7 @@
|
||||
ng-model="loan.totalDue">
|
||||
</td>
|
||||
<td>
|
||||
<input type="text" class="input-sm form-control" ng-model="loan.chargesDue">
|
||||
{{loan.feeDue}}
|
||||
</td>
|
||||
<td>
|
||||
<button class="btn btn-default" ng-show="!loan.showPaymentDetails"
|
||||
@ -149,6 +149,7 @@
|
||||
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{{'label.heading.depositaccounttype' | translate }}</th>
|
||||
<th>{{'label.heading.savingsaccountno' | translate}}</th>
|
||||
<th>{{'label.heading.productname' | translate}}</th>
|
||||
<th>{{'label.heading.clientname' | translate}}</th>
|
||||
@ -158,6 +159,7 @@
|
||||
</thead>
|
||||
<tbody ng-repeat="client in collectionsheetdata.clients">
|
||||
<tr ng-repeat-start="saving in client.savings">
|
||||
<td>{{saving.depositAccountType}}</td>
|
||||
<td>{{saving.accountId}}</td>
|
||||
<td>{{saving.productName}}({{saving.productId}})</td>
|
||||
<td>{{client.clientName}}({{client.clientId}})</td>
|
||||
|
||||
@ -15,7 +15,10 @@
|
||||
<span>{{'label.heading.branch' | translate}} :{{officeName}}</span>
|
||||
<span class="paddedleft90">{{'label.input.meetingdate' | translate}} :{{meetingDate}}</span>
|
||||
</div>
|
||||
<div class="tabbable tabs-below ">
|
||||
<div class="tabbable tabs-below paddedtop" ng-show="noData">
|
||||
<span class="col-sm-6 alert alert-warning"> <h3>{{'label.heading.nodataavailablefor' | translate}} {{officeName}} {{'label.heading.onmeetingdate' | translate}}{{meetingDate}}</h3></span>
|
||||
</div>
|
||||
<div class="tabbable tabs-below" ng-hide="noData">
|
||||
<ul class="nav nav-tabs nav-pills">
|
||||
<li ng-class="{statusactive: selectedTab == center.id}" ng-repeat="center in staffCenterData">
|
||||
<a ng-click="getAllGroupsByCenter(center.id, center.collectionMeetingCalendar.id)">
|
||||
@ -27,7 +30,7 @@
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
<div>
|
||||
<div ng-hide="noData">
|
||||
<span>
|
||||
<button id="add" class="btn btn-primary" ng-click="detailsShow()">
|
||||
<i class="fa fa-plus" ng-hide="details"></i>
|
||||
@ -45,7 +48,7 @@
|
||||
</span>
|
||||
|
||||
</div>
|
||||
<div ng-show="details">
|
||||
<div ng-show="details" ng-hide="noData">
|
||||
<table class="table table-bordered">
|
||||
<thead>
|
||||
<tr>
|
||||
@ -98,7 +101,7 @@
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
<div class="col-md-offset-9 ">
|
||||
<div class="col-md-offset-9" ng-hide"noData">
|
||||
<button id="save" type="submit" class="btn btn-primary" ng-show="submitNextShow" ng-click="submit()">
|
||||
{{'label.button.submitandnextcenter' | translate}}
|
||||
</button>
|
||||
|
||||
@ -20,7 +20,18 @@
|
||||
ng-model="formData[modelName]" is-open="opened" min="minDate" max="restrictDate"/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group" ng-show="action=='activate' && activationChargeAmount>0">
|
||||
<label class="control-label col-sm-2">{{'label.input.depositamount' | translate}}</label>
|
||||
<label class="col-sm-3">{{depositAmount}}</label>
|
||||
</div>
|
||||
<div class="form-group" ng-show="action=='activate' && activationChargeAmount>0">
|
||||
<label class="control-label col-sm-2">{{ 'label.input.activationcharge' | translate}}</label>
|
||||
<label class="col-sm-3">{{activationChargeAmount}}</label>
|
||||
</div>
|
||||
<div class="form-group" ng-show="action=='activate' && activationChargeAmount>0">
|
||||
<label class="control-label col-sm-2">{{ 'label.heading.transactionamount' | translate}}</label>
|
||||
<label class="col-sm-2">{{totalAmountIncludingActivationCharge}}</label>
|
||||
</div>
|
||||
<div class="form-group" ng-show="showAmount">
|
||||
<label class="control-label col-sm-2">{{ 'label.input.amount' | translate}}<span
|
||||
class="required">*</span></label>
|
||||
|
||||
@ -280,19 +280,19 @@
|
||||
<input id="charges[{{$index}}].feeOnMonthDay" class="date-disable form-control"
|
||||
type="text" datepicker-pop="dd MMMM" ng-model="charge.feeOnMonthDay" is-open="opened"/>
|
||||
</td>
|
||||
<td ng-show="charge.chargeTimeType.value=='Specified due date'">
|
||||
<td ng-show="charge.chargeTimeType.value=='Specified due date' || charge.chargeTimeType.code=='chargeTimeType.weeklyFee'">
|
||||
<input id="charges[{{$index}}].dueDate" class="date-disable form-control"
|
||||
type="text" datepicker-pop="dd MMMM yyyy" ng-model="charge.dueDate" is-open="opened"/>
|
||||
</td>
|
||||
<td ng-show="charge.chargeTimeType.value=='Monthly Fee'">
|
||||
<input class="date-disable form-control" type="text" datepicker-pop="dd MMMM" number-format ng-model="charge.feeOnMonthDay" is-open="opened"/>
|
||||
<input class="form-control" type="text" datepicker-pop="dd MMMM yyyy" ng-model="charge.feeOnMonthDay" is-open="opened"/>
|
||||
</td>
|
||||
<td ng-show="charge.chargeTimeType.value=='Monthly Fee'">
|
||||
<td ng-show="charge.chargeTimeType.value=='Monthly Fee' || charge.chargeTimeType.code=='chargeTimeType.weeklyFee'">
|
||||
<input id="charges[{{$index}}].amount" class="form-control" type="text"
|
||||
number-format ng-model="charge.feeInterval"/>
|
||||
</td>
|
||||
<td ng-hide="charge.chargeTimeType.value=='Monthly Fee'"></td>
|
||||
<td ng-hide="charge.chargeTimeType.value=='Annual Fee' || charge.chargeTimeType.value=='Specified due date' || charge.chargeTimeType.value=='Monthly Fee'"></td>
|
||||
<td ng-hide="charge.chargeTimeType.value=='Monthly Fee' || charge.chargeTimeType.code=='chargeTimeType.weeklyFee'"></td>
|
||||
<td ng-hide="charge.chargeTimeType.value=='Annual Fee' || charge.chargeTimeType.value=='Specified due date' || charge.chargeTimeType.value=='Monthly Fee' || charge.chargeTimeType.code=='chargeTimeType.weeklyFee'"></td>
|
||||
<td><a ng-click="deleteCharge($index)"><i class="fa fa-times "></i></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
@ -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}}"/>
|
||||
<select id="repaymentFrequencyNthDayType" class="form-control" ng-model="formData.repaymentFrequencyNthDayType" ng-options="repaymentFrequencyNthDayType.id as repaymentFrequencyNthDayType.value for repaymentFrequencyNthDayType in loanaccountinfo.repaymentFrequencyNthDayTypeOptions" ng-show="formData.repaymentFrequencyType == 2" value="{{repaymentFrequencyNthDayType.id}}"/>
|
||||
<select id="repaymentFrequencyDayOfWeekType" class="form-control" ng-model="formData.repaymentFrequencyDayOfWeekType"
|
||||
ng-options="repaymentFrequencyDayOfWeekType.id as repaymentFrequencyDayOfWeekType.value for repaymentFrequencyDayOfWeekType in loanaccountinfo.repaymentFrequencyDaysOfWeekTypeOptions" ng-show="formData.repaymentFrequencyType == 2" value="{{repaymentFrequencyDayOfWeekType.id}}"/>
|
||||
<form-validate valattributeform="editloanaccountform" valattribute="repaidevery"/>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
@ -355,7 +355,7 @@
|
||||
</div>
|
||||
<script type="text/ng-template" id="disburseloan.html">
|
||||
<div class="modal-header silver">
|
||||
<h3 class="bolder">{{'label.heading.disburse' | translate}}</h3>
|
||||
<h3 class="bolder">{{'label.heading.rescheduleloan' | translate}}</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<api-validate></api-validate>
|
||||
@ -409,7 +409,7 @@
|
||||
</th>
|
||||
<th>
|
||||
<button type="button" class="btn btn-success"
|
||||
data-ng-click="approveLoanReschedule()"
|
||||
data-ng-click="approveBulkLoanReschedule()"
|
||||
has-permission='APPROVE_LOANRESCHEDULE'><i class="icon-ok"></i>{{'label.button.approve'
|
||||
| translate}}
|
||||
</button>
|
||||
@ -420,7 +420,7 @@
|
||||
</div>
|
||||
<script type="text/ng-template" id="loanreschedule.html">
|
||||
<div class="modal-header silver">
|
||||
<h3 class="bolder">{{'label.heading.disburse' | translate}}</h3>
|
||||
<h3 class="bolder">{{'label.heading.rescheduleloan' | translate}}</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<api-validate></api-validate>
|
||||
@ -437,17 +437,22 @@
|
||||
<table class="table condensed-table">
|
||||
<thead>
|
||||
<tr class="graybg">
|
||||
<th></th>
|
||||
<th><input type="checkbox" ng-click="checkerInboxAllCheckBoxesClickedForBulkLoanRescheduleApproval()" ng-checked="checkerInboxAllCheckBoxesMetForBulkLoanRescheduleApproval()"/></th>
|
||||
<th>{{'label.heading.client' | translate}}</th>
|
||||
<th>{{'label.heading.reschulerequest' | translate}}</th>
|
||||
<th>{{'label.heading.loanaccountnum' | translate}}</th>
|
||||
<th>{{'label.heading.loanproduct' | translate}}</th>
|
||||
<th>{{'label.heading.principal' | translate}}</th>
|
||||
<th>{{'label.heading.reschedulefrom' | translate}}</th>
|
||||
<th>{{'label.heading.reschedulereason' | translate}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
|
||||
|
||||
<tr dir-paginate="loanReschedule in loanRescheduleData | itemsPerPage: itemsPerPage"> <td><input type="checkbox" data-ng-model="checkForBulkLoanRescheduleApprovalData[loanReschedule.id]"/></td>
|
||||
<td><a href="#/viewclient/{{loanReschedule.clientId}}">{{loanReschedule.clientName}}</a></td>
|
||||
<td><a href="#/loans/{{loanReschedule.loanId}}/viewreschedulerequest/{{loanReschedule.id}}">{{loanReschedule.id}}</a></td>
|
||||
<td><a href="#/viewloanaccount/{{loanReschedule.loanId}}">{{loanReschedule.loanAccountNumber}}</a></td>
|
||||
<td><a>{{loanReschedule.rescheduleFromDate | DateFormat}}</a></td>
|
||||
<td><a>{{loanReschedule.rescheduleReasonCodeValue.name}}</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
|
||||
Loading…
Reference in New Issue
Block a user