Update Loan and saving product screens

This commit is contained in:
Madhukar 2014-04-15 14:01:09 +05:30
parent 234f7831d2
commit dd93bf5d6c
10 changed files with 1558 additions and 1262 deletions

View File

@ -1965,6 +1965,9 @@
"label.heading.paymenttype": "Payment Type",
"label.heading.fundsource": "Fund Source",
"label.heading.loanportfolio": "Loan Portfolio",
"label.heading.receivableinterest":"Receivable Interest",
"label.heading.receivablefees":"Receivable Fees",
"label.heading.receivablepenalties":"Receivable Penalties",
"label.heading.transfersinsuspenpense": "Transfers in suspense",
"label.heading.incomefrominterest": "Income from Interest",
"label.heading.incomefromfees": "Income from Fees",
@ -2497,7 +2500,7 @@
"label.button.addtranch":"Add Loan Tranche Detail",
"label.input.multidisburseloan":"Is Multi Disburse Loan",
"label.input.maxtranchecount":"Maximum Tranche count",
"label.input.outstandingloanbalance":"maximum Allowed Outstanding balance",
"label.input.outstandingloanbalance":"Maximum allowed outstanding balance",
"validation.msg.loanproduct.interestType.not.equal.to.specified.number":"Flat interest type is not allowed for multi disburse loan ",
"validation.msg.loanproduct.outstandingLoanBalance.not.zero.or.greater":"Max outstanding balance must be a positive Amount",
"validation.msg.loanproduct.maxTrancheCount.cannot.be.blank":"Tranche count must be provided",

View File

@ -137,9 +137,11 @@
} else {
scope.formData.fundSourceAccountId = scope.product.accountingMappings.fundSourceAccount.id;
scope.formData.loanPortfolioAccountId = scope.product.accountingMappings.loanPortfolioAccount.id;
scope.formData.receivableInterestAccountId = scope.product.accountingMappings.receivableInterestAccountId.id;
scope.formData.receivableFeeAccountId = scope.product.accountingMappings.receivableFeeAccountId.id;
scope.formData.receivablePenaltyAccountId = scope.product.accountingMappings.receivablePenaltyAccountId.id;
if (scope.formData.accountingRule == 3 || scope.formData.accountingRule == 4) {
scope.formData.receivableInterestAccountId = scope.product.accountingMappings.receivableInterestAccount.id;
scope.formData.receivableFeeAccountId = scope.product.accountingMappings.receivableFeeAccount.id;
scope.formData.receivablePenaltyAccountId = scope.product.accountingMappings.receivablePenaltyAccount.id;
}
scope.formData.transfersInSuspenseAccountId = scope.product.accountingMappings.transfersInSuspenseAccount.id;
scope.formData.interestOnLoanAccountId = scope.product.accountingMappings.interestOnLoanAccount.id;
@ -179,13 +181,15 @@
});
scope.chargeSelected = function (chargeId) {
resourceFactory.chargeResource.get({chargeId: chargeId, template: 'true'}, this.formData, function (data) {
data.chargeId = data.id;
scope.charges.push(data);
//to charge select box empty
scope.chargeId = '';
scope.penalityId = '';
});
if(chargeId){
resourceFactory.chargeResource.get({chargeId: chargeId, template: 'true'}, this.formData, function (data) {
data.chargeId = data.id;
scope.charges.push(data);
//to charge select box empty
scope.chargeId = '';
scope.penalityId = '';
});
}
};
scope.deleteCharge = function (index) {
@ -328,7 +332,7 @@
for (var i in scope.specificIncomeaccounts) {
temp = {
chargeId: scope.specificIncomeaccounts[i].chargeId,
incomeAccountId: scope.specificIncomeaccounts[i].incomeAccountId,
incomeAccountId: scope.specificIncomeaccounts[i].incomeAccountId
}
scope.feeToIncomeAccountMappings.push(temp);
}
@ -337,7 +341,7 @@
for (var i in scope.penaltySpecificIncomeaccounts) {
temp = {
chargeId: scope.penaltySpecificIncomeaccounts[i].chargeId,
incomeAccountId: scope.penaltySpecificIncomeaccounts[i].incomeAccountId,
incomeAccountId: scope.penaltySpecificIncomeaccounts[i].incomeAccountId
}
scope.penaltyToIncomeAccountMappings.push(temp);
}

View File

@ -10,7 +10,7 @@
scope.isAccountingEnabled = true;
}
if (data.accountingRule.id == 3 || ata.accountingRule.id == 4) {
if (data.accountingRule.id == 3 || data.accountingRule.id == 4) {
scope.isAccrualAccountingEnabled = true;
}
});

View File

@ -1022,8 +1022,9 @@ td.pointer a:hover{
color:blue;
}
.advacctable th{
width: 200px;
.advacctable {
margin-left: -20px;
width: 100%;
}
.pullleft19px{
@ -1114,9 +1115,15 @@ input#search:-ms-input-placeholder {
.width5{
width: 5%;
}
.width9{
width: 9%;
}
.width10{
width: 10%;
}
.width11{
width: 11%;
}
.width12{
width: 12%;
}
@ -1206,6 +1213,16 @@ body * { visibility: hidden; }
.marginleftn7px{
margin-left: -7px;
}
.marginleftn18px{
margin-left: -18px;
}
.marginleftn19px{
margin-left: -19px;
}
.marginleftn20px{
margin-left: -20px;
}
/*hr.terms {
border-top: thin solid rgba(0, 0, 0, 0.08);
color: #555555;

File diff suppressed because it is too large Load Diff

View File

@ -8,45 +8,51 @@
<form name="createsavingproductform" novalidate="" class="well" ng-controller="CreateSavingProductController"
rc-submit="submit()">
<api-validate></api-validate>
<div class="form-group">
<table width="100%">
<div>
<table class="width100">
<tr class="form-group">
<td width="11%">
<td class="width11">
<label class="control-label col-sm-2"><h4>{{ 'label.heading.details' | translate }}</h4></label>
</td>
<td class="blockquoteresult" width="80%">
<table>
<td class="blockquoteresult width80">
<table class="width100">
<tr>
<td width="40%">
<label class="control-label col-sm-2">{{ 'label.input.productname' | translate }}&nbsp;<span
<td class="width100 paddedbottom10">
<label class="control-label">{{ 'label.input.productname' | translate }}&nbsp;<span
class="required">*</span></label>
<input ng-autofocus="true" id="name" name="name" type="text" ng-model="formData.name"
required late-validate/>
<form-validate valattributeform="createsavingproductform" valattribute="name"/>
</td>
<td width="40%">
<div class="form-inline">
<input ng-autofocus="true" id="name" class="form-control" name="name" type="text"
ng-model="formData.name"
required late-validate/>
<form-validate valattributeform="createsavingproductform" valattribute="name"/>
</div>
</td>
</tr>
<tr>
<td width="40%">
<label class="control-label col-sm-2">{{ 'label.input.product.shortname' | translate }}&nbsp;<span
<td class="paddedbottom10">
<label class="control-label">{{ 'label.input.product.shortname' | translate }}&nbsp;<span
class="required">*</span></label>
<input type="text" id="shortName" name="shortName" ng-model="formData.shortName"
maxlength="4" required late-validate/>
<form-validate valattributeform="createsavingproductform" valattribute="shortName"/>
</td>
<td width="40%">
<div class="form-inline">
<input type="text" id="shortName" name="shortName" class="form-control"
ng-model="formData.shortName"
maxlength="4" required late-validate/>
<form-validate valattributeform="createsavingproductform" valattribute="shortName"/>
</div>
</td>
</tr>
<tr>
<td width="40%">
<label class="control-label col-sm-2">{{ 'label.input.description' | translate }}<span
<td class="paddedbottom10">
<label class="control-label">{{ 'label.input.description' | translate }}<span
class="required">*</span></label>
<textarea rows="2" id="description" name="description" ng-model="formData.description"
required late-validate/></textarea>
<form-validate valattributeform="createsavingproductform" valattribute="description"/>
</td>
<td width="40%">
<div class="form-inline">
<textarea rows="2" id="description" name="description" class="form-control"
ng-model="formData.description"
required late-validate/></textarea>
<form-validate valattributeform="createsavingproductform" valattribute="description"/>
</div>
</td>
</tr>
</table>
@ -56,81 +62,97 @@
</div>
<div class="form-group">
<table width="100%">
<tr class="span2"></tr>
<table class="width100">
<tr class="col-md-1"></tr>
<tr class="form-group">
<td width="11%">
<td class="width11">
<label class="control-label col-sm-2"><h4>{{ 'label.heading.terms' | translate }}</h4></label>
</td>
<td class="blockquoteresult" width="80%">
<table>
<td class="blockquoteresult width80">
<table class="width100">
<tr>
<td width="40%">
<label class="control-label col-sm-2">{{ 'label.input.currency' | translate }}&nbsp;<span
<td class="width40 paddedbottom10">
<label class="control-label">{{ 'label.input.currency' | translate }}&nbsp;<span
class="required">*</span></label>
<select id="currencyCode" ng-model="formData.currencyCode"
<select id="currencyCode" ng-model="formData.currencyCode" class="form-control width170px"
ng-options="currency.code as currency.name for currency in product.currencyOptions"
value="{{currency.code}}"/>
</td>
<td width="40%">
<label class="control-label col-sm-2">{{ 'label.input.decimalplaces' | translate }}&nbsp;<span
<td class="width40 paddedbottom10">
<label class="control-label">{{ 'label.input.decimalplaces' | translate }}&nbsp;<span
class="required">*</span></label>
<input type="text" id="digitsAfterDecimal" name="decimalplace" class="input-small"
ng-model="formData.digitsAfterDecimal" required late-validate/>
<form-validate valattributeform="createsavingproductform" valattribute="decimalplace"/>
<div class="form-inline">
<input type="text" id="digitsAfterDecimal" name="decimalplace" class="form-control"
ng-model="formData.digitsAfterDecimal" required late-validate/>
<form-validate valattributeform="createsavingproductform" valattribute="decimalplace"/>
</div>
</td>
</tr>
<tr>
<td width="40%">
<label class="control-label col-sm-2">{{ 'label.input.multiplesof' | translate }}&nbsp;<span
<td class="width40 paddedbottom10">
<label class="control-label">{{ 'label.input.multiplesof' | translate }}&nbsp;<span
class="required">*</span></label>
<input type="text" id="inMultiplesOf" name="multiplesof" ng-model="formData.inMultiplesOf" required
late-validate/>
<form-validate valattributeform="createsavingproductform" valattribute="multiplesof"/>
<div class="form-inline">
<input type="text" id="inMultiplesOf" class="form-control" name="multiplesof"
ng-model="formData.inMultiplesOf" required
late-validate/>
<form-validate valattributeform="createsavingproductform" valattribute="multiplesof"/>
</div>
</td>
<td width="40%">
<label class="control-label col-sm-2">{{ 'label.input.nominalannualinterestrate' | translate }}&nbsp;<span
<td class="width40 paddedbottom10">
<label class="control-label">{{ 'label.input.nominalannualinterestrate' | translate }}&nbsp;<span
class="required">*</span></label>
<input id="nominalAnnualInterestRate" name="nominalAnnualInterestRate" type="text"
class="input-small" ng-model="formData.nominalAnnualInterestRate" required late-validate/>
<form-validate valattributeform="createsavingproductform" valattribute="nominalAnnualInterestRate"/>
<div class="form-inline">
<input id="nominalAnnualInterestRate" name="nominalAnnualInterestRate" type="text"
class="form-control" ng-model="formData.nominalAnnualInterestRate" required
late-validate/>
<form-validate valattributeform="createsavingproductform"
valattribute="nominalAnnualInterestRate"/>
</div>
</td>
</tr>
<tr>
<td width="40%">
<label class="control-label col-sm-2">{{ 'label.input.interestcompoundingperiod' | translate }}&nbsp;<span
<td class="width40 paddedbottom10">
<label class="control-label">{{ 'label.input.interestcompoundingperiod' | translate }}&nbsp;<span
class="required">*</span></label>
<select id="interestCompoundingPeriodTypeOptions" ng-model="formData.interestCompoundingPeriodType"
<select id="interestCompoundingPeriodTypeOptions" class="form-control width170px"
ng-model="formData.interestCompoundingPeriodType"
ng-options="type.id as type.value for type in product.interestCompoundingPeriodTypeOptions"
value="{{type.id}}">
</select>
</td>
<td width="40%"></td>
<td class="width40"></td>
</tr>
<tr>
<td width="40%">
<label class="control-label col-sm-2">{{ 'label.input.interestpostingperiod' | translate }}&nbsp;<span
<td class="width40">
<label class="control-label">{{ 'label.input.interestpostingperiod' | translate }}&nbsp;<span
class="required">*</span></label>
<select id="interestPostingPeriodTypeOptions" ng-model="formData.interestPostingPeriodType"
<select id="interestPostingPeriodTypeOptions" class="form-control width170px"
ng-model="formData.interestPostingPeriodType"
ng-options="type.id as type.value for type in product.interestPostingPeriodTypeOptions"
value="{{type.id}}">
</select>
</td>
<td width="40%"></td>
<td class="width40"></td>
</tr>
<tr>
<td width="40%">
<label class="control-label col-sm-2">{{ 'label.input.interestcalculatedusing' | translate }}&nbsp;<span
<td class="width40">
<label class="control-label">{{ 'label.input.interestcalculatedusing' | translate }}&nbsp;<span
class="required">*</span></label>
<select id="interestCalculationType" ng-model="formData.interestCalculationType"
<select id="interestCalculationType" class="form-control width170px"
ng-model="formData.interestCalculationType"
ng-options="type.id as type.value for type in product.interestCalculationTypeOptions"
value="{{type.id}}">
</select>
</td>
<td width="40%">
<label class="control-label col-sm-2">{{ 'label.input.daysinyears' | translate }}&nbsp;<span
<td class="width40">
<label class="control-label">{{ 'label.input.daysinyears' | translate }}&nbsp;<span
class="required">*</span></label>
<select id="interestCalculationDaysInYearType" ng-model="formData.interestCalculationDaysInYearType"
<select id="interestCalculationDaysInYearType" class="form-control width170px"
ng-model="formData.interestCalculationDaysInYearType"
ng-options="type.id as type.value for type in product.interestCalculationDaysInYearTypeOptions"
value="{{type.id}}">
</select>
@ -139,74 +161,84 @@
</table>
</td>
</tr>
<tr class="span2"></tr>
<tr class="col-md-1"></tr>
<tr class="form-group">
<td width="11%">
<td class="width11">
<label class="control-label col-sm-2"><h4>{{ 'label.heading.settings' | translate }}</h4></label>
</td>
<td class="blockquoteresult" width="80%">
<td class="blockquoteresult width80">
<table>
<tr>
<td width="40%">
<label class="control-label col-sm-2">{{ 'label.input.minimumopeningbalance' | translate }}&nbsp;</label>
<input id="minRequiredOpeningBalance" type="text" ng-model="formData.minRequiredOpeningBalance">
<td class="width40">
<label class="control-label">{{ 'label.input.minimumopeningbalance' | translate }}&nbsp;</label>
<div class="form-inline">
<input id="minRequiredOpeningBalance" type="text" class="form-control"
ng-model="formData.minRequiredOpeningBalance">
</div>
</td>
<td width="40%">
<td class="width40">
</td>
</tr>
<tr>
<td width="80%">
<label class="control-label col-sm-2">{{ 'label.input.lockinPeriodFrequency' | translate }}&nbsp;</label>
<input id="lockinPeriodFrequency" type="text" class="input-small"
ng-model="formData.lockinPeriodFrequency">&nbsp;
<select id="lockinPeriodFrequencyType" ng-model="formData.lockinPeriodFrequencyType"
class="input-small"
ng-options="type.id as type.value for type in product.lockinPeriodFrequencyTypeOptions"
value="{{type.id}}">
<option style="display:none" value="">{{'label.selectone' | translate}}</option>
</select>
<td class="width100" colspan="2">
<label class="control-label">{{ 'label.input.lockinPeriodFrequency' | translate }}&nbsp;</label>
<div class="form-inline">
<input id="lockinPeriodFrequency" type="text" class="form-control"
ng-model="formData.lockinPeriodFrequency">&nbsp;
<select id="lockinPeriodFrequencyType" ng-model="formData.lockinPeriodFrequencyType"
class="form-control width170px"
ng-options="type.id as type.value for type in product.lockinPeriodFrequencyTypeOptions"
value="{{type.id}}">
<option class="displaynone" value="">{{'label.selectone' | translate}}</option>
</select>
</div>
</td>
</tr>
<tr>
<td width="40%">
<label class="control-label col-sm-2">{{ 'label.input.withdrawalfeefotransfers' | translate }}&nbsp;</label>
<td class="width40">
<label class="control-label">{{ 'label.input.withdrawalfeefotransfers' | translate }}&nbsp;</label>
<input id="withdrawalFeeForTransfers" type="checkbox" ng-model="formData.withdrawalFeeForTransfers"
ng-true-value="true" ng-false-value="false">
</td>
<td width="40%"></td>
<td class="width40"></td>
</tr>
<tr>
<td width="40%">
<label class="control-label col-sm-2">{{ 'label.input.allowoverdraft' | translate }}&nbsp;</label>
<td class="width40">
<label class="control-label">{{ 'label.input.allowoverdraft' | translate }}&nbsp;</label>
<input id="allowOverdraft" type="checkbox" ng-model="formData.allowOverdraft" ng-true-value="true"
ng-false-value="false">
</td>
<td width="40%"></td>
<td class="width40"></td>
</tr>
<tr ng-show="formData.allowOverdraft">
<td width="40%">
<label class="control-label col-sm-2">{{ 'label.input.overdraftlimit' | translate }}&nbsp;</label>
<input id="overdraftLimit" type="text" ng-model="formData.overdraftLimit">
<td class="width40">
<label class="control-label ">{{ 'label.input.overdraftlimit' | translate }}&nbsp;</label>
<div class="form-inline">
<input id="overdraftLimit" class="form-control" type="text" ng-model="formData.overdraftLimit">
</div>
</td>
</tr>
</table>
</td>
</tr>
<tr clss="span2"></tr>
<tr class="form-group">
<tr class="col-md-1"></tr>
<tr class="form-group width100">
<td>
<label class="control-label col-sm-2"><h4>{{ 'label.heading.charges' | translate }}</h4></label>
</td>
<td class="blockquoteresult">
<form>
<select ng-model="chargeId"
<form class="form-inline">
<select ng-model="chargeId" class="form-control width170px"
ng-options="charge.id as ((charge.name+' '+'('+charge.currency.name+')')) for charge in product.chargeOptions"
value="{{charge.id}}">
<option style="display:none" value="">{{'label.selectcharge' | translate}}</option>
<option class="displaynone" value="">{{'label.selectcharge' | translate}}</option>
</select>
<a class="btn btn-primary" ng-click="chargeSelected(chargeId)">{{ 'label.button.add' | translate }}</a>
</form>
<table class="table" width="100%">
<table class="table">
<tr class="graybg">
<th>{{'label.heading.name' | translate}}</th>
<th>{{'label.heading.type' | translate}}</th>
@ -226,21 +258,20 @@
<td>{{charge.chargeTimeType.value}}</td>
<td></td>
<td><a href="" ng-click="deleteCharge($index)"><i class="icon-remove icon-white"></i></a></td>
<td></td>
</tr>
</table>
</td>
</tr>
<tr class="span2"></tr>
<tr class="col-md-1"></tr>
<tr class="form-group">
<td width="11%"></td>
<td width="80%">
<td class="width11">
<label class="control-label"><h4>{{ 'label.heading.accounting' | translate }}</h4></label>
</td>
<td class="blockquoteresult">
<table>
<tr class="span2"></tr>
<tr>
<td width="30%"></td>
<td>
<input type="radio" ng-model="formData.accountingRule" value="1">{{'label.input.none' |
translate}}<br/>
@ -256,43 +287,44 @@
<tr ng-show="formData.accountingRule==2" class="form-group">
<td>
<label class="control-label col-sm-2"><h4>{{ 'label.heading.accounting' | translate }}</h4></label>
</td>
<td class="blockquoteresult">
<table width="50%">
<tr>
<td>
<hr class="marginbottom">
</td>
</tr>
<table class="width100">
<tr>
<td><h4>{{"label.heading.assets" | translate}}</h4></td>
</tr>
<tr class="form-group">
<td>
<label class="control-label col-sm-2">{{ 'label.input.savingreference' | translate }}&nbsp;</label>
<a tooltip="{{'label.tooltip.savingreference' | translate}}"><i class="icon-question-sign icon-white"></i>
<label class="control-label">{{ 'label.input.savingreference' | translate }}&nbsp;</label>
<a tooltip="{{'label.tooltip.savingreference' | translate}}"><i class="icon-question-sign icon-white"></i></a>
<div class="form-inline paddedbottom10">
<select id="savingsReferenceAccountId" ng-model="formData.savingsReferenceAccountId"
chosen="assetAccountOptions"
ng-options="assetAccount.id as assetAccount.name for assetAccount in assetAccountOptions"
value="{{assetAccount.id}}">
</select>
</div>
</td>
</tr>
<tr class="form-group">
<td>
<label class="control-label col-sm-2">{{ 'label.input.overdraftportfoliocontrol' | translate }}&nbsp;</label>
<label class="control-label">{{ 'label.input.overdraftportfoliocontrol' | translate }}&nbsp;</label>
<a tooltip="{{'label.tooltip.overdraftprotfolio' | translate}}"><i
class="icon-question-sign icon-white"></i>
class="icon-question-sign icon-white"></i></a>
<div class="form-inline paddedbottom10">
<select id="overdraftPortfolioControlId" ng-model="formData.overdraftPortfolioControlId"
chosen="assetAccountOptions"
ng-options="assetAccount.id as assetAccount.name for assetAccount in assetAccountOptions"
value="{{assetAccount.id}}">
</select>
</div>
</td>
</tr>
</table>
<table width="50%">
<table class="width100">
<tr>
<td>
<hr class="marginbottom">
@ -303,24 +335,32 @@
</tr>
<tr class="form-group">
<td>
<label class="control-label col-sm-2">{{ 'label.input.savingcontrol' | translate }}&nbsp;</label>
<a tooltip="{{'label.tooltip.savingcontrol' | translate}}"><i class="icon-question-sign icon-white"></i>
<label class="control-label">{{ 'label.input.savingcontrol' | translate }}&nbsp;</label>
<a tooltip="{{'label.tooltip.savingcontrol' | translate}}"><i
class="icon-question-sign icon-white"></i></a>
<div class="form-inline paddedbottom10">
<select id="savingsControlAccountId" ng-model="formData.savingsControlAccountId"
chosen="liabilityAccountOptions"
ng-options="liabilityAccount.id as liabilityAccount.name for liabilityAccount in liabilityAccountOptions"
value="{{liabilityAccount.id}}">
</select>
</div>
</td>
</tr>
<tr class="form-group">
<td>
<label class="control-label col-sm-2">{{ 'label.input.savingstransfersinsuspenpense' | translate }}&nbsp;</label>
<a tooltip="{{'label.tooltip.savingsuspense' | translate}}"><i class="icon-question-sign icon-white"></i>
<label class="control-label">{{ 'label.input.savingstransfersinsuspenpense' | translate }}&nbsp;</label>
<a tooltip="{{'label.tooltip.savingsuspense' | translate}}"><i
class="icon-question-sign icon-white"></i></a>
<div class="form-inline paddedbottom10">
<select id="transfersInSuspenseAccountId" ng-model="formData.transfersInSuspenseAccountId"
chosen="liabilityAccountOptions"
ng-options="liabilityAccount.id as liabilityAccount.name for liabilityAccount in liabilityAccountOptions"
value="{{liabilityAccount.id}}">
</select>
</div>
</td>
<td>
</td>
@ -334,29 +374,35 @@
<td><h4>{{"label.heading.expenses" | translate}}</h4></td>
</tr>
</table>
<table width="50%">
<table class="width100">
<tr class="form-group">
<td>
<label class="control-label col-sm-2">{{ 'label.input.interestonsavings' | translate }}&nbsp;</label>
<label class="control-label">{{ 'label.input.interestonsavings' | translate }}&nbsp;</label>
<a tooltip="{{'label.tooltip.interestonsavings' | translate}}"><i
class="icon-question-sign icon-white"></i>
class="icon-question-sign icon-white"></i></a>
<div class="form-inline paddedbottom10">
<select id="interestOnSavingsAccountId" ng-model="formData.interestOnSavingsAccountId"
chosen="expenseAccountOptions"
ng-options="expenseAccount.id as expenseAccount.name for expenseAccount in expenseAccountOptions"
value="{{expenseAccount.id}}">
</select>
</div>
</td>
<td></td>
</tr>
<tr class="form-group">
<td>
<label class="control-label col-sm-2">{{ 'label.input.writeOff' | translate }}&nbsp;</label>
<label class="control-label">{{ 'label.input.writeOff' | translate }}&nbsp;</label>
<a tooltip="{{'label.tooltip.Writeoffoverdraft' | translate}}"><i
class="icon-question-sign icon-white"></i>
class="icon-question-sign icon-white"></i></a>
<div class="form-inline paddedbottom10">
<select id="writeOffAccountId" ng-model="formData.writeOffAccountId" chosen="expenseAccountOptions"
ng-options="expenseAccount.id as expenseAccount.name for expenseAccount in expenseAccountOptions"
value="{{expenseAccount.id}}">
</select>
</div>
</td>
<td></td>
</tr>
@ -369,59 +415,69 @@
<td><h4>{{"label.heading.income" | translate}}</h4></td>
</tr>
</table>
<table width="50%">
<table class="width100">
<tr class="form-group">
<td>
<label class="control-label col-sm-2">{{ 'label.input.incomefromfees' | translate }}&nbsp;</label>
<a tooltip="{{'label.tooltip.incomefromfees' | translate}}"><i class="icon-question-sign icon-white"></i>
<label class="control-label">{{ 'label.input.incomefromfees' | translate }}&nbsp;</label>
<a tooltip="{{'label.tooltip.incomefromfees' | translate}}"><i
class="icon-question-sign icon-white"></i></a>
<div class="form-inline paddedbottom10">
<select id="incomeFromFeeAccountId" ng-model="formData.incomeFromFeeAccountId"
chosen="incomeAccountOptions"
ng-options="incomeAccount.id as incomeAccount.name for incomeAccount in incomeAccountOptions"
value="{{incomeAccount.id}}">
</select>
</div>
</td>
<td>
</td>
</tr>
<tr class="form-group">
<td>
<label class="control-label col-sm-2">{{ 'label.input.incomefrompenalties' | translate }}&nbsp;</label>
<label class="control-label">{{ 'label.input.incomefrompenalties' | translate }}&nbsp;</label>
<a tooltip="{{'label.tooltip.incomefrompenalties' | translate}}"><i
class="icon-question-sign icon-white"></i>
class="icon-question-sign icon-white"></i></a>
<div class="form-inline paddedbottom10">
<select id="incomeFromPenaltyAccountId" ng-model="formData.incomeFromPenaltyAccountId"
chosen="incomeAccountOptions"
ng-options="incomeAccount.id as incomeAccount.name for incomeAccount in incomeAccountOptions"
value="{{incomeAccount.id}}">
</select>
</div>
</td>
<td>
</td>
</tr>
<tr class="form-group">
<td>
<label class="control-label col-sm-2">{{ 'label.input.incomefrominterest' | translate }}&nbsp;</label>
<label class="control-label">{{ 'label.input.incomefrominterest' | translate }}&nbsp;</label>
<a tooltip="{{'label.tooltip.incomefromoverdraftinterest' | translate}}"><i
class="icon-question-sign icon-white"></i>
class="icon-question-sign icon-white"></i></a>
<div class="form-inline paddedbottom10">
<select id="incomeFromInterestId" ng-model="formData.incomeFromInterestId" chosen="incomeAccountOptions"
ng-options="incomeAccount.id as incomeAccount.name for incomeAccount in incomeAccountOptions"
value="{{incomeAccount.id}}">
</select>
</div>
</td>
<td>
</td>
</tr>
<tr class="span2"></tr>
<tr class="col-md-1"></tr>
</table>
<table>
<tr class="form-group">
<table class="width100">
<tr class="form-group width100">
<td>
<h4>{{'label.heading.advancedaccountingrules' | translate}}[<a ng-click="showOrHide(showOrHideValue)">{{showOrHideValue}}</a>]
</h4></br>
</td>
</tr>
<tr class="form-group">
<tr class="form-group width100">
<td>
<table ng-show="showOrHideValue == 'hide'">
<table class="width100" ng-show="showOrHideValue == 'hide'">
<tr>
<td>{{'label.heading.configurefundsourcesforpaymentchannels' | translate}}</td>
<td></td>
@ -432,32 +488,34 @@
</tr>
<tr>
<td>
<table class="table">
<table class="table width100">
<tr class="graybg">
<th>{{'label.heading.paymenttype' | translate}}</th>
<th class="width30">{{'label.heading.paymenttype' | translate}}</th>
<th></th>
<th>{{'label.heading.fundsource' | translate}}</th>
<th class="width30">{{'label.heading.fundsource' | translate}}</th>
<th></th>
<th>{{'label.heading.actions' | translate}}</th>
<th class="width30">{{'label.heading.actions' | translate}}</th>
</tr>
<tr ng-repeat="configureFundOption in configureFundOptions">
<td>
<td class="width30">
<select id="configureFundOptions[{{$index}}].paymentTypeId"
class="form-control width170px"
ng-model="configureFundOption.paymentTypeId"
ng-options="paymentType.id as paymentType.name for paymentType in configureFundOption.paymentTypeOptions"
value="{{paymentType.id}}">
</select>
</td>
<td></td>
<td>
<td class="width30">
<select id="configureFundOptions[{{$index}}].fundSourceAccountId"
class="form-control width170px"
ng-model="configureFundOption.fundSourceAccountId"
ng-options="assetAccount.id as assetAccount.name for assetAccount in configureFundOption.assetAccountOptions"
value="{{assetAccount.id}}">
</select>
</td>
<td></td>
<td><i class="icon-remove" ng-click="deleteFund($index)"></i></td>
<td class="width30"><i class="icon-remove" ng-click="deleteFund($index)"></i></td>
</tr>
</table>
</td>
@ -471,32 +529,34 @@
</tr>
<tr>
<td>
<table class="table">
<tr class="graybg">
<th>{{'label.heading.fees' | translate}}</th>
<table class="table width100">
<tr class="graybg width100">
<th class="width30">{{'label.heading.fees' | translate}}</th>
<th></th>
<th>{{'label.heading.incomeaccount' | translate}}</th>
<th class="width30">{{'label.heading.incomeaccount' | translate}}</th>
<th></th>
<th>{{'label.heading.actions' | translate}}</th>
<th class="width30">{{'label.heading.actions' | translate}}</th>
</tr>
<tr ng-repeat="specificIncomeaccount in specificIncomeaccounts">
<td>
<td class="width30">
<select id="specificIncomeaccounts[{{$index}}].chargeId"
class="form-control width170px"
ng-model="specificIncomeaccount.chargeId"
ng-options="charge.id as charge.name for charge in specificIncomeaccount.chargeOptions"
value="{{charge.id}}">
</select>
</td>
<td></td>
<td>
<td class="width30">
<select id="specificIncomeaccounts[{{$index}}].incomeAccountId"
class="form-control width170px"
ng-model="specificIncomeaccount.incomeAccountId"
ng-options="assetAccount.id as assetAccount.name for assetAccount in specificIncomeaccount.incomeAccountOptions"
value="{{assetAccount.id}}">
</select>
</td>
<td></td>
<td><i class="icon-remove" ng-click="deleteFee($index)"></i></td>
<td class="width30"><i class="icon-remove" ng-click="deleteFee($index)"></i></td>
</tr>
</table>
</td>
@ -512,30 +572,32 @@
<td>
<table class="table">
<tr class="graybg">
<th>{{'label.heading.penalty' | translate}}</th>
<th class="width30">{{'label.heading.penalty' | translate}}</th>
<th></th>
<th>{{'label.heading.incomeaccount' | translate}}</th>
<th class="width30">{{'label.heading.incomeaccount' | translate}}</th>
<th></th>
<th>{{'label.heading.actions' | translate}}</th>
<th class="width30">{{'label.heading.actions' | translate}}</th>
</tr>
<tr ng-repeat="penaltySpecificIncomeaccount in penaltySpecificIncomeaccounts">
<td>
<td class="width30">
<select id="penaltySpecificIncomeaccounts[{{$index}}].chargeId"
class="form-control width170px"
ng-model="penaltySpecificIncomeaccount.chargeId"
ng-options="charge.id as charge.name for charge in penaltySpecificIncomeaccount.penaltyOptions"
value="{{charge.id}}">
</select>
</td>
<td></td>
<td>
<td class="width30">
<select id="penaltySpecificIncomeaccounts[{{$index}}].incomeAccountId"
class="form-control width170px"
ng-model="penaltySpecificIncomeaccount.incomeAccountId"
ng-options="assetAccount.id as assetAccount.name for assetAccount in penaltySpecificIncomeaccount.incomeAccountOptions"
value="{{assetAccount.id}}">
</select>
</td>
<td></td>
<td><i class="icon-remove" ng-click="deletePenalty($index)"></i></td>
<td class="width30"><i class="icon-remove" ng-click="deletePenalty($index)"></i></td>
</tr>
</table>
</td>
@ -550,6 +612,8 @@
</div>
<div class="col-md-offset-6 paddedtop">
<a id="cancel" type="reset" class="btn btn-default" ng-click="cancel()">{{'label.button.cancel' | translate}}</a>
<button id="save" type="submit" class="btn btn-primary" has-permission='CREATE_SAVINGSPRODUCT'>{{'label.button.save' | translate}}</button>
<button id="save" type="submit" class="btn btn-primary" has-permission='CREATE_SAVINGSPRODUCT'>{{'label.button.save'
| translate}}
</button>
</div>
</form>

File diff suppressed because it is too large Load Diff

View File

@ -9,45 +9,51 @@
</div>
<form name="createsavingproductform" novalidate="" class="well" rc-submit="submit()">
<api-validate></api-validate>
<div class="form-group">
<table width="100%">
<div>
<table class="width100">
<tr class="form-group">
<td width="11%">
<td class="width11">
<label class="control-label col-sm-2"><h4>{{ 'label.heading.details' | translate }}</h4></label>
</td>
<td class="blockquoteresult" width="80%">
<table>
<td class="blockquoteresult width80">
<table class="width100">
<tr>
<td width="40%">
<label class="control-label col-sm-2">{{ 'label.input.productname' | translate }}&nbsp;<span
<td class="width100">
<label class="control-label">{{ 'label.input.productname' | translate }}&nbsp;<span
class="required">*</span></label>
<input id="name" ng-autofocus="true" name="name" type="text" ng-model="formData.name"
required late-validate/>
<form-validate valattributeform="createsavingproductform" valattribute="name"/>
</td>
<td width="40%">
<div class="form-inline">
<input id="name" ng-autofocus="true" name="name" class="form-control" type="text"
ng-model="formData.name"
required late-validate/>
<form-validate valattributeform="createsavingproductform" valattribute="name"/>
</div>
</td>
</tr>
<tr>
<td width="40%">
<label class="control-label col-sm-2">{{ 'label.input.product.shortname' | translate }}&nbsp;<span
<td class="width100">
<label class="control-label">{{ 'label.input.product.shortname' | translate }}&nbsp;<span
class="required">*</span></label>
<input type="text" id="shortName" name="shortName" ng-model="formData.shortName"
maxlength="4" required late-validate/>
<form-validate valattributeform="createsavingproductform" valattribute="shortName"/>
</td>
<td width="40%">
<div class="form-inline">
<input type="text" id="shortName" name="shortName" class="form-control"
ng-model="formData.shortName"
maxlength="4" required late-validate/>
<form-validate valattributeform="createsavingproductform" valattribute="shortName"/>
</div>
</td>
</tr>
<tr>
<td width="40%">
<label class="control-label col-sm-2">{{ 'label.input.description' | translate }}<span
<td class="width100">
<label class="control-label">{{ 'label.input.description' | translate }}<span
class="required">*</span></label>
<textarea rows="2" id="description" name="description" ng-model="formData.description"
required late-validate/></textarea>
<form-validate valattributeform="createsavingproductform" valattribute="description"/>
</td>
<td width="40%">
<div class="form-inline">
<textarea rows="2" id="description" name="description" class="form-control"
ng-model="formData.description"
required late-validate/></textarea>
<form-validate valattributeform="createsavingproductform" valattribute="description"/>
</div>
</td>
</tr>
</table>
@ -57,81 +63,99 @@
</div>
<div class="form-group">
<table width="100%">
<tr class="span2"></tr>
<table class="width100">
<tr class="col-md-1"></tr>
<tr class="form-group">
<td width="11%">
<label class="control-label col-sm-2"><h4>{{ 'label.heading.terms' | translate }}</h4></label>
<td class="width11">
<label class="control-label"><h4>{{ 'label.heading.terms' | translate }}</h4></label>
</td>
<td class="blockquoteresult" width="80%">
<table>
<td class="blockquoteresult width80">
<table class="width100">
<tr>
<td width="40%">
<label class="control-label col-sm-2">{{ 'label.input.currency' | translate }}&nbsp;<span
<td class="width40">
<label class="control-label">{{ 'label.input.currency' | translate }}&nbsp;<span
class="required">*</span></label>
<select id="currencyCode" ng-model="formData.currencyCode"
ng-options="currency.code as currency.name for currency in product.currencyOptions"
value="{{currency.code}}">
<div class="form-inline">
<select id="currencyCode" ng-model="formData.currencyCode" class="form-control width170px"
ng-options="currency.code as currency.name for currency in product.currencyOptions"
value="{{currency.code}}"></select>
</div>
</td>
<td width="40%">
<label class="control-label col-sm-2">{{ 'label.input.decimalplaces' | translate }}&nbsp;<span
<td class="width40">
<label class="control-label">{{ 'label.input.decimalplaces' | translate }}&nbsp;<span
class="required">*</span></label>
<input id="digitsAfterDecimal" type="text" name="decimalplace" class="input-small"
ng-model="formData.digitsAfterDecimal" required late-validate/>
<form-validate valattributeform="createsavingproductform" valattribute="decimalplace"/>
<div class="form-inline">
<input id="digitsAfterDecimal" type="text" name="decimalplace" class="form-control"
ng-model="formData.digitsAfterDecimal" required late-validate/>
<form-validate valattributeform="createsavingproductform" valattribute="decimalplace"/>
</div>
</td>
</tr>
<tr>
<td width="40%">
<label class="control-label col-sm-2">{{ 'label.input.multiplesof' | translate }}&nbsp;<span
<td class="width40">
<label class="control-label">{{ 'label.input.multiplesof' | translate }}&nbsp;<span
class="required">*</span></label>
<input id="inMultiplesOf" type="text" name="multiplesof" ng-model="formData.inMultiplesOf" required
late-validate/>
<form-validate valattributeform="createsavingproductform" valattribute="multiplesof"/>
<div class="form-inline">
<input id="inMultiplesOf" type="text" class="form-control" name="multiplesof"
ng-model="formData.inMultiplesOf" required
late-validate/>
<form-validate valattributeform="createsavingproductform" valattribute="multiplesof"/>
</div>
</td>
<td width="40%">
<label class="control-label col-sm-2">{{ 'label.input.nominalannualinterestrate' | translate }}&nbsp;<span
<td class="width40">
<label class="control-label">{{ 'label.input.nominalannualinterestrate' | translate }}&nbsp;<span
class="required">*</span></label>
<input id="nominalAnnualInterestRate" name="nominalAnnualInterestRate" type="text"
class="input-small" ng-model="formData.nominalAnnualInterestRate" required late-validate/>
<form-validate valattributeform="createsavingproductform" valattribute="nominalAnnualInterestRate"/>
<div class="form-inline">
<input id="nominalAnnualInterestRate" name="nominalAnnualInterestRate" type="text"
class="form-control" ng-model="formData.nominalAnnualInterestRate" required
late-validate/>
<form-validate valattributeform="createsavingproductform"
valattribute="nominalAnnualInterestRate"/>
</div>
</td>
</tr>
<tr>
<td width="40%">
<label class="control-label col-sm-2">{{ 'label.input.interestcompoundingperiod' | translate }}&nbsp;<span
<td class="width40">
<label class="control-label">{{ 'label.input.interestcompoundingperiod' | translate }}&nbsp;<span
class="required">*</span></label>
<select id="interestCompoundingPeriodType" ng-model="formData.interestCompoundingPeriodType"
ng-options="type.id as type.value for type in product.interestCompoundingPeriodTypeOptions"
value="{{type.id}}">
</select>
<div class="form-inline">
<select id="interestCompoundingPeriodType" ng-model="formData.interestCompoundingPeriodType"
class="form-control width170px"
ng-options="type.id as type.value for type in product.interestCompoundingPeriodTypeOptions"
value="{{type.id}}">
</select>
</div>
</td>
<td width="40%"></td>
</tr>
<tr>
<td width="40%">
<label class="control-label col-sm-2">{{ 'label.input.interestpostingperiod' | translate }}&nbsp;<span
<td class="width40">
<label class="control-label">{{ 'label.input.interestpostingperiod' | translate }}&nbsp;<span
class="required">*</span></label>
<select id="interestPostingPeriodType" ng-model="formData.interestPostingPeriodType"
class="form-control width170px"
ng-options="type.id as type.value for type in product.interestPostingPeriodTypeOptions"
value="{{type.id}}">
</select>
</td>
<td width="40%"></td>
</tr>
<tr>
<td width="40%">
<label class="control-label col-sm-2">{{ 'label.input.interestcalculatedusing' | translate }}&nbsp;<span
<td class="width40">
<label class="control-label">{{ 'label.input.interestcalculatedusing' | translate }}&nbsp;<span
class="required">*</span></label>
<select id="interestCalculationType" ng-model="formData.interestCalculationType"
class="form-control width170px"
ng-options="type.id as type.value for type in product.interestCalculationTypeOptions"
value="{{type.id}}">
</select>
</td>
<td width="40%">
<label class="control-label col-sm-2">{{ 'label.input.daysinyears' | translate }}&nbsp;<span
<td class="width40">
<label class="control-label">{{ 'label.input.daysinyears' | translate }}&nbsp;<span
class="required">*</span></label>
<select id="interestCalculationDaysInYearType" ng-model="formData.interestCalculationDaysInYearType"
class="form-control width170px"
ng-options="type.id as type.value for type in product.interestCalculationDaysInYearTypeOptions"
value="{{type.id}}">
</select>
@ -140,76 +164,79 @@
</table>
</td>
</tr>
<tr class="span2"></tr>
<tr class="col-md-1"></tr>
<tr class="form-group">
<td width="11%">
<td class="width11">
<label class="control-label col-sm-2"><h4>{{ 'label.heading.settings' | translate }}</h4></label>
</td>
<td class="blockquoteresult" width="80%">
<table>
<td class="blockquoteresult width80">
<table class="width100">
<tr>
<td width="40%">
<label class="control-label col-sm-2">{{ 'label.input.minimumopeningbalance' | translate }}&nbsp;</label>
<input id="minRequiredOpeningBalance" type="text" ng-model="formData.minRequiredOpeningBalance">
<td class="width40">
<label class="control-label">{{ 'label.input.minimumopeningbalance' | translate }}&nbsp;</label>
<div class="form-inline">
<input id="minRequiredOpeningBalance" class="form-control" type="text"
ng-model="formData.minRequiredOpeningBalance">
</div>
</td>
<td width="40%">
<td class="width40">
<label class="control-label">{{ 'label.input.lockinPeriodFrequency' | translate }}&nbsp;</label>
<div class="form-inline">
<input id="lockinPeriodFrequency" type="text" class="form-control"
ng-model="formData.lockinPeriodFrequency">&nbsp;
<select id="lockinPeriodFrequencyType" ng-model="formData.lockinPeriodFrequencyType"
class="form-control width170px"
ng-options="type.id as type.value for type in product.lockinPeriodFrequencyTypeOptions"
value="{{type.id}}">
<option class="displaynone" value="">{{'label.selectone' | translate}}</option>
</select>
</div>
</td>
</tr>
<tr>
<td width="80%">
<label class="control-label col-sm-2">{{ 'label.input.lockinPeriodFrequency' | translate }}&nbsp;</label>
<input id="lockinPeriodFrequency" type="text" class="input-small"
ng-model="formData.lockinPeriodFrequency">&nbsp;
<select id="lockinPeriodFrequencyType" ng-model="formData.lockinPeriodFrequencyType"
class="input-small"
ng-options="type.id as type.value for type in product.lockinPeriodFrequencyTypeOptions"
value="{{type.id}}">
<option style="display:none" value="">{{'label.selectone' | translate}}</option>
</select>
</td>
</tr>
<tr>
<td width="40%">
<label class="control-label col-sm-2">{{ 'label.input.applywithdrawalfeefortransfers' | translate
<td class="width40">
<label class="control-label">{{ 'label.input.applywithdrawalfeefortransfers' | translate
}}&nbsp;</label>
<input id="withdrawalFeeForTransfers" type="checkbox" ng-model="formData.withdrawalFeeForTransfers"
ng-true-value="true" ng-false-value="false">
</td>
<td width="40%"></td>
<td class="width40"></td>
</tr>
<tr>
<td width="40%">
<label class="control-label col-sm-2">{{ 'label.input.allowoverdraft' | translate }}&nbsp;</label>
<td class="width40">
<label class="control-label">{{ 'label.input.allowoverdraft' | translate }}&nbsp;</label>
<input id="allowOverdraft" type="checkbox" ng-model="formData.allowOverdraft" ng-true-value="true"
ng-false-value="false">
</td>
<td width="40%"></td>
<td class="width40"></td>
</tr>
<tr ng-show="formData.allowOverdraft">
<td width="40%">
<label class="control-label col-sm-2">{{ 'label.input.overdraftlimit' | translate }}&nbsp;</label>
<input id="overdraftLimit" type="text" ng-model="formData.overdraftLimit">
<td class="width40">
<label class="control-label">{{ 'label.input.overdraftlimit' | translate }}&nbsp;</label>
<input id="overdraftLimit" type="text" class="form-control" ng-model="formData.overdraftLimit">
</td>
</tr>
</table>
</td>
</tr>
<tr class="span2"></tr>
<tr class="col-md-1"></tr>
<tr class="form-group">
<td>
<label class="control-label col-sm-2"><h4>{{ 'label.heading.charges' | translate }}</h4></label>
<label class="control-label"><h4>{{ 'label.heading.charges' | translate }}</h4></label>
</td>
<td class="blockquoteresult">
<form>
<form class="form-inline">
<select ng-model="chargeId" ng-options="charge.id as charge.name for charge in product.chargeOptions"
value="{{charge.id}}">
<option style="display:none" value="">{{'label.selectcharge' | translate}}</option>
value="{{charge.id}}" class="form-control width170px">
<option class="displaynone" value="">{{'label.selectcharge' | translate}}</option>
</select>
<a class="btn btn-primary" ng-click="chargeSelected(chargeId)">{{ 'label.button.add' | translate }}</a>
</form>
<table class="table" width="100%">
<table class="table width100">
<tr class="graybg">
<th>{{'label.heading.name' | translate}}</th>
<th>{{'label.heading.type' | translate}}</th>
@ -228,22 +255,21 @@
<td></td>
<td>{{charge.chargeTimeType.value}}</td>
<td></td>
<td><a href="" ng-click="deleteCharge($index)"><i class="icon-remove icon-white"></i></a></td>
<td></td>
<td><a ng-click="deleteCharge($index)"><i class="icon-remove icon-white"></i></a></td>
</tr>
</table>
</td>
</tr>
<tr class="span2"></tr>
<tr class="col-md-1"></tr>
<tr class="form-group">
<td width="11%"></td>
<td width="80%">
<td class="width11">
<label class="control-label"><h4>{{ 'label.heading.accounting' | translate }}</h4></label>
</td>
<td class="blockquoteresult">
<table>
<tr class="span2"></tr>
<tr>
<td width="30%"></td>
<td>
<input type="radio" ng-model="formData.accountingRule" value="1">{{'label.input.none' |
translate}}<br/>
@ -259,45 +285,46 @@
<tr ng-show="formData.accountingRule==2" class="form-group">
<td>
<label class="control-label col-sm-2"><h4>{{ 'label.heading.accounting' | translate }}</h4></label>
</td>
<td class="blockquoteresult">
<table width="50%">
<tr>
<td>
<hr class="marginbottom">
</td>
</tr>
<table class="width100">
<tr>
<td><h4>{{"label.heading.assets" | translate}}</h4></td>
</tr>
<tr class="form-group">
<td>
<label class="control-label col-sm-2">{{ 'label.input.savingreference' | translate }}&nbsp;</label>
<a tooltip="{{'label.tooltip.savingreference' | translate}}"><i class="icon-question-sign icon-white"></i>
<label class="control-label">{{ 'label.input.savingreference' | translate }}&nbsp;</label>
<a tooltip="{{'label.tooltip.savingreference' | translate}}"><i class="icon-question-sign icon-white"></i></a>
<div class="form-inline paddedbottom10">
<select id="savingsReferenceAccountId" ng-model="formData.savingsReferenceAccountId"
chosen="assetAccountOptions"
ng-options="assetAccount.id as assetAccount.name for assetAccount in assetAccountOptions"
value="{{assetAccount.id}}">
</select>
</div>
</td>
</tr>
<tr class="form-group">
<td>
<label class="control-label col-sm-2">{{ 'label.input.overdraftportfoliocontrol' | translate }}&nbsp;</label>
<label class="control-label">{{ 'label.input.overdraftportfoliocontrol' | translate }}&nbsp;</label>
<a tooltip="{{'label.tooltip.overdraftprotfolio' | translate}}"><i
class="icon-question-sign icon-white"></i>
class="icon-question-sign icon-white"></i></a>
<div class="form-inline paddedbottom10">
<select id="overdraftPortfolioControlId" ng-model="formData.overdraftPortfolioControlId"
chosen="assetAccountOptions"
ng-options="assetAccount.id as assetAccount.name for assetAccount in assetAccountOptions"
value="{{assetAccount.id}}">
</select>
</div>
</td>
</tr>
</table>
<table width="50%">
<table class="width100">
<tr>
<td>
<hr class="marginbottom">
@ -308,24 +335,32 @@
</tr>
<tr class="form-group">
<td>
<label class="control-label col-sm-2">{{ 'label.input.savingcontrol' | translate }}&nbsp;</label>
<a tooltip="{{'label.tooltip.savingcontrol' | translate}}"><i class="icon-question-sign icon-white"></i>
<label class="control-label">{{ 'label.input.savingcontrol' | translate }}&nbsp;</label>
<a tooltip="{{'label.tooltip.savingcontrol' | translate}}"><i
class="icon-question-sign icon-white"></i></a>
<div class="form-inline paddedbottom10">
<select id="savingsControlAccountId" ng-model="formData.savingsControlAccountId"
chosen="liabilityAccountOptions"
ng-options="liabilityAccount.id as liabilityAccount.name for liabilityAccount in liabilityAccountOptions"
value="{{liabilityAccount.id}}">
</select>
</div>
</td>
</tr>
<tr class="form-group">
<td>
<label class="control-label col-sm-2">{{ 'label.input.savingstransfersinsuspenpense' | translate }}&nbsp;</label>
<a tooltip="{{'label.tooltip.savingsuspense' | translate}}"><i class="icon-question-sign icon-white"></i>
<label class="control-label">{{ 'label.input.savingstransfersinsuspenpense' | translate }}&nbsp;</label>
<a tooltip="{{'label.tooltip.savingsuspense' | translate}}"><i
class="icon-question-sign icon-white"></i></a>
<div class="form-inline paddedbottom10">
<select id="transfersInSuspenseAccountId" ng-model="formData.transfersInSuspenseAccountId"
chosen="liabilityAccountOptions"
ng-options="liabilityAccount.id as liabilityAccount.name for liabilityAccount in liabilityAccountOptions"
value="{{liabilityAccount.id}}">
</select>
</div>
</td>
<td>
</td>
@ -339,29 +374,35 @@
<td><h4>{{"label.heading.expenses" | translate}}</h4></td>
</tr>
</table>
<table width="50%">
<table class="width100">
<tr class="form-group">
<td>
<label class="control-label col-sm-2">{{ 'label.input.interestonsavings' | translate }}&nbsp;</label>
<label class="control-label">{{ 'label.input.interestonsavings' | translate }}&nbsp;</label>
<a tooltip="{{'label.tooltip.interestonsavings' | translate}}"><i
class="icon-question-sign icon-white"></i>
class="icon-question-sign icon-white"></i></a>
<div class="form-inline paddedbottom10">
<select id="interestOnSavingsAccountId" ng-model="formData.interestOnSavingsAccountId"
chosen="expenseAccountOptions"
ng-options="expenseAccount.id as expenseAccount.name for expenseAccount in expenseAccountOptions"
value="{{expenseAccount.id}}">
</select>
</div>
</td>
<td></td>
</tr>
<tr class="form-group">
<td>
<label class="control-label col-sm-2">{{ 'label.input.writeOff' | translate }}&nbsp;</label>
<label class="control-label">{{ 'label.input.writeOff' | translate }}&nbsp;</label>
<a tooltip="{{'label.tooltip.Writeoffoverdraft' | translate}}"><i
class="icon-question-sign icon-white"></i>
class="icon-question-sign icon-white"></i></a>
<div class="form-inline paddedbottom10">
<select id="writeOffAccountId" ng-model="formData.writeOffAccountId" chosen="expenseAccountOptions"
ng-options="expenseAccount.id as expenseAccount.name for expenseAccount in expenseAccountOptions"
value="{{expenseAccount.id}}">
</select>
</div>
</td>
<td></td>
</tr>
@ -374,50 +415,60 @@
<td><h4>{{"label.heading.income" | translate}}</h4></td>
</tr>
</table>
<table width="50%">
<table class="width100">
<tr class="form-group">
<td>
<label class="control-label col-sm-2">{{ 'label.input.incomefromfees' | translate }}&nbsp;</label>
<a tooltip="{{'label.tooltip.incomefromfees' | translate}}"><i class="icon-question-sign icon-white"></i>
<label class="control-label">{{ 'label.input.incomefromfees' | translate }}&nbsp;</label>
<a tooltip="{{'label.tooltip.incomefromfees' | translate}}"><i
class="icon-question-sign icon-white"></i></a>
<div class="form-inline paddedbottom10">
<select id="incomeFromFeeAccountId" ng-model="formData.incomeFromFeeAccountId"
chosen="incomeAccountOptions"
ng-options="incomeAccount.id as incomeAccount.name for incomeAccount in incomeAccountOptions"
value="{{incomeAccount.id}}">
</select>
</div>
</td>
<td>
</td>
</tr>
<tr class="form-group">
<td>
<label class="control-label col-sm-2">{{ 'label.input.incomefrompenalties' | translate }}&nbsp;</label>
<label class="control-label">{{ 'label.input.incomefrompenalties' | translate }}&nbsp;</label>
<a tooltip="{{'label.tooltip.incomefrompenalties' | translate}}"><i
class="icon-question-sign icon-white"></i>
class="icon-question-sign icon-white"></i></a>
<div class="form-inline paddedbottom10">
<select id="incomeFromPenaltyAccountId" ng-model="formData.incomeFromPenaltyAccountId"
chosen="incomeAccountOptions"
ng-options="incomeAccount.id as incomeAccount.name for incomeAccount in incomeAccountOptions"
value="{{incomeAccount.id}}">
</select>
</div>
</td>
<td>
</td>
</tr>
<tr class="form-group">
<td>
<label class="control-label col-sm-2">{{ 'label.input.incomefrominterest' | translate }}&nbsp;</label>
<label class="control-label">{{ 'label.input.incomefrominterest' | translate }}&nbsp;</label>
<a tooltip="{{'label.tooltip.incomefromoverdraftinterest' | translate}}"><i
class="icon-question-sign icon-white"></i>
class="icon-question-sign icon-white"></i></a>
<div class="form-inline paddedbottom10">
<select id="incomeFromInterestId" ng-model="formData.incomeFromInterestId" chosen="incomeAccountOptions"
ng-options="incomeAccount.id as incomeAccount.name for incomeAccount in incomeAccountOptions"
value="{{incomeAccount.id}}">
</select>
</div>
</td>
<td>
</td>
</tr>
<tr class="span2"></tr>
<tr class="col-md-1"></tr>
</table>
<table>
<table class="width100">
<tr class="form-group">
<td>
<h4>{{'label.heading.advancedaccountingrules' | translate}}[<a ng-click="showOrHide(showOrHideValue)">{{showOrHideValue}}</a>]
@ -426,7 +477,7 @@
</tr>
<tr class="form-group">
<td>
<table ng-show="showOrHideValue == 'hide'">
<table class="width100" ng-show="showOrHideValue == 'hide'">
<tr>
<td>{{'label.heading.configurefundsourcesforpaymentchannels' | translate}}</td>
<td></td>
@ -437,32 +488,34 @@
</tr>
<tr>
<td>
<table class="table">
<table class="table width100">
<tr class="graybg">
<th>{{'label.heading.paymenttype' | translate}}</th>
<th class="width30">{{'label.heading.paymenttype' | translate}}</th>
<th></th>
<th>{{'label.heading.fundsource' | translate}}</th>
<th class="width30">{{'label.heading.fundsource' | translate}}</th>
<th></th>
<th>{{'label.heading.actions' | translate}}</th>
<th class="width30">{{'label.heading.actions' | translate}}</th>
</tr>
<tr ng-repeat="configureFundOption in configureFundOptions">
<td>
<td class="width30">
<select id="configureFundOptions[{{$index}}].paymentTypeId"
class="form-control width170px"
ng-model="configureFundOption.paymentTypeId"
ng-options="paymentType.id as paymentType.name for paymentType in configureFundOption.paymentTypeOptions"
value="{{paymentType.id}}">
</select>
</td>
<td></td>
<td>
<td class="width30">
<select id="configureFundOptions[{{$index}}].fundSourceAccountId"
class="form-control width170px"
ng-model="configureFundOption.fundSourceAccountId"
ng-options="assetAccount.id as assetAccount.name for assetAccount in configureFundOption.assetAccountOptions"
value="{{assetAccount.id}}">
</select>
</td>
<td></td>
<td><i class="icon-remove" ng-click="deleteFund($index)"></i></td>
<td class="width30"><i class="icon-remove" ng-click="deleteFund($index)"></i></td>
</tr>
</table>
</td>
@ -478,30 +531,32 @@
<td>
<table class="table">
<tr class="graybg">
<th>{{'label.heading.fees' | translate}}</th>
<th class="width30">{{'label.heading.fees' | translate}}</th>
<th></th>
<th>{{'label.heading.incomeaccount' | translate}}</th>
<th class="width30">{{'label.heading.incomeaccount' | translate}}</th>
<th></th>
<th>{{'label.heading.actions' | translate}}</th>
<th class="width30">{{'label.heading.actions' | translate}}</th>
</tr>
<tr ng-repeat="specificIncomeaccount in specificIncomeaccounts">
<td>
<td class="width30">
<select id="specificIncomeaccounts[{{$index}}].chargeId"
class="form-control width170px"
ng-model="specificIncomeaccount.chargeId"
ng-options="charge.id as charge.name for charge in specificIncomeaccount.chargeOptions"
value="{{charge.id}}">
</select>
</td>
<td></td>
<td>
<td class="width30">
<select id="specificIncomeaccounts[{{$index}}].incomeAccountId"
class="form-control width170px"
ng-model="specificIncomeaccount.incomeAccountId"
ng-options="assetAccount.id as assetAccount.name for assetAccount in specificIncomeaccount.incomeAccountOptions"
value="{{assetAccount.id}}">
</select>
</td>
<td></td>
<td><i class="icon-remove" ng-click="deleteFee($index)"></i></td>
<td class="width30"><i class="icon-remove" ng-click="deleteFee($index)"></i></td>
</tr>
</table>
</td>
@ -517,30 +572,32 @@
<td>
<table class="table">
<tr class="graybg">
<th>{{'label.heading.penalty' | translate}}</th>
<th class="width30">{{'label.heading.penalty' | translate}}</th>
<th></th>
<th>{{'label.heading.incomeaccount' | translate}}</th>
<th class="width30">{{'label.heading.incomeaccount' | translate}}</th>
<th></th>
<th>{{'label.heading.actions' | translate}}</th>
<th class="width30">{{'label.heading.actions' | translate}}</th>
</tr>
<tr ng-repeat="penaltySpecificIncomeaccount in penaltySpecificIncomeaccounts">
<td>
<td class="width30">
<select id="penaltySpecificIncomeaccounts[{{$index}}].chargeId"
class="form-control width170px"
ng-model="penaltySpecificIncomeaccount.chargeId"
ng-options="charge.id as charge.name for charge in penaltySpecificIncomeaccount.penaltyOptions"
value="{{charge.id}}">
</select>
</td>
<td></td>
<td>
<td class="width30">
<select id="penaltySpecificIncomeaccounts[{{$index}}].incomeAccountId"
class="form-control width170px"
ng-model="penaltySpecificIncomeaccount.incomeAccountId"
ng-options="assetAccount.id as assetAccount.name for assetAccount in penaltySpecificIncomeaccount.incomeAccountOptions"
value="{{assetAccount.id}}">
</select>
</td>
<td></td>
<td><i class="icon-remove" ng-click="deletePenalty($index)"></i></td>
<td class="width30"><i class="icon-remove" ng-click="deletePenalty($index)"></i></td>
</tr>
</table>
</td>
@ -556,7 +613,9 @@
<div class="col-md-offset-6 paddedtop">
<button id="cancel" type="reset" class="btn btn-warning" ng-click="cancel()">{{'label.button.cancel' | translate}}
</button>
<button id="save" type="submit" class="btn btn-primary" has-permission='UPDATE_SAVINGSPRODUCT'>{{'label.button.save' | translate}}</button>
<button id="save" type="submit" class="btn btn-primary" has-permission='UPDATE_SAVINGSPRODUCT'>{{'label.button.save'
| translate}}
</button>
</div>
</form>
</div>

View File

@ -6,11 +6,11 @@
<div class="pull-right">
<a href="#/createloanproduct" class="btn btn-primary" has-permission='CREATE_LOANPRODUCT'><i class="icon-plus icon-white"></i>{{'label.button.createloanproduct' | translate}}</a>
</div>
<input ng-autofocus="true" ng-model="filterText" type="text" class="form-control"
placeholder="{{'label.input.filterbynameshortname' | translate}}">
</div>
<div ng-controller="LoanProductController">
<input ng-autofocus="true" ng-model="filterText" type="text" class="form-control"
placeholder="{{'label.input.filterbynameshortname' | translate}}">
<table class="table">
<thead>
<tr class="graybg">

View File

@ -6,11 +6,12 @@
<div class="pull-right">
<a href="#/createsavingproduct" class="btn btn-primary" has-permission='CREATE_SAVINGSPRODUCT'><i class="icon-plus icon-white"></i>{{'label.button.createsavingproduct' | translate}}</a>
</div>
<input ng-autofocus="true" ng-model="filterText" type="text" class="form-control"
placeholder="{{'label.input.filterbynameshortname' | translate}}">
</div>
<div ng-controller="SavingProductController">
<input ng-autofocus="true" ng-model="filterText" type="text" class="form-control"
placeholder="{{'label.input.filterbynameshortname' | translate}}">
<table class="table">
<thead>
<tr class="graybg">