mirror of
https://github.com/openMF/community-app.git
synced 2026-02-06 11:46:55 +00:00
Feat: Collateral Module (#3398)
This commit is contained in:
parent
4eb953d569
commit
43b78100a8
@ -2,6 +2,8 @@
|
||||
"#Common": "....",
|
||||
"#Headings": "..",
|
||||
"label.heading.totalshares": "Total Shares",
|
||||
"label.heading.editcollateral": "Edit Collateral",
|
||||
"label.heading.collaterals": "Collaterals",
|
||||
"label.heading.sharenominalprice": "Nominal/Unit Price",
|
||||
"label.heading.totalsharestobeissued": "Total Shares to be Issued",
|
||||
"label.heading.sharecapitalvalue": "Total Shares Capital Value",
|
||||
@ -11,6 +13,16 @@
|
||||
"label.heading.equityaccount": "Equity Account",
|
||||
"label.heading.allowdividendsforinactiveclients": "Allow dividends for inactive clients",
|
||||
"label.heading.name": "Name",
|
||||
"label.heading.quality": "Quality/Type",
|
||||
"label.heading.basePrice": "Base Price",
|
||||
"label.heading.pctToBase": "Base Percentage",
|
||||
"label.heading.unitType": "Unit Type",
|
||||
"label.heading.quantity": "Quantity",
|
||||
"label.heading.totalValue": "Total Value",
|
||||
"label.heading.totalCollateralValue": "Total Collateral Value",
|
||||
"label.heading.lastRepayment": "Last Repayment",
|
||||
"label.heading.remainingAmount": "Remaining Amount",
|
||||
"label.heading.lastRepaymentDate": "Last Repayment Date",
|
||||
"label.heading.alias": "Alias",
|
||||
"label.heading.amountDue": "Amount Due",
|
||||
"label.heading.cbid": "Credit Bureau ID",
|
||||
@ -126,6 +138,9 @@
|
||||
"label.heading.fromdate": "From Date:",
|
||||
"label.heading.interestrate": "Interest Rate",
|
||||
"label.heading.patternupdate": "Pattern Update",
|
||||
"label.input.collateralName": "Collateral Name",
|
||||
"label.input.quantity": "Quantity",
|
||||
"label.input.collateralSelection": "Collaterals",
|
||||
"label.input.between": "Between",
|
||||
"label.input.provisioningcriteria": "Provisioning Criteria",
|
||||
"label.input.floatingratename": "Floating Rate Name",
|
||||
@ -205,6 +220,8 @@
|
||||
"label.menu.businessRule": "Select Business Rule",
|
||||
"#Anchors": "..",
|
||||
"label.anchor.delete": "Delete",
|
||||
"label.anchor.editCollateral": "Edit Collateral",
|
||||
"label.anchor.createcollateral": "Create Collateral",
|
||||
"label.achor.activate": "Activate",
|
||||
"label.anchor.close": "Close",
|
||||
"label.anchor.assignstaff": "Assign Staff",
|
||||
@ -216,6 +233,9 @@
|
||||
"label.anchor.editpermissions": "Edit Permissions",
|
||||
"#Inputs": "..",
|
||||
"label.input.name": "Name",
|
||||
"label.input.unittype": "Unit Type",
|
||||
"label.input.pcttobase": "Percentage To Base",
|
||||
"label.input.baseprice": "Base Price",
|
||||
"label.input.firstname": "First name",
|
||||
"label.input.lastname": "Last name",
|
||||
"label.input.middlename": "Middle name",
|
||||
@ -264,6 +284,7 @@
|
||||
"label.input.group": "Group",
|
||||
"label.input.meetingcalendar": "Meeting calendar",
|
||||
"label.input.total": "Total",
|
||||
"label.input.totalCollateralValue": "Total Collateral Value",
|
||||
"label.input.note": "Note",
|
||||
"label.input.dueforcollectedon": "Due for collection on:",
|
||||
"label.input.language": "Language",
|
||||
@ -298,6 +319,9 @@
|
||||
"label.input.email": "Email",
|
||||
"#Buttons": "..",
|
||||
"label.button.previous": "Previous",
|
||||
"label.button.createcollateral": "Create Collateral",
|
||||
"label.button.viewcollaterals": "View Collaterals",
|
||||
"label.button.createclientcollateral": "Create Client Collateral",
|
||||
"label.button.next": "Next",
|
||||
"label.button.save": "Submit",
|
||||
"label.button.searchdata": "Search Data",
|
||||
@ -1317,13 +1341,13 @@
|
||||
"label.heading.loanproduct": "Loan Product",
|
||||
"label.heading.addloancharge": "Add Loan Charge",
|
||||
"label.heading.addloancollateral": "Add Loan Collateral",
|
||||
"label.heading.createcollateral": "Create Collateral",
|
||||
"label.heading.uploaddocument": "Upload Document",
|
||||
"label.heading.assignloanofficer": "Assign Loan Officer",
|
||||
"label.heading.guarantor": "Guarantor",
|
||||
"label.heading.createguarantor": "Create Guarantor",
|
||||
"label.heading.editloanaccount": "Edit Loan Account",
|
||||
"label.heading.editloanapplication": "Edit Loan Application",
|
||||
"label.heading.collaterals": "Collateral",
|
||||
"label.heading.value": "Value",
|
||||
"label.heading.loanamountandbalance": "Loan Amount and Balance",
|
||||
"label.heading.totalcostofloan": "Total Cost of Loan",
|
||||
@ -4368,8 +4392,11 @@
|
||||
|
||||
|
||||
"label.anchor.rates": "Rates",
|
||||
"label.anchor.collaterals": "Collaterals Management",
|
||||
"label.anchor.clientcollateral": "Client Collateral Management",
|
||||
"label.heading.rates": "Rates",
|
||||
"label.rates" : "Define rates for loan products, savings and deposit products.",
|
||||
"label.collaterals": "Define collaterals for Collateral Management",
|
||||
"label.button.createrate" : "Create Rate",
|
||||
"label.anchor.createrate" : "Create Rate",
|
||||
"label.heading.rateappliesto" : "Rate applies to",
|
||||
|
||||
@ -0,0 +1,65 @@
|
||||
(function (module) {
|
||||
mifosX.controllers = _.extend(module, {
|
||||
CreateClientCollateralController: function (scope, resourceFactory, routeParams, location) {
|
||||
|
||||
scope.formData = {};
|
||||
scope.clientId = routeParams.id;
|
||||
scope.collateralData = {};
|
||||
scope.disable = true;
|
||||
scope.collateralDataRequestBody = {};
|
||||
scope.collateralId;
|
||||
|
||||
scope.updateValues = function () {
|
||||
scope.formData.quantity = scope.formData.quantity * 1.0;
|
||||
scope.formData.total = scope.formData.quantity * scope.formData.basePrice;
|
||||
scope.formData.totalCollateral = scope.formData.total * scope.formData.pctToBase/100.00;
|
||||
}
|
||||
|
||||
scope.collateralProductChange = function (collateralId) {
|
||||
resourceFactory.collateralResource.get({collateralId: collateralId}, function (data) {
|
||||
scope.collateralData = data;
|
||||
scope.collateralId = collateralId;
|
||||
scope.formData.name = scope.collateralData.name;
|
||||
scope.formData.type = scope.collateralData.quality;
|
||||
scope.formData.basePrice = scope.collateralData.basePrice;
|
||||
scope.formData.pctToBase = scope.collateralData.pctToBase;
|
||||
scope.formData.unitType = scope.collateralData.unitType;
|
||||
scope.formData.collateralId = collateralId;
|
||||
scope.formData.quantity = 0.0;
|
||||
scope.formData.total = 0.0;
|
||||
scope.formData.totalCollateral = 0.0
|
||||
scope.disabled = false;
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
resourceFactory.collateralResource.getAllCollaterals(function (data) {
|
||||
scope.collaterals = data;
|
||||
});
|
||||
|
||||
scope.cancel = function () {
|
||||
location.path('/viewclient/' + scope.clientId);
|
||||
};
|
||||
|
||||
scope.submit = function () {
|
||||
this.formData.locale = scope.optlang.code;
|
||||
|
||||
delete this.formData.name;
|
||||
delete this.formData.pctToBase;
|
||||
delete this.formData.basePrice;
|
||||
delete this.formData.type;
|
||||
delete this.formData.unitType;
|
||||
delete this.formData.total;
|
||||
delete this.formData.totalCollateral;
|
||||
|
||||
resourceFactory.clientcollateralResource.save({clientId: scope.clientId}, this.formData, function (data) {
|
||||
location.path('/viewclient/' + scope.clientId + '/viewclientcollateral/' + data.resourceId);
|
||||
});
|
||||
};
|
||||
|
||||
}
|
||||
});
|
||||
mifosX.ng.application.controller('CreateClientCollateralController', ['$scope', 'ResourceFactory', '$routeParams', '$location', mifosX.controllers.CreateClientCollateralController]).run(function ($log) {
|
||||
$log.info("CreateClientCollateralController initialized");
|
||||
});
|
||||
}(mifosX.controllers || {}));
|
||||
@ -0,0 +1,39 @@
|
||||
(function (module) {
|
||||
mifosX.controllers = _.extend(module, {
|
||||
EditClientCollateralController: function (scope, resourceFactory, routeParams, location) {
|
||||
|
||||
scope.formData = {};
|
||||
scope.clientId = routeParams.id;
|
||||
scope.collateralId = routeParams.collateralId;
|
||||
scope.collateralDataRequestBody = {};
|
||||
|
||||
resourceFactory.clientcollateralResource.get({clientId: scope.clientId, collateralParamId: scope.collateralId}, function (data) {
|
||||
scope.collaterals = data;
|
||||
scope.formData = {
|
||||
name: data.name,
|
||||
quantity: data.quantity,
|
||||
total: data.total,
|
||||
totalCollateral: data.totalCollateral
|
||||
}
|
||||
});
|
||||
|
||||
scope.cancel = function () {
|
||||
location.path('/viewclient/' + scope.clientId);
|
||||
};
|
||||
|
||||
scope.submit = function () {
|
||||
this.formData.locale = scope.optlang.code;
|
||||
scope.collateralDataRequestBody.collateralId = scope.collateralId;
|
||||
scope.collateralDataRequestBody.quantity = this.formData.quantity;
|
||||
scope.collateralDataRequestBody.locale = this.formData.locale;
|
||||
resourceFactory.clientcollateralResource.update({clientId: scope.clientId, collateralParamId: scope.collateralId}, scope.collateralDataRequestBody, function (data) {
|
||||
location.path('/viewclient/' + scope.clientId + '/viewclientcollateral/' + data.resourceId);
|
||||
});
|
||||
};
|
||||
|
||||
}
|
||||
});
|
||||
mifosX.ng.application.controller('EditClientCollateralController', ['$scope', 'ResourceFactory', '$routeParams', '$location', mifosX.controllers.EditClientCollateralController]).run(function ($log) {
|
||||
$log.info("EditClientCollateralController initialized");
|
||||
});
|
||||
}(mifosX.controllers || {}));
|
||||
@ -0,0 +1,18 @@
|
||||
(function (module) {
|
||||
mifosX.controllers = _.extend(module, {
|
||||
ViewAllClientCollateralController: function (scope, resourceFactory, routeParams, location) {
|
||||
scope.clientId = routeParams.id;
|
||||
scope.routeTo = function (id) {
|
||||
location.path('/clients/' + routeParams.id + '/viewclientcollateral/' + id);
|
||||
};
|
||||
|
||||
scope.CollateralPerPage = 15;
|
||||
resourceFactory.clientcollateralResource.getAllCollaterals({clientId: scope.clientId}, function (data) {
|
||||
scope.collaterals = data;
|
||||
});
|
||||
}
|
||||
});
|
||||
mifosX.ng.application.controller('ViewAllClientCollateralController', ['$scope', 'ResourceFactory', '$location', mifosX.controllers.ViewAllClientCollateralController]).run(function ($log) {
|
||||
$log.info("ViewAllClientCollateralController initialized");
|
||||
});
|
||||
}(mifosX.controllers || {}));
|
||||
@ -0,0 +1,47 @@
|
||||
(function (module) {
|
||||
mifosX.controllers = _.extend(module, {
|
||||
ViewClientCollateralController: function (scope, resourceFactory, routeParams, location, $uibModal) {
|
||||
|
||||
scope.formData = {};
|
||||
scope.clientId = routeParams.id;
|
||||
scope.collateralId = routeParams.collateralId;
|
||||
scope.loanTransactions = [];
|
||||
|
||||
resourceFactory.clientcollateralResource.get({clientId: scope.clientId, collateralParamId: scope.collateralId}, function (data) {
|
||||
scope.collateral = data;
|
||||
scope.loanTransactions = scope.collateral.loanTransactionData;
|
||||
for (var i=0; i<scope.loanTransactions.length; i++){
|
||||
scope.loanTransactions[i].lastRepaymentDate.date = new Date(scope.loanTransactions[i].lastRepaymentDate.date);
|
||||
}
|
||||
});
|
||||
|
||||
scope.deleteClientCollateral = function () {
|
||||
$uibModal.open({
|
||||
templateUrl: 'deleteclientcollateral.html',
|
||||
controller: CollateralDeleteCtrl
|
||||
});
|
||||
};
|
||||
|
||||
scope.TransactionsPerPage =15;
|
||||
|
||||
var CollateralDeleteCtrl = function ($scope, $uibModalInstance) {
|
||||
$scope.delete = function () {
|
||||
resourceFactory.clientcollateralResource.delete({clientId: scope.clientId, collateralParamId: scope.collateralId}, function (data) {
|
||||
$uibModalInstance.close('delete');
|
||||
location.path('/viewclient/' + scope.clientId);
|
||||
});
|
||||
};
|
||||
$scope.cancel = function () {
|
||||
$uibModalInstance.dismiss('cancel');
|
||||
};
|
||||
};
|
||||
|
||||
scope.cancel = function () {
|
||||
location.path('/viewclient/' + scope.clientId);
|
||||
};
|
||||
}
|
||||
});
|
||||
mifosX.ng.application.controller('ViewClientCollateralController', ['$scope', 'ResourceFactory', '$routeParams', '$location', '$uibModal', mifosX.controllers.ViewClientCollateralController]).run(function ($log) {
|
||||
$log.info("ViewClientCollateralController initialized");
|
||||
});
|
||||
}(mifosX.controllers || {}));
|
||||
@ -18,6 +18,8 @@
|
||||
scope.charges = [];
|
||||
scope.legalform = 'm_client';
|
||||
|
||||
scope.collaterals = [];
|
||||
|
||||
|
||||
// address
|
||||
scope.addresses=[];
|
||||
@ -96,23 +98,14 @@
|
||||
|
||||
}
|
||||
|
||||
|
||||
// end of address
|
||||
|
||||
|
||||
// family members
|
||||
|
||||
scope.families=[];
|
||||
|
||||
|
||||
|
||||
|
||||
resourceFactory.familyMembers.get({clientId:routeParams.id},function(data)
|
||||
{
|
||||
|
||||
scope.families=data;
|
||||
|
||||
|
||||
});
|
||||
|
||||
scope.deleteFamilyMember=function(clientFamilyMemberId)
|
||||
@ -126,6 +119,10 @@
|
||||
|
||||
}
|
||||
|
||||
scope.viewCollaterals=function() {
|
||||
location.path('/clients/'+ routeParams.id +'/viewallclientcollaterals');
|
||||
}
|
||||
|
||||
scope.editFamilyMember=function(clientFamilyMemberId)
|
||||
{
|
||||
|
||||
@ -171,11 +168,17 @@
|
||||
|
||||
scope.routeToShareAccount = function(id) {
|
||||
location.path('/viewshareaccount/'+id)
|
||||
} ;
|
||||
};
|
||||
|
||||
scope.routeToCollateral = function(id) {
|
||||
location.path('/viewclient/' + routeParams.id + '/viewclientcollateral/' + id);
|
||||
}
|
||||
|
||||
scope.haveFile = [];
|
||||
resourceFactory.clientResource.get({clientId: routeParams.id}, function (data) {
|
||||
scope.client = data;
|
||||
scope.collaterals = scope.client.clientCollateralManagements;
|
||||
scope.collateralSize = scope.collaterals.length;
|
||||
scope.isClosedClient = scope.client.status.value == 'Closed';
|
||||
scope.staffData.staffId = data.staffId;
|
||||
if (data.imagePresent) {
|
||||
|
||||
@ -45,11 +45,15 @@
|
||||
scope.formData.externalId = data.externalId;
|
||||
|
||||
//update collaterals
|
||||
if (scope.loanaccountinfo.collateral) {
|
||||
for (var i in scope.loanaccountinfo.collateral) {
|
||||
scope.collaterals.push({type: scope.loanaccountinfo.collateral[i].type.id, name: scope.loanaccountinfo.collateral[i].type.name, value: scope.loanaccountinfo.collateral[i].value, description: scope.loanaccountinfo.collateral[i].description});
|
||||
resourceFactory.clientcollateralTemplateResource.getAllCollaterals({clientId: scope.clientId}, function(data) {
|
||||
scope.collateralsData = data;
|
||||
if (scope.loanaccountinfo.collateral) {
|
||||
for (var i in scope.loanaccountinfo.collateral) {
|
||||
scope.collateralsData = scope.collateralsData.filter((x) => x.collateralId !== scope.loanaccountinfo.collateral[i].clientCollateralId);
|
||||
}
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
|
||||
scope.previewClientLoanAccInfo();
|
||||
scope.ratesEnabled= scope.loanaccountinfo.isRatesEnabled;
|
||||
@ -70,7 +74,6 @@
|
||||
|
||||
resourceFactory.loanResource.get(inparams, function (data) {
|
||||
scope.loanaccountinfo = data;
|
||||
scope.collaterals = [];
|
||||
scope.previewClientLoanAccInfo();
|
||||
});
|
||||
|
||||
@ -79,6 +82,27 @@
|
||||
});
|
||||
}
|
||||
|
||||
scope.collateralAddedDataArray = [];
|
||||
|
||||
scope.addCollateral = function () {
|
||||
scope.collateralAddedDataArray.push(scope.collateralsData.filter((collateral) => scope.collateralFormData.collateralId == collateral.collateralId)[0]);
|
||||
scope.collateralsData = scope.collateralsData.filter((collateral) => scope.collateralFormData.collateralId != collateral.collateralId);
|
||||
scope.collaterals.push({collateralId: scope.collateralFormData.collateralId, quantity: scope.collateralFormData.quantity, total: scope.collateralFormData.total, totalCollateral: scope.collateralFormData.totalCollateral});
|
||||
};
|
||||
|
||||
scope.updateValues = function() {
|
||||
scope.collateralObject = scope.collateralsData.filter((collateral) => collateral.collateralId == scope.collateralFormData.collateralId)[0];
|
||||
scope.collateralFormData.total = scope.collateralFormData.quantity * scope.collateralObject.basePrice;
|
||||
scope.collateralFormData.totalCollateral = scope.collateralFormData.total * scope.collateralObject.pctToBase / 100.0;
|
||||
}
|
||||
|
||||
scope.deleteCollateral = function (index) {
|
||||
scope.collateralId = scope.collaterals[index].collateralId;
|
||||
scope.collateralObject = scope.collateralAddedDataArray.filter((collateral) => collateral.collateralId == scope.collateralId)[0];
|
||||
scope.collateralsData.push(scope.collateralObject);
|
||||
scope.collaterals.splice(index, 1);
|
||||
};
|
||||
|
||||
scope.previewClientLoanAccInfo = function () {
|
||||
scope.previewRepayment = false;
|
||||
for (var i in scope.loanaccountinfo.charges) {
|
||||
@ -263,19 +287,6 @@
|
||||
}
|
||||
};
|
||||
|
||||
scope.addCollateral = function () {
|
||||
if (scope.collateralFormData.collateralIdTemplate && scope.collateralFormData.collateralValueTemplate) {
|
||||
scope.collaterals.push({type: scope.collateralFormData.collateralIdTemplate.id, name: scope.collateralFormData.collateralIdTemplate.name, value: scope.collateralFormData.collateralValueTemplate, description: scope.collateralFormData.collateralDescriptionTemplate});
|
||||
scope.collateralFormData.collateralIdTemplate = undefined;
|
||||
scope.collateralFormData.collateralValueTemplate = undefined;
|
||||
scope.collateralFormData.collateralDescriptionTemplate = undefined;
|
||||
}
|
||||
};
|
||||
|
||||
scope.deleteCollateral = function (index) {
|
||||
scope.collaterals.splice(index, 1);
|
||||
};
|
||||
|
||||
scope.previewRepayments = function () {
|
||||
// Make sure charges and collaterals are empty before initializing.
|
||||
delete scope.formData.charges;
|
||||
@ -294,14 +305,6 @@
|
||||
}
|
||||
}
|
||||
|
||||
if (scope.collaterals.length > 0) {
|
||||
scope.formData.collateral = [];
|
||||
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) {
|
||||
if(scope.loanaccountinfo.calendarOptions){
|
||||
this.formData.calendarId = scope.loanaccountinfo.calendarOptions[0].id;
|
||||
@ -350,12 +353,17 @@
|
||||
}
|
||||
}
|
||||
|
||||
scope.formData.collateral = [];
|
||||
if (scope.collaterals.length > 0) {
|
||||
scope.formData.collateral = [];
|
||||
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});
|
||||
scope.formData.collateral.push({clientCollateralId: scope.collaterals[i].collateralId, quantity: scope.collaterals[i].quantity * 1.0});
|
||||
}
|
||||
if (scope.loanaccountinfo.collateral) {
|
||||
for (var i in scope.loanaccountinfo.collateral) {
|
||||
scope.collateralsData = scope.collateralsData.filter((x) => x.collateralId !== scope.loanaccountinfo.collateral[i].clientCollateralId);
|
||||
scope.formData.collateral.push({clientCollateralId: scope.loanaccountinfo.collateral[i].clientCollateralId, id: scope.loanaccountinfo.collateral[i].id, quantity: scope.loanaccountinfo.collateral[i].quantity});
|
||||
}
|
||||
}
|
||||
;
|
||||
}
|
||||
|
||||
if (this.formData.syncRepaymentsWithMeeting) {
|
||||
|
||||
@ -24,6 +24,9 @@
|
||||
scope.disabled = true;
|
||||
scope.translate= translate;
|
||||
scope.rateFlag=false;
|
||||
scope.collateralAddedDataArray = [];
|
||||
scope.collateralsData = {};
|
||||
scope.addedCollateral = {};
|
||||
|
||||
scope.date.first = new Date();
|
||||
|
||||
@ -49,9 +52,11 @@
|
||||
}
|
||||
|
||||
scope.inparams.staffInSelectedOfficeOnly = true;
|
||||
scope.currencyType;
|
||||
|
||||
resourceFactory.loanResource.get(scope.inparams, function (data) {
|
||||
scope.products = data.productOptions;
|
||||
console.log(scope.products);
|
||||
scope.ratesEnabled = data.isRatesEnabled;
|
||||
|
||||
if (data.clientName) {
|
||||
@ -66,6 +71,10 @@
|
||||
// _.isUndefined(scope.datatables) ? scope.tempDataTables = [] : scope.tempDataTables = scope.datatables;
|
||||
// WizardHandler.wizard().removeSteps(1, scope.tempDataTables.length);
|
||||
scope.inparams.productId = loanProductId;
|
||||
resourceFactory.clientcollateralTemplateResource.getAllCollaterals({clientId: scope.clientId, prodId: loanProductId}, function(data) {
|
||||
scope.collateralsData = data;
|
||||
scope.collateralsData = scope.collateralsData.filter((collateral) => collateral.quantity != 0);
|
||||
});
|
||||
// scope.datatables = [];
|
||||
resourceFactory.loanResource.get(scope.inparams, function (data) {
|
||||
scope.loanaccountinfo = data;
|
||||
@ -285,15 +294,21 @@
|
||||
};
|
||||
|
||||
scope.addCollateral = function () {
|
||||
if (scope.collateralFormData.collateralIdTemplate && scope.collateralFormData.collateralValueTemplate) {
|
||||
scope.collaterals.push({type: scope.collateralFormData.collateralIdTemplate.id, name: scope.collateralFormData.collateralIdTemplate.name, value: scope.collateralFormData.collateralValueTemplate, description: scope.collateralFormData.collateralDescriptionTemplate});
|
||||
scope.collateralFormData.collateralIdTemplate = undefined;
|
||||
scope.collateralFormData.collateralValueTemplate = undefined;
|
||||
scope.collateralFormData.collateralDescriptionTemplate = undefined;
|
||||
}
|
||||
scope.collateralAddedDataArray.push(scope.collateralsData.filter((collateral) => scope.collateralFormData.collateralId == collateral.collateralId)[0]);
|
||||
scope.collateralsData = scope.collateralsData.filter((collateral) => scope.collateralFormData.collateralId != collateral.collateralId);
|
||||
scope.collaterals.push({collateralId: scope.collateralFormData.collateralId, quantity: scope.collateralFormData.quantity, total: scope.collateralFormData.total, totalCollateral: scope.collateralFormData.totalCollateral});
|
||||
};
|
||||
|
||||
scope.updateValues = function() {
|
||||
scope.collateralObject = scope.collateralsData.filter((collateral) => collateral.collateralId == scope.collateralFormData.collateralId)[0];
|
||||
scope.collateralFormData.total = scope.collateralFormData.quantity * scope.collateralObject.basePrice;
|
||||
scope.collateralFormData.totalCollateral = scope.collateralFormData.total * scope.collateralObject.pctToBase / 100.0;
|
||||
}
|
||||
|
||||
scope.deleteCollateral = function (index) {
|
||||
scope.collateralId = scope.collaterals[index].collateralId;
|
||||
scope.collateralObject = scope.collateralAddedDataArray.filter((collateral) => collateral.collateralId == scope.collateralId)[0];
|
||||
scope.collateralsData.push(scope.collateralObject);
|
||||
scope.collaterals.splice(index, 1);
|
||||
};
|
||||
|
||||
@ -404,9 +419,8 @@
|
||||
if (scope.collaterals.length > 0) {
|
||||
scope.formData.collateral = [];
|
||||
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});
|
||||
scope.formData.collateral.push({clientCollateralId: scope.collaterals[i].collateralId, quantity: scope.collaterals[i].quantity * 1.0});
|
||||
}
|
||||
;
|
||||
}
|
||||
|
||||
if (this.formData.syncRepaymentsWithMeeting) {
|
||||
|
||||
@ -0,0 +1,15 @@
|
||||
(function (module) {
|
||||
mifosX.controllers = _.extend(module, {
|
||||
ViewLoanCollateralDataController: function (scope, resourceFactory, routeParams, location, $uibModal) {
|
||||
|
||||
scope.loanId = routeParams.id;
|
||||
scope.collateralId = routeParams.collateralId;
|
||||
resourceFactory.loancollateralResource.get({collateralId: scope.collateralId}, function (data) {
|
||||
scope.collateral = data;
|
||||
});
|
||||
}
|
||||
});
|
||||
mifosX.ng.application.controller('ViewLoanCollateralDataController', ['$scope', 'ResourceFactory', '$routeParams', '$location', '$uibModal', mifosX.controllers.ViewLoanCollateralDataController]).run(function ($log) {
|
||||
$log.info("ViewLoanCollateralDataController initialized");
|
||||
});
|
||||
}(mifosX.controllers || {}));
|
||||
18
app/scripts/controllers/product/CollateralController.js
Normal file
18
app/scripts/controllers/product/CollateralController.js
Normal file
@ -0,0 +1,18 @@
|
||||
(function (module) {
|
||||
mifosX.controllers = _.extend(module, {
|
||||
CollateralController: function (scope, resourceFactory, location) {
|
||||
|
||||
scope.routeTo = function (id) {
|
||||
location.path('/viewcollateral/' + id);
|
||||
};
|
||||
|
||||
scope.CollateralPerPage =15;
|
||||
resourceFactory.collateralResource.getAllCollaterals(function (data) {
|
||||
scope.collaterals = data;
|
||||
});
|
||||
}
|
||||
});
|
||||
mifosX.ng.application.controller('CollateralController', ['$scope', 'ResourceFactory', '$location', mifosX.controllers.CollateralController]).run(function ($log) {
|
||||
$log.info("CollateralController initialized");
|
||||
});
|
||||
}(mifosX.controllers || {}));
|
||||
@ -0,0 +1,28 @@
|
||||
(function (module) {
|
||||
mifosX.controllers = _.extend(module, {
|
||||
CreateCollateralController: function (scope, resourceFactory, routeParams, location) {
|
||||
|
||||
scope.currencyOptions = [];
|
||||
scope.formData = {};
|
||||
scope.collateralId = routeParams.id;
|
||||
resourceFactory.collateralTemplateResource.getAllCurrency(function (data) {
|
||||
scope.currencyOptions = data;
|
||||
});
|
||||
|
||||
scope.cancel = function () {
|
||||
location.path('/collaterals/');
|
||||
};
|
||||
|
||||
scope.submit = function () {
|
||||
this.formData.locale = scope.optlang.code;
|
||||
resourceFactory.collateralResource.save(this.formData, function (data) {
|
||||
location.path('/viewcollateral/' + data.resourceId);
|
||||
});
|
||||
};
|
||||
|
||||
}
|
||||
});
|
||||
mifosX.ng.application.controller('CreateCollateralController', ['$scope', 'ResourceFactory', '$routeParams', '$location', mifosX.controllers.CreateCollateralController]).run(function ($log) {
|
||||
$log.info("CreateCollateralController initialized");
|
||||
});
|
||||
}(mifosX.controllers || {}));
|
||||
39
app/scripts/controllers/product/EditCollateralController.js
Normal file
39
app/scripts/controllers/product/EditCollateralController.js
Normal file
@ -0,0 +1,39 @@
|
||||
(function (module) {
|
||||
mifosX.controllers = _.extend(module, {
|
||||
EditCollateralController: function (scope, resourceFactory, routeParams, location) {
|
||||
|
||||
scope.collateralId = routeParams.id;
|
||||
|
||||
resourceFactory.collateralTemplateResource.getAllCurrency(function (data) {
|
||||
scope.currencyOptions = data;
|
||||
});
|
||||
|
||||
resourceFactory.collateralResource.get({collateralId: scope.collateralId}, function (data) {
|
||||
scope.collateral = data;
|
||||
scope.formData = {
|
||||
name: data.name,
|
||||
unitType: data.unitType,
|
||||
basePrice: data.basePrice,
|
||||
type: data.quality,
|
||||
pctToBase: data.pctToBase,
|
||||
currency: data.currency
|
||||
};
|
||||
});
|
||||
|
||||
scope.cancel = function () {
|
||||
location.path('/collaterals');
|
||||
};
|
||||
|
||||
scope.submit = function () {
|
||||
this.formData.locale = scope.optlang.code;
|
||||
resourceFactory.collateralResource.update({collateralId: scope.collateralId}, this.formData, function (data) {
|
||||
location.path('/viewcollateral/' + scope.collateralId);
|
||||
});
|
||||
};
|
||||
|
||||
}
|
||||
});
|
||||
mifosX.ng.application.controller('EditCollateralController', ['$scope', 'ResourceFactory', '$routeParams', '$location', mifosX.controllers.EditCollateralController]).run(function ($log) {
|
||||
$log.info("EditCollateralController initialized");
|
||||
});
|
||||
}(mifosX.controllers || {}));
|
||||
33
app/scripts/controllers/product/ViewCollateralController.js
Normal file
33
app/scripts/controllers/product/ViewCollateralController.js
Normal file
@ -0,0 +1,33 @@
|
||||
(function (module) {
|
||||
mifosX.controllers = _.extend(module, {
|
||||
ViewCollateralController: function (scope, resourceFactory, routeParams, location, $uibModal) {
|
||||
|
||||
scope.collateralId = routeParams.id;
|
||||
resourceFactory.collateralResource.get({collateralId: scope.collateralId}, function (data) {
|
||||
scope.collateral = data;
|
||||
});
|
||||
|
||||
scope.deleteCollateral = function () {
|
||||
$uibModal.open({
|
||||
templateUrl: 'deletecollateralprod.html',
|
||||
controller: CollateralDeleteCtrl
|
||||
});
|
||||
};
|
||||
|
||||
var CollateralDeleteCtrl = function ($scope, $uibModalInstance) {
|
||||
$scope.delete = function () {
|
||||
resourceFactory.collateralResource.delete({collateralId: scope.collateralId}, function (data) {
|
||||
$uibModalInstance.close('delete');
|
||||
location.path('/viewcollateral/' + scope.collateralId);
|
||||
});
|
||||
};
|
||||
$scope.cancel = function () {
|
||||
$uibModalInstance.dismiss('cancel');
|
||||
};
|
||||
};
|
||||
}
|
||||
});
|
||||
mifosX.ng.application.controller('ViewCollateralController', ['$scope', 'ResourceFactory', '$routeParams', '$location', '$uibModal', mifosX.controllers.ViewCollateralController]).run(function ($log) {
|
||||
$log.info("ViewCollateralController initialized");
|
||||
});
|
||||
}(mifosX.controllers || {}));
|
||||
@ -34,6 +34,7 @@ define(['Q', 'underscore', 'mifosX'], function (Q) {
|
||||
'loanAccount/AssignLoanOfficerController',
|
||||
'loanAccount/EditLoanAccAppController',
|
||||
'loanAccount/ViewLoanCollateralController',
|
||||
'loanAccount/ViewLoanCollateralDataController',
|
||||
'loanAccount/EditLoanCollateralController',
|
||||
'loanAccount/ViewLoanChargeController',
|
||||
'loanAccount/EditLoanChargeController',
|
||||
@ -52,6 +53,10 @@ define(['Q', 'underscore', 'mifosX'], function (Q) {
|
||||
'loanAccount/CreditReportUploadThitsaWorksController',
|
||||
'groups/AssignStaffController',
|
||||
'client/ClientController',
|
||||
'client/CreateClientCollateralController',
|
||||
'client/EditClientCollateralController',
|
||||
'client/ViewClientCollateralController',
|
||||
'client/ViewAllClientCollateralsController',
|
||||
'client/EditClientController',
|
||||
'client/ViewClientController',
|
||||
'client/CreateClientController',
|
||||
@ -99,6 +104,10 @@ define(['Q', 'underscore', 'mifosX'], function (Q) {
|
||||
'product/InterestRateChartController',
|
||||
'product/CreateInterestRateChartController',
|
||||
'product/EditInterestRateChartController',
|
||||
'product/CollateralController',
|
||||
'product/CreateCollateralController',
|
||||
'product/ViewCollateralController',
|
||||
'product/EditCollateralController',
|
||||
'user/UserController',
|
||||
'user/UserFormController',
|
||||
'user/UserSettingController',
|
||||
|
||||
@ -187,8 +187,8 @@
|
||||
.when('/loan/:loanId/editcollateral/:id', {
|
||||
templateUrl: 'views/loans/editloancollateral.html'
|
||||
})
|
||||
.when('/loan/:loanId/viewcollateral/:id', {
|
||||
templateUrl: 'views/loans/viewloancollateral.html'
|
||||
.when('/loan/:id/viewcollateral/:collateralId', {
|
||||
templateUrl: 'views/loans/viewloancollateraldata.html'
|
||||
})
|
||||
.when('/loan/:loanId/viewcharge/:id', {
|
||||
templateUrl: 'views/loans/viewloancharge.html'
|
||||
@ -220,6 +220,24 @@
|
||||
.when('/viewcharge/:id', {
|
||||
templateUrl: 'views/products/viewcharge.html'
|
||||
})
|
||||
.when('/collaterals', {
|
||||
templateUrl: 'views/products/collaterals.html'
|
||||
})
|
||||
.when('/createclientcollateral/:id', {
|
||||
templateUrl: 'views/clients/createclientcollateral.html'
|
||||
})
|
||||
.when('/viewclient/:id/editclientcollateral/:collateralId', {
|
||||
templateUrl: 'views/clients/editclientcollateral.html'
|
||||
})
|
||||
.when('/viewclient/:id/viewclientcollateral/:collateralId', {
|
||||
templateUrl: 'views/clients/viewclientcollateral.html'
|
||||
})
|
||||
.when('/viewclient/:id/viewallclientcollaterals', {
|
||||
templateUrl: 'views/clients/viewallclientcollaterals.html'
|
||||
})
|
||||
.when('/viewcollateral/:id', {
|
||||
templateUrl: 'views/products/viewcollateral.html'
|
||||
})
|
||||
.when('/floatingrates', {
|
||||
templateUrl: 'views/products/floatingrates/FloatingRates.html'
|
||||
})
|
||||
@ -701,9 +719,18 @@
|
||||
.when('/createcharge', {
|
||||
templateUrl: 'views/products/createcharge.html'
|
||||
})
|
||||
.when('/createcollateral', {
|
||||
templateUrl: 'views/products/createcollateral.html'
|
||||
})
|
||||
.when('/editcharge/:id', {
|
||||
templateUrl: 'views/products/editcharge.html'
|
||||
})
|
||||
.when('/editcollateral/:id', {
|
||||
templateUrl: 'views/products/editcollateral.html'
|
||||
})
|
||||
.when('/loan/:id/viewcollateraldata/:collateralId', {
|
||||
templateUrl: 'views/products/viewcollateraldata.html'
|
||||
})
|
||||
.when('/productivesheet/:officeId/:officeName/:meetingDate/:staffId', {
|
||||
templateUrl: 'views/collection/productivecollectionsheet.html'
|
||||
})
|
||||
|
||||
@ -167,6 +167,25 @@
|
||||
getCharge: {method: 'GET', params: {}},
|
||||
update: {method: 'PUT', params: {}}
|
||||
}),
|
||||
clientcollateralResource: defineResource(apiVer + "/clients/:clientId/collaterals/:collateralParamId", {clientId: '@clientId', collateralParamId: '@collateralParamId'}, {
|
||||
getAllCollaterals: {method: 'GET', params: {}, isArray: true},
|
||||
get: {method: 'GET', params: {}},
|
||||
update: {method: 'PUT', params: {}},
|
||||
delete: {method: 'DELETE'}
|
||||
}),
|
||||
clientcollateralTemplateResource: defineResource(apiVer + "/clients/:clientId/collaterals/template", {clientId: '@clientId', prodId: '@prodId'}, {
|
||||
getAllCollaterals: {method: 'GET', params: {prodId: '@prodId'}, isArray: true},
|
||||
}),
|
||||
collateralResource: defineResource(apiVer + "/collateral-management/:collateralId", {collateralId: '@collateralId'}, {
|
||||
getAllCollaterals: {method: 'GET', params: {}, isArray: true},
|
||||
get: {method: 'GET', params: {}},
|
||||
update: {method: 'PUT', params: {}},
|
||||
save: {method: 'POST', params: {}},
|
||||
delete: {method: 'DELETE', params: {}}
|
||||
}),
|
||||
collateralTemplateResource: defineResource(apiVer + "/collateral-management/template", {}, {
|
||||
getAllCurrency: {method: 'GET', params: {}, isArray: true},
|
||||
}),
|
||||
chargeTemplateResource: defineResource(apiVer + "/charges/template", {
|
||||
get: {method: 'GET', params: {}, isArray: true},
|
||||
getChargeTemplates: {method: 'GET', params: {}}
|
||||
@ -214,6 +233,9 @@
|
||||
loanTrxnsResource: defineResource(apiVer + "/loans/:loanId/transactions/:transactionId", {loanId: '@loanId', transactionId: '@transactionId'}, {
|
||||
get: {method: 'GET', params: {}}
|
||||
}),
|
||||
loancollateralResource: defineResource(apiVer + "/loan-collateral-management/:collateralId", {collateralId: '@collateralId'}, {
|
||||
get: {method: 'GET', params: {}},
|
||||
}),
|
||||
LoanAccountResource: defineResource(apiVer + "/loans/:loanId/:resourceType/:chargeId", {loanId: '@loanId', resourceType: '@resourceType', chargeId: '@chargeId'}, {
|
||||
getLoanAccountDetails: {method: 'GET', params: {}},
|
||||
update: {method: 'PUT'}
|
||||
|
||||
113
app/views/clients/createclientcollateral.html
Normal file
113
app/views/clients/createclientcollateral.html
Normal file
@ -0,0 +1,113 @@
|
||||
<div class="content-container" ng-controller="CreateClientCollateralController">
|
||||
<div class="card">
|
||||
<div class="content">
|
||||
<div class="toolbar">
|
||||
<h4>{{ 'label.heading.createcollateral' | translate }}</h4>
|
||||
</div>
|
||||
<br/>
|
||||
<form name="createcollateralform" class="form-horizontal" ng-submit="submit()">
|
||||
<api-validate></api-validate>
|
||||
<fieldset>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2" for="collateralId">{{ 'label.input.collateralSelection' | translate }}<span
|
||||
class="required">*</span></label>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<select id="collateralId" ng-model="formData.collateralId" class="form-control"
|
||||
ng-options="collateral.id as collateral.name for collateral in collaterals"
|
||||
value="{{collateral.id}}" ng-change="collateralProductChange(formData.collateralId)"></select>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group" ng-show="disabled == false">
|
||||
<label class="control-label col-sm-2" for="name">{{ 'label.input.name' | translate }}<span
|
||||
class="required">*</span></label>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<input id="name" name="name" type="text" class="form-control" ng-model="formData.name" required disabled>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="form-group" ng-if="disabled == false">
|
||||
<label class="control-label col-sm-2" for="type">{{ 'label.input.type' | translate }}<span
|
||||
class="required">*</span></label>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<input id="type" name="type" type="text" class="form-control" ng-model="formData.type" disabled>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group" ng-if="disabled == false">
|
||||
<label class="control-label col-sm-2" for="unitType">{{ 'label.input.unittype' | translate }}<span
|
||||
class="required">*</span></label>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<input id="unitType" class="form-control" ng-model="formData.unitType" disabled>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group" ng-if="disabled == false">
|
||||
<label class="control-label col-sm-2" for="basePrice">{{'label.input.baseprice' | translate}}<span
|
||||
class="required">*</span></label>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<input id="basePrice" name="basePrice" type="text" ng-model="formData.basePrice" class="form-control" number-format disabled/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group" ng-if="disabled == false">
|
||||
<label class="control-label col-sm-2" for="pctToBase">{{'label.input.pcttobase' | translate}}<span
|
||||
class="required">*</span></label>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<input id="pctToBase" name="pctToBase" type="text" ng-model="formData.pctToBase" class="form-control" number-format disabled/>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group" ng-if="disabled == false">
|
||||
<label class="control-label col-sm-2" for="quantity">{{'label.input.quantity' | translate}}<span
|
||||
class="required">*</span></label>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<input id="quantity" name="quantity" type="text" ng-model="formData.quantity" ng-change="updateValues()" class="form-control" number-format required late-Validate/>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-2">
|
||||
<form-validate valattributeform="createcollateralform" valattribute="quantity"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="form-group" ng-if="disabled == false">
|
||||
<label class="control-label col-sm-2" for="total">{{'label.input.total' | translate}}<span
|
||||
class="required">*</span></label>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<input id="total" name="total" type="text" ng-model="formData.total" class="form-control" number-format required disabled/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="form-group" ng-if="disabled == false">
|
||||
<label class="control-label col-sm-2" for="totalCollateral">{{'label.input.totalCollateralValue' | translate}}<span
|
||||
class="required">*</span></label>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<input id="totalCollateral" name="totalCollateral" type="text" ng-model="formData.totalCollateral" class="form-control" number-format required disabled/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-md-offset-3" ng-if="disabled == false">
|
||||
<button id="cancel" type="reset" class="btn btn-default" ng-click="cancel()">{{ 'label.button.cancel' | translate
|
||||
}}
|
||||
</button>
|
||||
<button id="save" type="submit" has-permission='CREATE_CLIENT_COLLATERAL' class="btn btn-primary">{{ 'label.button.save' | translate }}</button>
|
||||
</div>
|
||||
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
66
app/views/clients/editclientcollateral.html
Normal file
66
app/views/clients/editclientcollateral.html
Normal file
@ -0,0 +1,66 @@
|
||||
<div class="content-container" ng-controller="EditClientCollateralController">
|
||||
<div class="card">
|
||||
<div class="content">
|
||||
<div class="toolbar">
|
||||
<h4>{{ 'label.heading.editcollateral' | translate }}</h4>
|
||||
</div>
|
||||
<br/>
|
||||
<form name="editcollateralform" class="form-horizontal" ng-submit="submit()">
|
||||
<api-validate></api-validate>
|
||||
<fieldset>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2" for="name">{{ 'label.input.name' | translate }}<span
|
||||
class="required">*</span></label>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<input id="name" name="name" type="text" class="form-control" ng-model="formData.name" required disabled>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2" for="quantity">{{'label.input.quantity' | translate}}<span
|
||||
class="required">*</span></label>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<input id="quantity" name="quantity" type="text" ng-model="formData.quantity" class="form-control" number-format required late-Validate/>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-2">
|
||||
<form-validate valattributeform="createcollateralform" valattribute="quantity"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2" for="total">{{'label.input.total' | translate}}<span
|
||||
class="required">*</span></label>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<input id="total" name="total" type="text" ng-model="formData.total" class="form-control" number-format disabled/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2" for="totalCollateral">{{'label.input.totalCollateralValue' | translate}}<span
|
||||
class="required">*</span></label>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<input id="totalCollateral" name="totalCollateral" type="text" ng-model="formData.totalCollateral" class="form-control" number-format disabled/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div class="col-md-offset-3">
|
||||
<button id="cancel" type="reset" class="btn btn-default" ng-click="cancel()">{{ 'label.button.cancel' | translate
|
||||
}}
|
||||
</button>
|
||||
<button id="save" type="submit" has-permission='CREATE_CLIENT_COLLATERAL' class="btn btn-primary">{{ 'label.button.save' | translate }}</button>
|
||||
</div>
|
||||
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
38
app/views/clients/viewallclientcollaterals.html
Normal file
38
app/views/clients/viewallclientcollaterals.html
Normal file
@ -0,0 +1,38 @@
|
||||
<div class="content-container" ng-controller="ViewAllClientCollateralController">
|
||||
<ul class="breadcrumb">
|
||||
<li><a href="#/viewclients">{{'label.anchor.clients' | translate}}</a></li>
|
||||
<li class="active">{{'label.anchor.collaterals' | translate}}</li>
|
||||
</ul>
|
||||
|
||||
<div class="card well">
|
||||
<div class="toolbar">
|
||||
<h4>List of Collaterals</h4>
|
||||
</div>
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="col-md-2 col-sm-3 paddedbottom20">
|
||||
<a href="#/createclientcollateral/{{clientId}}" class="btn btn-primary pull-right" has-permission='CREATE_CLIENT_COLLATERAL'><i class="fa fa-plus "></i> {{'label.button.createclientcollateral' | translate}}</a>
|
||||
</div>
|
||||
</div>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr class="graybg">
|
||||
<th>{{'label.heading.name' | translate}}</th>
|
||||
<th>{{'label.heading.quantity' | translate}}</th>
|
||||
<th>{{'label.heading.totalValue' | translate}}</th>
|
||||
<th>{{'label.heading.totalCollateralValue' | translate}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="pointer-main" dir-paginate="collateral in collaterals | orderBy:'name':reverse | itemsPerPage: CollateralsPerPage">
|
||||
<td class="pointer" data-ng-click="routeTo(collateral.id)">{{collateral.name | translate}}</td>
|
||||
<td class="pointer" data-ng-click="routeTo(collateral.id)">{{collateral.quantity}}</td>
|
||||
<td class="pointer" data-ng-click="routeTo(collateral.id)">{{collateral.totalValue}}</td>
|
||||
<td class="pointer" data-ng-click="routeTo(collateral.id)">{{collateral.totalCollateralValue}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<dir-pagination-controls boundary-links="true" template-url="bower_components/angular-utils-pagination/dirPagination.tpl.html"></dir-pagination-controls>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@ -226,6 +226,11 @@
|
||||
<li data-ng-show="client.status.value=='Active'">
|
||||
<a href="#/createshareaccount/{{client.id}}" has-permission='CREATE_SHAREACCOUNT'>{{'label.button.newshareaccount' | translate}}</a>
|
||||
</li>
|
||||
|
||||
<li data-ng-show="client.status.value=='Active'">
|
||||
<a href="#/createclientcollateral/{{client.id}}" has-permission='CREATE_COLLATERAL'>{{'label.button.createcollateral' | translate}}</a>
|
||||
</li>
|
||||
|
||||
<li data-ng-show="client.status.value=='Active'">
|
||||
<a href="#/newclientfixeddepositaccount/{{client.id}}" has-permission='CREATE_FIXEDDEPOSITACCOUNT'>{{'label.newfixeddepositaccount' | translate}}</a>
|
||||
</li>
|
||||
@ -481,6 +486,41 @@
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<!-- Collateral Overview -->
|
||||
<div data-ng-show="collateralSize != 0">
|
||||
<div class="pull-right">
|
||||
<span>
|
||||
<button type="button" data-ng-click="viewCollaterals()"
|
||||
class="btn-primary btn btn-sm">
|
||||
{{ 'label.button.viewcollaterals' | translate }}
|
||||
</button>
|
||||
</span>
|
||||
</div>
|
||||
<div class="span gray-head">
|
||||
<span class="boldlabel">
|
||||
<strong>{{'label.heading.collaterals' | translate }}</strong>
|
||||
</span>
|
||||
</div>
|
||||
<table class="table table-condensed">
|
||||
<tr class="graybg">
|
||||
<th>{{'label.heading.id' | translate}}</th>
|
||||
<th>{{'label.heading.name' | translate}}</th>
|
||||
<th>{{'label.heading.quantity' | translate}}</th>
|
||||
<th>{{'label.heading.totalValue' | translate}}</th>
|
||||
<th>{{'label.heading.totalCollateralValue' | translate}}</th>
|
||||
</tr>
|
||||
<tr class="pointer-main"
|
||||
ng-repeat="collateral in client.clientCollateralManagements">
|
||||
<td class="pointer" data-ng-click="routeToCollateral(collateral.id)">
|
||||
{{collateral.id}}
|
||||
</td>
|
||||
<td class="pointer" data-ng-click="routeToCollateral(collateral.name)">{{collateral.name}}</td>
|
||||
<td class="pointer" data-ng-click="routeToCollateral(collateral.id)">{{collateral.quantity}}</td>
|
||||
<td class="pointer" data-ng-click="routeToCollateral(collateral.id)">{{collateral.total}}</td>
|
||||
<td class="pointer center" data-ng-click="routeToCollateral(collateral.id)">{{collateral.totalCollateral}}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
<!-- Fixed deposits overview -->
|
||||
<div data-ng-show="showFixed">
|
||||
<div class="pull-right">
|
||||
|
||||
73
app/views/clients/viewclientcollateral.html
Normal file
73
app/views/clients/viewclientcollateral.html
Normal file
@ -0,0 +1,73 @@
|
||||
<div class="content-container" ng-controller="ViewClientCollateralController">
|
||||
<ul class="breadcrumb">
|
||||
<li><a href="#/clients">{{'label.anchor.clients' | translate}}</a></li>
|
||||
<li><a href="#/viewclient/{{clientId}}">{{'label.anchor.clientcollateral' | translate}}</a></li>
|
||||
<li class="active">{{collateralId}}</li>
|
||||
</ul>
|
||||
<div class="card well">
|
||||
<h3 class="bolder">{{collateral.name}}
|
||||
<div class="form-group pull-right">
|
||||
<a href="#/viewclient/{{clientId}}/editclientcollateral/{{collateralId}}" class="btn btn-primary" has-permission='UPDATE_CLIENT_COLLATERAL_PRODUCT'><i class="fa fa-edit "></i> {{'label.button.edit' | translate}}</a>
|
||||
<button type="button" data-ng-click="deleteClientCollateral()" class="btn btn-danger" has-permission='DELETE_CLIENT_COLLATERAL_PRODUCT'><i
|
||||
class="fa fa-trash-o"></i> {{'label.button.delete' | translate}}
|
||||
</button>
|
||||
</div>
|
||||
</h3>
|
||||
<hr>
|
||||
<script type="text/ng-template" id="deleteclientcollateral.html">
|
||||
<div class="modal-header silver">
|
||||
<h3 class="bolder">{{'label.heading.delete' | translate}}</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<api-validate></api-validate>
|
||||
<br>
|
||||
<button class="btn btn-warning" ng-click="cancel()">{{'label.button.cancel' | translate}}</button>
|
||||
<button class="btn btn-primary" ng-click="delete()">{{'label.button.confirm' | translate}}</button>
|
||||
</div>
|
||||
</script>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<table class="table table-bordered table-striped">
|
||||
<tr>
|
||||
<td>{{'label.heading.name' | translate}}</td>
|
||||
<td>{{collateral.name}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{'label.heading.quantity' | translate}}</td>
|
||||
<td>{{collateral.quantity}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{'label.heading.totalValue' | translate}}</td>
|
||||
<td>{{collateral.total}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{'label.heading.totalCollateralValue' | translate}}</td>
|
||||
<td>{{collateral.totalCollateral}}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<h3 class="bolder"> Transaction Details </h3>
|
||||
<hr>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr class="graybg">
|
||||
<th>{{'label.heading.id' | translate}}</th>
|
||||
<th>{{'label.heading.lastRepayment' | translate}}</th>
|
||||
<th>{{'label.heading.remainingAmount' | translate}}</th>
|
||||
<th>{{'label.heading.lastRepaymentDate' | translate}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="pointer-main" dir-paginate="transaction in loanTransactions | itemsPerPage: TransactionsPerPage">
|
||||
<td class="pointer" >{{transaction.loanId}}</td>
|
||||
<td class="pointer" >{{transaction.lastRepayment}}</td>
|
||||
<td class="pointer" >{{transaction.remainingAmount}}</td>
|
||||
<td class="pointer" >{{transaction.lastRepaymentDate.date | date}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@ -539,34 +539,57 @@
|
||||
</table>
|
||||
</div>
|
||||
<div class="col-md-12 paddedtop" ng-hide = "response.uiDisplayConfigurations.loanAccount.isHiddenSection.collateralSection == true">
|
||||
<label><strong>{{ 'label.heading.collaterals' | translate }}</strong></label>
|
||||
<select ng-model="collateralFormData.collateralIdTemplate" class="form-control width170px"
|
||||
ng-options="collateralTemplate.name for collateralTemplate in collateralOptions"
|
||||
value="{{collateralTemplate.id}}">
|
||||
<label class="control-label col-sm-1">
|
||||
<strong>{{ 'label.heading.collaterals' | translate }}</strong>
|
||||
</label>
|
||||
<select ng-model="collateralFormData.collateralId" ng-options="collateral.collateralId as collateral.name for collateral in collateralsData"
|
||||
value="{{collateral.collateralId}}" class="form-control width170px col-sm-2">
|
||||
</select>
|
||||
<input class="form-control" type="text" ng-model="collateralFormData.collateralValueTemplate"
|
||||
placeholder="{{'label.input.value' | translate}}">
|
||||
<input type="text" ng-model="collateralFormData.collateralDescriptionTemplate" class="form-control"
|
||||
placeholder="{{'label.input.description' | translate}}">
|
||||
<a ng-click="addCollateral()"> <i class="fa fa-plus "></i></a>
|
||||
<div class="col-sm-2">
|
||||
<input class="form-control" type="text" ng-model="collateralFormData.quantity" placeholder="{{'label.input.quantity' | translate}}"
|
||||
number-format ng-change="updateValues()">
|
||||
</div>
|
||||
<div class="col-sm-2">
|
||||
<input class="form-control" type="text" ng-model="collateralFormData.total"
|
||||
number-format readonly>
|
||||
</div>
|
||||
<div class="col-sm-2">
|
||||
<input class="form-control" type="text" ng-model="collateralFormData.totalCollateral"
|
||||
number-format readonly>
|
||||
</div>
|
||||
<div class="col-sm-1">
|
||||
<a class="btn btn-primary" ng-click="addCollateral()" class="col-sm-1">
|
||||
<i class="fa fa-plus "></i> Add</a>
|
||||
</div>
|
||||
</div>
|
||||
<div ng-hide="response.uiDisplayConfigurations.loanAccount.isHiddenSection.collateralSection == true">
|
||||
<table class="table" class="width100" ng-show="collaterals.length>0">
|
||||
<tr class="graybg">
|
||||
<th>{{'label.heading.name' | translate}}</th>
|
||||
<th>{{'label.heading.value' | translate}}</th>
|
||||
<th>{{'label.heading.description' | translate}}</th>
|
||||
<th>{{'label.heading.actions' | translate}}</th>
|
||||
</tr>
|
||||
<tr ng-repeat="collateral in collaterals">
|
||||
<td><input type="text" class="form-control" ng-model="collateral.name" readonly></td>
|
||||
<td><input id="{{collaterals[$index].value}}" type="text" class="form-control"
|
||||
ng-model="collateral.value"></td>
|
||||
<td><input id="{{collaterals[$index].description}}" class="form-control" type="text" ng-model="collateral.description"
|
||||
placeholder="{{'label.input.description' | translate}}"></td>
|
||||
<td><a ng-click="deleteCollateral($index)"><i class="fa fa-times-circle fa-2x"></i></a></td>
|
||||
</tr>
|
||||
</table>
|
||||
<table class="" class="width100" ng-show="collaterals.length>0">
|
||||
<tr class="graybg">
|
||||
<th>{{'label.heading.id' | translate}}</th>
|
||||
<th>{{'label.heading.quantity' | translate}}</th>
|
||||
<th>{{'label.heading.totalValue' | translate}}</th>
|
||||
<th>{{'label.heading.totalCollateralValue' | translate}}</th>
|
||||
</tr>
|
||||
<tr ng-repeat="collateral in collaterals">
|
||||
<td>
|
||||
<input type="text" class="input-sm form-control" ng-model="collateral.collateralId" readonly>
|
||||
</td>
|
||||
<td>
|
||||
<input id="{{collaterals[$index].quantity}}" type="text" class="form-control" ng-model="collateral.quantity" readonly>
|
||||
</td>
|
||||
<td>
|
||||
<input id="total" type="text" class="form-control" ng-model="collateral.total">
|
||||
</td>
|
||||
<td>
|
||||
<input id="totalCollateral" type="text" class="form-control" ng-model="collateral.totalCollateral">
|
||||
</td>
|
||||
<td>
|
||||
<a ng-click="deleteCollateral($index)">
|
||||
<i class="fa fa-times-circle fa-2x"></i>
|
||||
</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@ -1,6 +1,6 @@
|
||||
<div class="content-container" ng-controller="EditLoanChargeController">
|
||||
<ul class="breadcrumb">
|
||||
<li><a href="#/viewloanaccount/{{loanId{{'label.anchor.viewloanaccount' | translate}}</a></li>
|
||||
<li><a href="#/viewloanaccount/{{loanId{{'label.anchor.viewloanaccount' | translate}}"></a></li>
|
||||
<li class="active">{{'label.anchor.editloancharge' | translate}}</li>
|
||||
</ul>
|
||||
<div class="card">
|
||||
|
||||
@ -696,20 +696,24 @@
|
||||
</table>
|
||||
</div>
|
||||
<br>
|
||||
<div class="form-group" ng-hide="response.uiDisplayConfigurations.loanAccount.isHiddenSection.collateralSection == true">
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-1">
|
||||
<strong>{{ 'label.heading.collaterals' | translate }}</strong>
|
||||
</label>
|
||||
<select ng-model="collateralFormData.collateralIdTemplate" ng-options="collateralTemplate.name for collateralTemplate in collateralOptions"
|
||||
value="{{collateralTemplate.id}}" class="form-control width170px col-sm-2">
|
||||
<select ng-model="collateralFormData.collateralId" ng-options="collateral.collateralId as collateral.name for collateral in collateralsData"
|
||||
value="{{collateral.collateralId}}" class="form-control width170px col-sm-2">
|
||||
</select>
|
||||
<div class="col-sm-2">
|
||||
<input class="form-control" type="text" ng-model="collateralFormData.collateralValueTemplate" placeholder="{{'label.input.value' | translate}}"
|
||||
number-format>
|
||||
<input class="form-control" type="text" ng-model="collateralFormData.quantity" placeholder="{{'label.input.quantity' | translate}}"
|
||||
number-format ng-change="updateValues()">
|
||||
</div>
|
||||
<div class="col-sm-2">
|
||||
<input type="text" ng-model="collateralFormData.collateralDescriptionTemplate" placeholder="{{'label.input.description' | translate}}"
|
||||
class="form-control col-sm-2">
|
||||
<input class="form-control" type="text" ng-model="collateralFormData.total"
|
||||
number-format readonly>
|
||||
</div>
|
||||
<div class="col-sm-2">
|
||||
<input class="form-control" type="text" ng-model="collateralFormData.totalCollateral"
|
||||
number-format readonly>
|
||||
</div>
|
||||
<div class="col-sm-1">
|
||||
<a class="btn btn-primary" ng-click="addCollateral()" class="col-sm-1">
|
||||
@ -717,24 +721,26 @@
|
||||
</div>
|
||||
</div>
|
||||
<br>
|
||||
<div ng-hide="response.uiDisplayConfigurations.loanAccount.isHiddenSection.collateralSection == true">
|
||||
<div>
|
||||
<table class="" class="width100" ng-show="collaterals.length>0">
|
||||
<tr class="graybg">
|
||||
<th>{{'label.heading.type' | translate}}</th>
|
||||
<th>{{'label.heading.value' | translate}}</th>
|
||||
<th>{{'label.heading.description' | translate}}</th>
|
||||
<th>{{'label.heading.actions' | translate}}</th>
|
||||
<th>{{'label.heading.id' | translate}}</th>
|
||||
<th>{{'label.heading.quantity' | translate}}</th>
|
||||
<th>{{'label.heading.totalValue' | translate}}</th>
|
||||
<th>{{'label.heading.totalCollateralValue' | translate}}</th>
|
||||
</tr>
|
||||
<tr ng-repeat="collateral in collaterals">
|
||||
<td>
|
||||
<input type="text" class="input-sm form-control" ng-model="collateral.name" readonly>
|
||||
<input type="text" class="input-sm form-control" ng-model="collateral.collateralId" readonly>
|
||||
</td>
|
||||
<td>
|
||||
<input id="{{collaterals[$index].value}}" type="text" class="form-control" ng-model="collateral.value">
|
||||
<input id="{{collaterals[$index].quantity}}" type="text" class="form-control" ng-model="collateral.quantity" readonly>
|
||||
</td>
|
||||
<td>
|
||||
<input id="{{collaterals[$index].description}}" type="text" ng-model="collateral.description" placeholder="{{'label.input.description' | translate}}"
|
||||
class="form-control" />
|
||||
<input id="total" type="text" class="form-control" ng-model="collateral.total">
|
||||
</td>
|
||||
<td>
|
||||
<input id="totalCollateral" type="text" class="form-control" ng-model="collateral.totalCollateral">
|
||||
</td>
|
||||
<td>
|
||||
<a ng-click="deleteCollateral($index)">
|
||||
|
||||
@ -718,15 +718,17 @@
|
||||
<uib-tab heading="{{'label.heading.loancollaterals' | translate}}" ng-show="loandetails.collateral">
|
||||
<table class="table">
|
||||
<thead>
|
||||
<th>{{'label.heading.type' | translate}}</th>
|
||||
<th>{{'label.heading.value' | translate}}</th>
|
||||
<th>{{'label.heading.description' | translate}}</th>
|
||||
<th>{{'label.heading.id' | translate}}</th>
|
||||
<th>{{'label.heading.quantity' | translate}}</th>
|
||||
<th>{{'label.heading.totalValue' | translate}}</th>
|
||||
<th>{{'label.heading.totalCollateralValue' | translate}}</th>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="collateral in loandetails.collateral" class="pointer-main">
|
||||
<td class="pointer" data-ng-click="viewLoanCollateral(collateral.id)">{{collateral.type.name}}</td>
|
||||
<td class="pointer" data-ng-click="viewLoanCollateral(collateral.id)">{{collateral.value | number}}</td>
|
||||
<td class="pointer" data-ng-click="viewLoanCollateral(collateral.id)">{{collateral.description}}</td>
|
||||
<td class="pointer" data-ng-click="viewLoanCollateral(collateral.id)">{{collateral.id}}</td>
|
||||
<td class="pointer" data-ng-click="viewLoanCollateral(collateral.id)">{{collateral.quantity | number}}</td>
|
||||
<td class="pointer" data-ng-click="viewLoanCollateral(collateral.id)">{{collateral.total | number}}</td>
|
||||
<td class="pointer" data-ng-click="viewLoanCollateral(collateral.id)">{{collateral.totalCollateral | number}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
53
app/views/loans/viewloancollateraldata.html
Normal file
53
app/views/loans/viewloancollateraldata.html
Normal file
@ -0,0 +1,53 @@
|
||||
<div class="content-container" ng-controller="ViewLoanCollateralDataController">
|
||||
<ul class="breadcrumb">
|
||||
<li><a href="#/viewloanaccount/{{loanId}}">{{'label.anchor.viewloanaccount' | translate}}</a></li>
|
||||
<li class="active">{{ 'label.anchor.viewcollateral' | translate}}</li>
|
||||
</ul>
|
||||
<!-- <script type="text/ng-template" id="deletecollateral.html">
|
||||
<div class="modal-header silver">
|
||||
<h3 class="bolder">{{'label.heading.delete' | translate}}</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<api-validate></api-validate>
|
||||
<br>
|
||||
<button class="btn btn-warning" ng-click="cancel()">{{'label.button.cancel' | translate}}</button>
|
||||
<button class="btn btn-primary" ng-click="delete()">{{'label.button.confirm' | translate}}</button>
|
||||
</div>
|
||||
</script> -->
|
||||
<div class="card">
|
||||
<div class="content">
|
||||
<div class="toolbar">
|
||||
<h4>{{'label.heading.viewcollateral' | translate}}</h4>
|
||||
<!-- <div class="pull-right" data-ng-show="showEditButtons">
|
||||
<div class="btn-group">
|
||||
<a href="#/loan/{{loanId}}/editloancollateral/{{collateralId}}" class="btn btn-primary btn-sm" has-permission='UPDATE_COLLATERAL'><i
|
||||
class="fa fa-edit "></i> {{'label.button.edit' | translate}}</a>
|
||||
<button type="button" ng-click="deleteCollateral()" class="btn btn-danger btn-sm" has-permission='DELETE_COLLATERAL'><i
|
||||
class="fa fa-trash "></i>{{'label.button.delete' | translate}}
|
||||
</button>
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
<div class="table-responsive">
|
||||
<table class="table">
|
||||
<tr>
|
||||
<td class="width20">{{'label.heading.id' | translate}}</td>
|
||||
<td class="width80">{{collateral.collateralId}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{'label.heading.quantity' | translate}}</td>
|
||||
<td>{{collateral.quantity}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{'label.heading.totalValue' | translate}}</td>
|
||||
<td>{{collateral.total}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{'label.heading.totalCollateralValue' | translate}}</td>
|
||||
<td>{{collateral.totalCollateral}}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
40
app/views/products/collaterals.html
Normal file
40
app/views/products/collaterals.html
Normal file
@ -0,0 +1,40 @@
|
||||
<div class="content-container" ng-controller="CollateralController">
|
||||
<ul class="breadcrumb">
|
||||
<li><a href="#/products">{{'label.anchor.products' | translate}}</a></li>
|
||||
<li class="active">{{'label.anchor.collaterals' | translate}}</li>
|
||||
</ul>
|
||||
|
||||
<div class="card well">
|
||||
<div class="toolbar">
|
||||
<h4>List of Collaterals</h4>
|
||||
</div>
|
||||
<br>
|
||||
<div class="row">
|
||||
<div class="col-md-2 col-sm-3 paddedbottom20">
|
||||
<a href="#/createcollateral" class="btn btn-primary pull-right" has-permission='CREATE_COLLATERAL'><i class="fa fa-plus "></i> {{'label.button.createcollateral' | translate}}</a>
|
||||
</div>
|
||||
</div>
|
||||
<table class="table">
|
||||
<thead>
|
||||
<tr class="graybg">
|
||||
<th>{{'label.heading.name' | translate}}</th>
|
||||
<th>{{'label.heading.quality' | translate}}</th>
|
||||
<th>{{'label.heading.basePrice' | translate}}</th>
|
||||
<th>{{'label.heading.pctToBase' | translate}}</th>
|
||||
<th>{{'label.heading.unitType' | translate}}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr class="pointer-main" dir-paginate="collateral in collaterals | orderBy:'name':reverse | itemsPerPage: CollateralsPerPage">
|
||||
<td class="pointer" data-ng-click="routeTo(collateral.id)">{{collateral.name | translate}}</td>
|
||||
<td class="pointer" data-ng-click="routeTo(collateral.id)">{{collateral.quality | translate }}</td>
|
||||
<td class="pointer" data-ng-click="routeTo(collateral.id)">{{collateral.basePrice}}</td>
|
||||
<td class="pointer" data-ng-click="routeTo(collateral.id)">{{collateral.pctToBase}}</td>
|
||||
<td class="pointer" data-ng-click="routeTo(collateral.id)">{{collateral.unitType}}</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<dir-pagination-controls boundary-links="true" template-url="bower_components/angular-utils-pagination/dirPagination.tpl.html"></dir-pagination-controls>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
96
app/views/products/createcollateral.html
Normal file
96
app/views/products/createcollateral.html
Normal file
@ -0,0 +1,96 @@
|
||||
<div class="content-container" ng-controller="CreateCollateralController">
|
||||
<ul class="breadcrumb">
|
||||
<li><a href="#/products">{{'label.anchor.products' | translate}}</a></li>
|
||||
<li><a href="#/collaterals">{{'label.anchor.collaterals' | translate}}</a></li>
|
||||
<li class="active">{{'label.anchor.createcollateral' | translate}}</li>
|
||||
</ul>
|
||||
<div class="card">
|
||||
<div class="content">
|
||||
<div class="toolbar">
|
||||
<h4>{{ 'label.heading.createcollateral' | translate }}</h4>
|
||||
</div>
|
||||
<br/>
|
||||
<form name="createcollateralform" class="form-horizontal" ng-submit="submit()">
|
||||
<api-validate></api-validate>
|
||||
<fieldset>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2" for="name">{{ 'label.input.name' | translate }}<span
|
||||
class="required">*</span></label>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<input id="name" name="name" type="text" class="form-control" ng-model="formData.name" required late-validate>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-2">
|
||||
<form-validate valattributeform="createcollateralform" valattribute="name"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2" for="quality">{{ 'label.input.type' | translate }}<span
|
||||
class="required">*</span></label>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<input id="quality" name="quality" type="text" class="form-control" ng-model="formData.quality" required late-validate>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-2">
|
||||
<form-validate valattributeform="createcollateralform" valattribute="quality"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2" for="unitType">{{ 'label.input.unittype' | translate }}<span
|
||||
class="required">*</span></label>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<input id="unitType" class="form-control" ng-model="formData.unitType" required late-validate>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<form-validate valattributeform="createcollateralform" valattribute="unitType"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2" for="basePrice">{{'label.input.baseprice' | translate}}<span
|
||||
class="required">*</span></label>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<input id="basePrice" name="basePrice" type="text" ng-model="formData.basePrice" class="form-control" number-format required late-Validate/>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<form-validate valattributeform="createcollateralform" valattribute="basePrice"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2" for="pctToBase">{{'label.input.pcttobase' | translate}}<span
|
||||
class="required">*</span></label>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<input id="pctToBase" name="pctToBase" type="text" ng-model="formData.pctToBase" class="form-control" number-format required late-Validate/>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<form-validate valattributeform="createcollateralform" valattribute="pctToBase"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2" for="currency">{{ 'label.input.currency' | translate }}<span
|
||||
class="required">*</span></label>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<select id="currency" name="currency" ng-model="formData.currency" class="form-control"
|
||||
ng-options="currency.code as currency.name for currency in currencyOptions"
|
||||
value="{{currency.code}}"></select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-offset-3">
|
||||
<button id="cancel" type="reset" class="btn btn-default" ng-click="cancel()">{{ 'label.button.cancel' | translate
|
||||
}}
|
||||
</button>
|
||||
<button id="save" type="submit" has-permission='CREATE_COLLATERAL_PRODUCT' class="btn btn-primary">{{ 'label.button.save' | translate }}</button>
|
||||
</div>
|
||||
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
0
app/views/products/deletecollateral.html
Normal file
0
app/views/products/deletecollateral.html
Normal file
85
app/views/products/editcollateral.html
Normal file
85
app/views/products/editcollateral.html
Normal file
@ -0,0 +1,85 @@
|
||||
<div class="content-container" ng-controller="EditCollateralController">
|
||||
<api-validate></api-validate>
|
||||
<ul class="breadcrumb">
|
||||
<li><a href="#/products">{{'label.anchor.products' | translate}}</a></li>
|
||||
<li><a href="#/collaterals">{{'label.anchor.collaterals' | translate}}</a></li>
|
||||
<li class="active">{{'label.anchor.editCollateral' | translate}}</li>
|
||||
</ul>
|
||||
<form name="editcollateralform" novalidate class="card form-horizontal well" rc-submit="submit()">
|
||||
<fieldset>
|
||||
<legend>{{'label.heading.editcollateral' | translate}}</legend>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2" for="name">{{'label.input.name' | translate}}<span
|
||||
class="required">*</span></label>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<input name="name" ng-autofocus="true" type="text" id="name" ng-model="formData.name" class="form-control" required
|
||||
late-Validate/>
|
||||
<form-validate valattributeform="editcollateralform" valattribute="name"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2">{{'label.input.type' | translate}}<span class="required">*</span></label>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<input id="type" name="type" type="text" class="form-control" ng-model="formData.type" required late-validate>
|
||||
</div>
|
||||
|
||||
<div class="col-sm-2">
|
||||
<form-validate valattributeform="editcollateralform" valattribute="type"/>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2" for="unitType">{{ 'label.input.unittype' | translate }}<span
|
||||
class="required">*</span></label>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<input id="unitType" class="form-control" ng-model="formData.unitType" required late-validate>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<form-validate valattributeform="editcollateralform" valattribute="unitType"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2" for="basePrice">{{'label.input.baseprice' | translate}}<span
|
||||
class="required">*</span></label>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<input id="basePrice" name="basePrice" type="text" ng-model="formData.basePrice" class="form-control" number-format required late-Validate/>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<form-validate valattributeform="editcollateralform" valattribute="basePrice"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2" for="currency">{{ 'label.input.currency' | translate }}<span
|
||||
class="required">*</span></label>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<select id="currency" name="currency" ng-model="formData.currency" class="form-control"
|
||||
ng-options="currency.code as currency.name for currency in currencyOptions"
|
||||
value="{{currency.code}}"></select>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<form-validate valattributeform="editcollateralform" valattribute="currency"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="control-label col-sm-2" for="pctToBase">{{'label.input.pcttobase' | translate}}<span
|
||||
class="required">*</span></label>
|
||||
|
||||
<div class="col-sm-3">
|
||||
<input id="pctToBase" name="pctToBase" type="text" ng-model="formData.pctToBase" class="form-control" number-format required late-Validate/>
|
||||
</div>
|
||||
<div class="col-sm-3">
|
||||
<form-validate valattributeform="editcollateralform" valattribute="pctToBase"/>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-offset-3">
|
||||
<a id="cancel" href="#/viewcollateral/{{collateralId}}" class="btn btn-default">{{'label.button.cancel' | translate}}</a>
|
||||
<button id="save" type="submit" class="btn btn-primary" has-permission='UPDATE_COLLATERAL_PRODUCT'>{{'label.button.save' | translate}}</button>
|
||||
</div>
|
||||
</fieldset>
|
||||
</form>
|
||||
</div>
|
||||
@ -40,6 +40,12 @@
|
||||
<p class="list-group-item-text">{{'label.rates' | translate}}</p>
|
||||
</a>
|
||||
|
||||
<a class="list-group-item" href="#/collaterals" has-permission='READ_COLLATERALS'>
|
||||
<h4 class="list-group-item-heading"><i class="fa fa-bar-chart-o fa fa-large"></i> {{
|
||||
'label.anchor.collaterals' | translate }}</h4>
|
||||
<p class="list-group-item-text">{{'label.collaterals' | translate}}</p>
|
||||
</a>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6 col-sm-6">
|
||||
|
||||
55
app/views/products/viewcollateral.html
Normal file
55
app/views/products/viewcollateral.html
Normal file
@ -0,0 +1,55 @@
|
||||
<div class="content-container" ng-controller="ViewCollateralController">
|
||||
<ul class="breadcrumb">
|
||||
<li><a href="#/products">{{'label.anchor.products' | translate}}</a></li>
|
||||
<li><a href="#/collaterals">{{'label.anchor.collaterals' | translate}}</a></li>
|
||||
<li class="active">{{collateralId}}</li>
|
||||
</ul>
|
||||
<div class="card well">
|
||||
<h3 class="bolder">{{collateral.name}}
|
||||
<div class="form-group pull-right">
|
||||
<a href="#/editcollateral/{{collateralId}}" class="btn btn-primary" has-permission='UPDATE_COLLATERAL_PRODUCT'><i class="fa fa-edit "></i> {{'label.button.edit' | translate}}</a>
|
||||
<button type="button" data-ng-click="deleteCollateral()" class="btn btn-danger" has-permission='DELETE_COLLATERAL_PRODUCT'><i
|
||||
class="fa fa-trash-o"></i> {{'label.button.delete' | translate}}
|
||||
</button>
|
||||
</div>
|
||||
</h3>
|
||||
<hr>
|
||||
<script type="text/ng-template" id="deletecollateralprod.html">
|
||||
<div class="modal-header silver">
|
||||
<h3 class="bolder">{{'label.heading.delete' | translate}}</h3>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
<api-validate></api-validate>
|
||||
<br>
|
||||
<button class="btn btn-warning" ng-click="cancel()">{{'label.button.cancel' | translate}}</button>
|
||||
<button class="btn btn-primary" ng-click="delete()">{{'label.button.confirm' | translate}}</button>
|
||||
</div>
|
||||
</script>
|
||||
<div class="row">
|
||||
<div class="col-md-6">
|
||||
<table class="table table-bordered table-striped">
|
||||
<tr>
|
||||
<td>{{'label.heading.name' | translate}}</td>
|
||||
<td>{{collateral.name}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{'label.heading.quality' | translate}}</td>
|
||||
<td>{{collateral.quality}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{'label.heading.basePrice' | translate}}</td>
|
||||
<td>{{collateral.basePrice}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{'label.heading.pctToBase' | translate}}</td>
|
||||
<td>{{collateral.pctToBase}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{'label.heading.unitType' | translate}}</td>
|
||||
<td>{{collateral.unitType}}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
Loading…
Reference in New Issue
Block a user