community-app/app/views/products/editsavingproduct.html

534 lines
31 KiB
HTML
Executable File

<div class="content-container" ng-controller="EditSavingProductController">
<ul class="breadcrumb">
<li><a href="#/products">{{'label.anchor.products' | translate}}</a></li>
<li><a href="#/savingproducts">{{'label.anchor.savingproducts' | translate}}</a></li>
<li><a href="#/viewsavingproduct/{{product.id}}">{{product.name}}</a></li>
<li class="active">{{'label.anchor.editsavingproduct' | translate}}</li>
</ul>
<form name="createsavingproductform" novalidate="" class="card form-horizontal well" rc-submit="submit()">
<api-validate></api-validate>
<fieldset>
<h3>{{ 'label.heading.details' | translate }}</h3>
<hr>
<div class="form-group">
<label class="control-label col-sm-2">{{ 'label.input.productname' | translate }}<span class="required">*</span></label>
<div class="col-sm-3">
<input ng-autofocus="true" id="name" class="form-control" name="name" type="text" ng-model="formData.name"
required late-validate/>
</div>
<div class="col-sm-3">
<form-validate valattributeform="createsavingproductform" valattribute="name"/>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2">{{ 'label.input.product.shortname' | translate }}<span class="required">*</span></label>
<div class="col-sm-3">
<input type="text" id="shortName" name="shortName" class="form-control" ng-model="formData.shortName"
maxlength="4" required late-validate/>
</div>
<div class="col-sm-3">
<form-validate valattributeform="createsavingproductform" valattribute="shortName"/>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2">{{ 'label.input.description' | translate }}<span class="required">*</span></label>
<div class="col-sm-3">
<textarea rows="2" id="description" name="description" class="form-control" ng-model="formData.description"
required late-validate/></textarea>
</div>
<div class="col-sm-3">
<form-validate valattributeform="createsavingproductform" valattribute="description"/>
</div>
</div>
<h3>{{ 'label.heading.currency' | translate }}</h3>
<hr>
<div class="form-group">
<label class="control-label col-sm-2">{{ 'label.input.currency' | translate }}<span class="required">*</span></label>
<div class="col-sm-2">
<select id="currencyCode" ng-model="formData.currencyCode" class="form-control"
ng-options="currency.code as currency.name for currency in product.currencyOptions"
value="{{currency.code}}"/>
</div>
<label class="control-label col-sm-2 col-sm-offset-2">{{ 'label.input.decimalplaces' | translate }}<span class="required">*</span></label>
<div class="col-sm-2">
<input type="text" id="digitsAfterDecimal" name="decimalplace" class="form-control"
ng-model="formData.digitsAfterDecimal" required late-validate/>
</div>
<div class="col-sm-2">
<form-validate valattributeform="createsavingproductform" valattribute="decimalplace"/>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2">{{ 'label.input.multiplesof' | translate }}<span class="required">*</span></label>
<div class="col-sm-2">
<input type="text" id="inMultiplesOf" class="form-control" name="multiplesof" ng-model="formData.inMultiplesOf"
required late-validate/>
</div>
<div class="col-sm-2">
<form-validate valattributeform="createsavingproductform" valattribute="multiplesof"/>
</div>
</div>
<h3>{{ 'label.heading.terms' | translate }}</h3>
<hr>
<div class="form-group">
<label class="control-label col-sm-2">{{ 'label.input.nominalannualinterestrate' | translate }}<span class="required">*</span></label>
<div class="col-sm-2">
<input id="nominalAnnualInterestRate" name="nominalAnnualInterestRate" type="text" class="form-control"
ng-model="formData.nominalAnnualInterestRate" required late-validate/>
</div>
<div class="col-sm-2">
<form-validate valattributeform="createsavingproductform" valattribute="nominalAnnualInterestRate"/>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2">{{ 'label.input.interestcompoundingperiod' | translate }}<span class="required">*</span></label>
<div class="col-sm-2">
<select id="interestCompoundingPeriodTypeOptions" class="form-control"
ng-model="formData.interestCompoundingPeriodType"
ng-options="type.id as type.value for type in product.interestCompoundingPeriodTypeOptions"
value="{{type.id}}"></select>
</div>
<label class="control-label col-sm-2 col-sm-offset-2">{{ 'label.input.interestpostingperiod' | translate }}<span
class="required">*</span></label>
<div class="col-sm-2">
<select id="interestPostingPeriodTypeOptions" class="form-control"
ng-model="formData.interestPostingPeriodType"
ng-options="type.id as type.value for type in product.interestPostingPeriodTypeOptions"
value="{{type.id}}"></select>
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-2">{{ 'label.input.interestcalculatedusing' | translate }}<span class="required">*</span></label>
<div class="col-sm-2">
<select id="interestCalculationType" class="form-control"
ng-model="formData.interestCalculationType"
ng-options="type.id as type.value for type in product.interestCalculationTypeOptions"
value="{{type.id}}"></select>
</div>
<label class="control-label col-sm-2 col-sm-offset-2">{{ 'label.input.daysinyears' | translate }}<span class="required">*</span></label>
<div class="col-sm-2">
<select id="interestCalculationDaysInYearType" class="form-control"
ng-model="formData.interestCalculationDaysInYearType"
ng-options="type.id as type.value for type in product.interestCalculationDaysInYearTypeOptions"
value="{{type.id}}"></select>
</div>
</div>
<h3>{{ 'label.heading.settings' | translate }}</h3>
<hr>
<div class="form-group">
<label class="control-label col-sm-3">{{ 'label.input.minimumopeningbalance' | translate }}</label>
<div class="col-sm-2">
<input id="minRequiredOpeningBalance" type="text" class="form-control"
number-format ng-model="formData.minRequiredOpeningBalance">
</div>
<label class="control-label col-sm-2">{{ 'label.input.lockinPeriodFrequency' | translate }}</label>
<div class="col-sm-2">
<input id="lockinPeriodFrequency" type="text" class="form-control"
ng-model="formData.lockinPeriodFrequency">
</div>
<div class="col-sm-2">
<select id="lockinPeriodFrequencyType" ng-model="formData.lockinPeriodFrequencyType"
class="form-control"
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>
</div>
<div class="form-group">
<label class="control-label col-sm-3">{{ 'label.input.applywithdrawalfeefortransfers' | translate }}</label>
<div class="col-sm-2">
<input id="withdrawalFeeForTransfers" type="checkbox" ng-model="formData.withdrawalFeeForTransfers"
ng-true-value="true" ng-false-value="false">
</div>
<label class="control-label col-sm-2">{{ 'label.input.minbalanceforinterest' | translate }}</label>
<div class="col-sm-2">
<input id="minBalanceForInterestCalculation" type="text" class="form-control"
number-format ng-model="formData.minBalanceForInterestCalculation">
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-3">{{ 'label.input.enforceMinRequiredBalance' | translate }}</label>
<div class="col-sm-2">
<input id="enforceMinRequiredBalance" type="checkbox"
ng-model="formData.enforceMinRequiredBalance"/>
</div>
<label class="control-label col-sm-2">{{
'label.input.minRequiredBalance' | translate }}</label>
<div class="col-sm-2">
<input id="minRequiredBalance" type="text" class="form-control"
number-format ng-model="formData.minRequiredBalance"/>
</div>
</div>
<div class="form-group" >
<label class="control-label col-sm-3">{{ 'label.input.allowoverdraft' | translate }}</label>
<div class="col-sm-2">
<input id="allowOverdraft" type="checkbox" ng-model="formData.allowOverdraft" ng-true-value="true"
ng-false-value="false">
</div>
<label class="control-label col-sm-2" ng-show="formData.allowOverdraft">{{ 'label.input.overdraftlimit' | translate }}</label>
<div class="col-sm-2" ng-show="formData.allowOverdraft">
<input id="overdraftLimit" type="text" class="form-control"
ng-model="formData.overdraftLimit">
</div>
</div>
<div class="form-group" ng-show="formData.allowOverdraft">
<label class="control-label col-sm-3">{{ 'label.input.nominalannualinterestrateoverdraft' | translate }}</label>
<div class="col-sm-2">
<input id="nominalAnnualInterestRateOverdraft" type="text" class="form-control"
ng-model="formData.nominalAnnualInterestRateOverdraft">
</div>
<label class="control-label col-sm-2">{{ 'label.input.minoverdraftforinterestcalculation' | translate }}</label>
<div class="col-sm-2">
<input id="minOverdraftForInterestCalculation" type="text" class="form-control"
ng-model="formData.minOverdraftForInterestCalculation">
</div>
</div>
<div class="form-group" >
<label class="control-label col-sm-3">{{ 'label.input.lienallowed' | translate }}</label>
<div class="col-sm-2">
<input id="lienAllowed" type="checkbox" ng-model="formData.lienAllowed" ng-true-value="true"
ng-false-value="false">
</div>
<label class="control-label col-sm-2" ng-show="formData.lienAllowed">{{ 'label.input.maxallowedlienlimit' | translate }}</label>
<div class="col-sm-2" ng-show="formData.lienAllowed">
<input id="maxAllowedLienLimit" type="text" class="form-control"
ng-model="formData.maxAllowedLienLimit">
</div>
</div>
<div class="form-group">
<label class="control-label col-sm-3">{{ 'label.input.withholdtax' | translate }}
<i class="fa fa-question-circle" uib-tooltip="{{'label.tooltip.withholdtax' | translate}}" tooltip-append-to-body="true"></i>
</label>
<div class="col-sm-2">
<input id="withHoldTax" type="checkbox" ng-model="formData.withHoldTax" ng-true-value="true"
ng-false-value="false">
</div>
<div ng-show="formData.withHoldTax">
<label class="control-label col-sm-2">{{ 'label.input.taxgroup' | translate }}</label>
<div class="col-sm-2">
<select id="taxGroupId" ng-model="formData.taxGroupId"
chosen="product.taxGroupOptions"
ng-options="taxGroup.id as taxGroup.name for taxGroup in product.taxGroupOptions"
value="{{taxGroup.id}}">
<option value="">{{'label.select' | translate}}</option>
</select>
</div>
</div>
</div>
<div class="form-group" >
<label class="control-label col-sm-3">{{ 'label.input.isDormancyTrackingActive' | translate }}</label>
<div class="col-sm-2">
<input id="isDormancyTrackingActive" type="checkbox" ng-model="formData.isDormancyTrackingActive" ng-true-value="true"
ng-false-value="false">
</div>
<label class="control-label col-sm-2" ng-show="formData.isDormancyTrackingActive">{{ 'label.input.daysToInactive' | translate }}</label>
<div class="col-sm-2" ng-show="formData.isDormancyTrackingActive">
<input id="daysToInactive" type="text" class="form-control"
ng-model="formData.daysToInactive">
</div>
</div>
<div class="form-group" ng-show="formData.isDormancyTrackingActive">
<label class="control-label col-sm-3">{{ 'label.input.daysToDormancy' | translate }}</label>
<div class="col-sm-2">
<input id="daysToDormancy" type="text" class="form-control"
ng-model="formData.daysToDormancy">
</div>
<label class="control-label col-sm-2">{{ 'label.input.daysToEscheat' | translate }}</label>
<div class="col-sm-2">
<input id="daysToEscheat" type="text" class="form-control"
ng-model="formData.daysToEscheat">
</div>
</div>
<h3>{{ 'label.heading.charges' | translate }}</h3>
<hr>
<div class="form-group">
<div class="col-sm-3">
<select ng-model="chargeId" class="form-control"
ng-options="charge.id as charge.name for charge in product.chargeOptions|filter:formData.currencyCode:strict"
value="{{charge.id}}">
<option class="displaynone" value="">{{'label.selectcharge' | translate}}</option>
</select>
</div>
<div class="col-sm-1">
<a class="btn btn-primary" ng-click="chargeSelected(chargeId)"><i class="fa fa-plus"></i>&nbsp;&nbsp;{{ 'label.button.add' | translate }}</a>
</div>
</div>
<div class="form-group col-md-12">
<table class="table">
<tr class="graybg">
<th>{{'label.heading.name' | translate}}</th>
<th>{{'label.heading.type' | translate}}</th>
<th></th>
<th>{{'label.heading.amount' | translate}}</th>
<th></th>
<th>{{'label.heading.collectedon' | translate}}</th>
<th></th>
<th>{{'label.heading.actions' | translate}}</th>
</tr>
<tr ng-repeat="charge in charges">
<td>{{charge.name}},{{charge.currency.displaySymbol}}</td>
<td>{{charge.chargeCalculationType.value}}</td>
<td></td>
<td>{{charge.amount|number}}</td>
<td></td>
<td>{{charge.chargeTimeType.value}}</td>
<td></td>
<td><a ng-click="deleteCharge($index)"><i class="fa fa-times-circle fa-2x"></i></a></td>
</tr>
</table>
</div>
<h3>{{ 'label.heading.accounting' | translate }}</h3>
<hr>
<div class="radio-inline">
<label>
<input type="radio" ng-model="formData.accountingRule" value="1">{{'label.input.none' |translate}}
</label>
</div>
<div class="radio-inline">
<label>
<input type="radio" ng-model="formData.accountingRule" value="2">{{'label.input.cash' |translate}}
</label>
</div>
<hr>
<div class="col-md-12" ng-show="formData.accountingRule==2">
<div class="form-group">
<h4>{{"label.heading.assets" | translate}}</h4>
<label class="control-label col-sm-2">{{ 'label.input.savingreference' | translate }}
<i class="fa fa-question-circle" uib-tooltip="{{'label.tooltip.savingreference' | translate}}" tooltip-append-to-body="true"></i>
</label>
<div class="col-sm-3">
<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>
<label class="control-label col-sm-2">{{ 'label.input.overdraftportfoliocontrol' | translate }}
<i class="fa fa-question-circle" uib-tooltip="{{'label.tooltip.overdraftprotfolio' | translate}}" tooltip-append-to-body="true"></i>
</label>
<div class="col-sm-3">
<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>
</div>
<hr>
<div class="form-group">
<h4>{{"label.heading.liabilities" | translate}}</h4>
<label class="control-label col-sm-2">{{ 'label.input.savingcontrol' | translate }}
<i class="fa fa-question-circle" uib-tooltip="{{'label.tooltip.savingcontrol' | translate}}" tooltip-append-to-body="true"></i>
</label>
<div class="col-sm-3">
<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>
<label class="control-label col-sm-2">{{ 'label.input.savingstransfersinsuspenpense' | translate }}
<i class="fa fa-question-circle" uib-tooltip="{{'label.tooltip.savingsuspense' | translate}}" tooltip-append-to-body="true"></i>
</label>
<div class="col-sm-3">
<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>
</div>
<div class="form-group" ng-show="formData.isDormancyTrackingActive">
<label class="control-label col-sm-2">{{ 'label.input.escheatLiability' | translate }}
<i class="fa fa-question-circle" uib-tooltip="{{'label.tooltip.escheatLiability' | translate}}" tooltip-append-to-body="true"></i>
</label>
<div class="col-sm-3">
<select id="escheatLiabilityId" ng-model="formData.escheatLiabilityId"
chosen="liabilityAccountOptions"
ng-options="liabilityAccount.id as liabilityAccount.name for liabilityAccount in liabilityAccountOptions"
value="{{liabilityAccount.id}}">
</select>
</div>
</div>
<hr>
<div class="form-group">
<h4>{{"label.heading.expenses" | translate}}</h4>
<label class="control-label col-sm-2">{{ 'label.input.interestonsavings' | translate }}
<i class="fa fa-question-circle" uib-tooltip="{{'label.tooltip.interestonsavings' | translate}}" tooltip-append-to-body="true"></i>
</label>
<div class="col-sm-3">
<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>
<label class="control-label col-sm-2">{{ 'label.input.writeOff' | translate }}
<i class="fa fa-question-circle" uib-tooltip="{{'label.tooltip.Writeoffoverdraft' | translate}}" tooltip-append-to-body="true"></i>
</label>
<div class="col-sm-3">
<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>
</div>
<hr>
<div class="form-group">
<h4>{{"label.heading.income" | translate}}</h4>
<label class="control-label col-sm-2">{{ 'label.input.incomefromfees' | translate }}
<i class="fa fa-question-circle" uib-tooltip="{{'label.tooltip.incomefromfees' | translate}}" tooltip-append-to-body="true"></i>
</label>
<div class="col-sm-3">
<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>
<label class="control-label col-sm-2">{{ 'label.input.incomefrompenalties' | translate }}
<i class="fa fa-question-circle" uib-tooltip="{{'label.tooltip.incomefrompenalties' | translate}}" tooltip-append-to-body="true"></i>
</label>
<div class="col-sm-3">
<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>
</div>
<div class="form-group">
<label class="control-label col-sm-2">{{ 'label.input.interest.on.overdrafts' | translate }}
<i class="fa fa-question-circle" uib-tooltip="{{'label.tooltip.incomefromoverdraftinterest' | translate}}" tooltip-append-to-body="true"></i>
</label>
<div class="col-sm-3">
<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>
</div>
<hr>
<h4>{{'label.heading.advancedaccountingrules' | translate}}[<a ng-click="showOrHide(showOrHideValue)">{{showOrHideValue}}</a>]</h4>
<div class="col-md-12" ng-show="showOrHideValue == 'hide'">
<div class="col-md-8">{{'label.heading.configurefundsourcesforpaymentchannels' | translate}}</div>
<div class="col-md-4">
<a class="btn btn-primary" ng-click="addConfigureFundSource()"><i class="fa fa-plus"></i>&nbsp;&nbsp;{{ 'label.button.add' | translate}}</a>
</div>
<table class="table">
<tr class="graybg">
<th class="width30">{{'label.heading.paymenttype' | translate}}</th>
<th></th>
<th class="width30">{{'label.heading.fundsource' | translate}}</th>
<th></th>
<th class="width30">{{'label.heading.actions' | translate}}</th>
</tr>
<tr ng-repeat="configureFundOption in configureFundOptions">
<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 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 class="width30"><a ng-click="deleteFund($index)"><i class="fa fa-times-circle fa-2x"></i></a></td>
</tr>
</table>
<div class="col-md-8">{{'label.heading.mapfeestoincomeaccounts' | translate}}</div>
<div class="col-md-4">
<a class="btn btn-primary" ng-click="mapFees()"><i class="fa fa-plus"></i>&nbsp;&nbsp;{{ 'label.button.add' | translate }}</a>
</div>
<table class="table">
<tr class="graybg">
<th class="width30">{{'label.heading.fees' | translate}}</th>
<th></th>
<th class="width30">{{'label.heading.incomeaccount' | translate}}</th>
<th></th>
<th class="width30">{{'label.heading.actions' | translate}}</th>
</tr>
<tr ng-repeat="specificIncomeaccount in specificIncomeaccounts">
<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 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 class="width30"><a ng-click="deleteFee($index)"><i class="fa fa-times-circle fa-2x"></i></a></td>
</tr>
</table>
<div class="col-md-8">{{'label.heading.mappenaltiestospecificincomeaccounts' | translate}}</div>
<div class="col-md-4">
<a class="btn btn-primary" ng-click="mapPenalty()"><i class="fa fa-plus"></i>&nbsp;&nbsp;{{ 'label.button.add' | translate }}</a>
</div>
<table class="table">
<tr class="graybg">
<th class="width30">{{'label.heading.penalty' | translate}}</th>
<th></th>
<th class="width30">{{'label.heading.incomeaccount' | translate}}</th>
<th></th>
<th class="width30">{{'label.heading.actions' | translate}}</th>
</tr>
<tr ng-repeat="penaltySpecificIncomeaccount in penaltySpecificIncomeaccounts">
<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 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 class="width30"><a ng-click="deletePenalty($index)"><i class="fa fa-times-circle fa-2x"></i></a></td>
</tr>
</table>
</div>
</div>
<div class="col-md-offset-5 paddedtop">
<button id="cancel" type="reset" class="btn btn-default" 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>
</div>
</fieldset>
</form>
</div>