mirror of
https://github.com/openMF/community-app.git
synced 2026-02-06 09:37:29 +00:00
Merge pull request #71 from goutham-M/mifosx-savings
view saving product feature is added
This commit is contained in:
commit
1c97195300
@ -25,6 +25,20 @@
|
||||
"label.developer.group" : "Developer group",
|
||||
"label.product.irc" : "IRC",
|
||||
"label.product.news" : "News and Upcoming events",
|
||||
"label.savingsreference":"Savings Reference",
|
||||
"label.savingscontrol":"Savings Control",
|
||||
"label.interestonsavings":"Interest On Savings",
|
||||
"label.incomefromfee":"Income from Fee",
|
||||
"label.assets":"Assets",
|
||||
"label.liabilities":"Liabilities",
|
||||
"label.expenses":"Expenses",
|
||||
"label.income":"Income",
|
||||
"label.heading.paymenttype":"Payment Type",
|
||||
"label.heading.fundsource":"Fund Source",
|
||||
"label.income":"Income",
|
||||
"label.annualfeeon":"Annual fees on:",
|
||||
"label.advancedaccountingrules":"Advanced accounting rules",
|
||||
"label.heading.configurefundsourcesforpaymentchannels":"Configure Fund sources for payment channels",
|
||||
|
||||
"# common table headings":"....",
|
||||
"table.heading.officename":"Office name",
|
||||
@ -96,10 +110,10 @@
|
||||
"label.disburseamount":"Principal amount:",
|
||||
"label.loanpurpose":"Loan purpose:",
|
||||
"tab.summary":"Summary",
|
||||
"tab.accountdetail":"Account details",
|
||||
"tab.repaymentschedule":"Repayment schedule",
|
||||
"tab.accountdetail":"Details",
|
||||
"tab.repaymentschedule":"Schedule",
|
||||
"tab.transaction":"Transaction",
|
||||
"tab.loandocuments":"Loan documents",
|
||||
"tab.loandocuments":"Documents",
|
||||
"tab.notes":"Notes",
|
||||
"label.repayments":"Repayments:",
|
||||
"label.repaymentstrategy":"Repayment strategy:",
|
||||
@ -113,6 +127,25 @@
|
||||
"label.matureson":"Matures on:",
|
||||
"label.interestChargedFrom":"Interest charged from:",
|
||||
|
||||
"# view savingproduct":"",
|
||||
"label.heading.details":"Details",
|
||||
"label.heading.tems":"Terms",
|
||||
"label.heading.accounting":"Accounting",
|
||||
"label.heading.details":"Details",
|
||||
"label.description":"Description:",
|
||||
"label.decimalplaces":"Decimal places:",
|
||||
"label.currencyinmultiplesof":"Currency in multiples of:",
|
||||
"label.nominalannualinterestrate":"Nominal annual interest rate:",
|
||||
"label.interestcompoundingperiod":"Interest compounding period:",
|
||||
"label.interestpostingperiod":"Interest posting period:",
|
||||
"label.interestcalculatedusing":"Interest calculated using:",
|
||||
"label.daysinyears":"# Days in Year:",
|
||||
"label.heading.settings":"Settings",
|
||||
"label.minimumopeningbalance":"Minimum opening balance:",
|
||||
"label.lockinPeriodFrequency":"Locked in for:",
|
||||
"label.withdrawfee":"Withdrawal fee:",
|
||||
"label.annualfee":"Annual fee:",
|
||||
|
||||
"#summary table":"",
|
||||
"table.heading.original":"Original Loan",
|
||||
"table.heading.paid":"Paid",
|
||||
|
||||
@ -14,7 +14,7 @@
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr ng-repeat="savingproduct in savingproducts | filter:filterText">
|
||||
<td>{{savingproduct.name}}</td>
|
||||
<td><a href="#/viewsavingproduct/{{savingproduct.id}}">{{savingproduct.name}}</a></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
|
||||
136
html/products/viewsavingproduct.html
Normal file
136
html/products/viewsavingproduct.html
Normal file
@ -0,0 +1,136 @@
|
||||
<div id="viewlptop">
|
||||
<div class="row paddedtop">
|
||||
<div class="pull-right">
|
||||
<div class="btn-group">
|
||||
<a href="#" class="btn btn-primary"><i class="icon-edit icon-white"></i> Edit</a>
|
||||
<a href="#" class="btn btn-primary"><i class="icon-trash icon-white"></i> Delete</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row paddedleft" ng-controller="ViewSavingProductController">
|
||||
<legend>{{savingproduct.name}}</legend>
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td>
|
||||
<a id="test" name="test" class="old-syle-anchor"> </a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="bottomborder">
|
||||
<td colspan="4">
|
||||
<strong>{{'label.heading.details' | translate}}</strong>
|
||||
</td>
|
||||
</tr>
|
||||
<tr class="toppadding">
|
||||
<td>{{'label.description' | translate}}</td>
|
||||
<td colspan="3">{{savingproduct.description}}</td>
|
||||
</tr>
|
||||
<tr><td colspan="4"><br/></td></tr>
|
||||
<tr class="bottomborder"><td colspan="4"><strong>{{'label.heading.tems' | translate}}</strong></td></tr>
|
||||
<tr class="toppadding">
|
||||
<td>{{'label.currency' | translate}}</td>
|
||||
<td colspan="3">{{savingproduct.currency.name}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{'label.decimalplaces' | translate}}</td>
|
||||
<td colspan="3">{{savingproduct.currency.decimalPlaces}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{'label.currencyinmultiplesof' | translate}}</td>
|
||||
<td colspan="3">{{savingproduct.currency.inMultiplesOf}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{'label.nominalannualinterestrate' | translate}}</td>
|
||||
<td colspan="3">{{savingproduct.nominalAnnualInterestRate}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{'label.interestcompoundingperiod' | translate}}</td>
|
||||
<td colspan="3">{{savingproduct.interestCompoundingPeriodType.value}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{'label.interestpostingperiod' | translate}}</td>
|
||||
<td colspan="3">{{savingproduct.interestPostingPeriodType.value}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{'label.interestcalculatedusing' | translate}}</td>
|
||||
<td colspan="3">{{savingproduct.interestCalculationType.value}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{'label.daysinyears' | translate}}</td>
|
||||
<td colspan="3">{{savingproduct.interestCalculationDaysInYearType.value}}</td>
|
||||
</tr>
|
||||
<tr><td colspan="4"><br/></td></tr>
|
||||
<tr class="bottomborder"><td colspan="4"><strong>{{'label.heading.settings' | translate}}</strong></td></tr>
|
||||
<tr class="toppadding">
|
||||
<td>{{'label.minimumopeningbalance' | translate}}</td>
|
||||
<td colspan="3">{{loanproduct.minRequiredOpeningBalances}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{'label.lockinPeriodFrequency' | translate}}</td>
|
||||
<td>{{savingproduct.lockinPeriodFrequency}}</td>
|
||||
<td>{{savingproduct.lockinPeriodFrequencyType.value}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{'label.withdrawfee' | translate}}</td>
|
||||
<td>{{savingproduct.withdrawalFeeAmount}}</td>
|
||||
<td>{{savingproduct.withdrawalFeeType.value}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{'label.annualfee' | translate}}</td>
|
||||
<td>{{savingproduct.annualFeeAmount}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{'label.annualfeeon' | translate}}</td>
|
||||
<td>{{savingproduct.annualFeeOnMonthDay}}</td>
|
||||
|
||||
</tr>
|
||||
<tr><td colspan="4"><br/></td></tr>
|
||||
<tr class="bottomborder"><td><strong>{{'label.heading.accounting' | translate}}</strong></td><td colspan="3"><span ng-hide="hasAccounting"> None</span></td></tr>
|
||||
<tr>
|
||||
<td colspan="4">
|
||||
<table width="100%" ng-show="hasAccounting">
|
||||
<tr class="toppadding">
|
||||
<td>{{'label.savingsreference' | translate}}({{'label.assets' | translate}})</td>
|
||||
<td colspan="3">{{savingproduct.accountingMappings.savingsReferenceAccountId}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{'label.savingscontrol' | translate}}({{'label.liabilities' | translate}})</td>
|
||||
<td colspan="3">{{savingproduct.accountingMappings.savingsControlAccountId}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{'label.interestonsavings' | translate}}({{'label.expenses' | translate}})</td>
|
||||
<td colspan="3">{{savingproduct.accountingMappings.savingsReferenceAccountId}}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{{'label.incomefromfee' | translate}}({{'label.income' | translate}})</td>
|
||||
<td colspan="3">{{savingproduct.accountingMappings.incomeFromFeeAccountId}}</td>
|
||||
</tr>
|
||||
|
||||
<tr><td colspan="4"><br/></td></tr>
|
||||
<tr>
|
||||
<td>
|
||||
{{'label.advancedaccountingrules' | translate}}
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr class="toppadding bottomborder"><td colspan="4">{{'label.heading.configurefundsourcesforpaymentchannels' | translate}}</td></tr>
|
||||
<tr class="bottomborder graybg">
|
||||
<td>{{'label.heading.paymenttype' | translate}}</td>
|
||||
<td colspan="3">{{'label.heading.fundsource' | translate}}</td>
|
||||
</tr>
|
||||
<tr ng-repeat="paymentChannel in savingproduct.paymentChannelToFundSourceMappings">
|
||||
<td>{{paymentChannel.paymentTypeId}}</td>
|
||||
<td colspan="3">{{paymentChannel.fundSourceAccountId}}</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td colspan="3">
|
||||
</td>
|
||||
<td class="pull-right">
|
||||
<a ng-click="scrollto('viewlptop')"><i class="icon-upload"></i> Top</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
19
js/controllers/ViewSavingProductController.js
Normal file
19
js/controllers/ViewSavingProductController.js
Normal file
@ -0,0 +1,19 @@
|
||||
(function(module) {
|
||||
mifosX.controllers = _.extend(module, {
|
||||
ViewSavingProductController: function(scope, routeParams , location , anchorScroll , resourceFactory ) {
|
||||
resourceFactory.savingProductResource.get({savingProductId: routeParams.id , template: 'true'} , function(data) {
|
||||
scope.savingproduct = data;
|
||||
scope.hasAccounting = data.accountingRule.id == 2 ? true : false;
|
||||
});
|
||||
|
||||
scope.scrollto = function (link){
|
||||
location.hash(link);
|
||||
anchorScroll();
|
||||
|
||||
};
|
||||
}
|
||||
});
|
||||
mifosX.ng.application.controller('ViewSavingProductController', ['$scope', '$routeParams', '$location', '$anchorScroll' , 'ResourceFactory', mifosX.controllers.ViewSavingProductController]).run(function($log) {
|
||||
$log.info("ViewSavingProductController initialized");
|
||||
});
|
||||
}(mifosX.controllers || {}));
|
||||
@ -18,6 +18,7 @@ define(['underscore', 'mifosX'], function() {
|
||||
'ChargeController',
|
||||
'ViewChargeController',
|
||||
'SavingProductController',
|
||||
'ViewSavingProductController',
|
||||
'OfficesController',
|
||||
'ViewOfficeController',
|
||||
'CreateOfficeController',
|
||||
|
||||
@ -49,6 +49,9 @@
|
||||
.when('/savingproducts', {
|
||||
templateUrl: 'html/products/savingproducts.html'
|
||||
})
|
||||
.when('/viewsavingproduct/:id', {
|
||||
templateUrl: 'html/products/viewsavingproduct.html'
|
||||
})
|
||||
.when('/offices', {
|
||||
templateUrl: 'html/organization/offices.html'
|
||||
})
|
||||
|
||||
@ -44,7 +44,7 @@
|
||||
chargeResource: defineResource(apiVer + "/charges/:chargeId", {chargeId:'@chargeId'}, {
|
||||
getAllCharges: {method: 'GET', params: {}, isArray:true}
|
||||
}),
|
||||
savingProductResource: defineResource(apiVer + "/savingsproducts/:savingproductId", {}, {
|
||||
savingProductResource: defineResource(apiVer + "/savingsproducts/:savingProductId", {savingProductId:'@savingProductId'}, {
|
||||
getAllSavingProducts: {method: 'GET', params: {}, isArray:true}
|
||||
}),
|
||||
loanResource: defineResource(apiVer + "/loans/:loanId", {loanId:'@loanId'}, {
|
||||
|
||||
Loading…
Reference in New Issue
Block a user