Remove payment mode option from savings charges

This commit is contained in:
ashok-conflux
2013-10-12 20:12:43 +05:30
parent f7d89d8b71
commit d2096630d1
3 changed files with 22 additions and 13 deletions
@@ -0,0 +1,2 @@
ALTER TABLE `m_charge`
CHANGE COLUMN `charge_payment_mode_enum` `charge_payment_mode_enum` SMALLINT(5) NULL DEFAULT NULL AFTER `charge_calculation_enum`;
@@ -54,7 +54,7 @@ public class Charge extends AbstractPersistable<Long> {
@Column(name = "charge_calculation_enum") @Column(name = "charge_calculation_enum")
private Integer chargeCalculation; private Integer chargeCalculation;
@Column(name = "charge_payment_mode_enum") @Column(name = "charge_payment_mode_enum", nullable = true)
private Integer chargePaymentMode; private Integer chargePaymentMode;
@Column(name = "fee_on_day", nullable = true) @Column(name = "fee_on_day", nullable = true)
@@ -85,7 +85,9 @@ public class Charge extends AbstractPersistable<Long> {
final ChargeTimeType chargeTimeType = ChargeTimeType.fromInt(command.integerValueOfParameterNamed("chargeTimeType")); final ChargeTimeType chargeTimeType = ChargeTimeType.fromInt(command.integerValueOfParameterNamed("chargeTimeType"));
final ChargeCalculationType chargeCalculationType = ChargeCalculationType.fromInt(command final ChargeCalculationType chargeCalculationType = ChargeCalculationType.fromInt(command
.integerValueOfParameterNamed("chargeCalculationType")); .integerValueOfParameterNamed("chargeCalculationType"));
final ChargePaymentMode paymentMode = ChargePaymentMode.fromInt(command.integerValueOfParameterNamed("chargePaymentMode")); final Integer chargePaymentMode = command.integerValueOfParameterNamed("chargePaymentMode");
final ChargePaymentMode paymentMode = (chargePaymentMode == null) ? null : ChargePaymentMode.fromInt(chargePaymentMode);
final boolean penalty = command.booleanPrimitiveValueOfParameterNamed("penalty"); final boolean penalty = command.booleanPrimitiveValueOfParameterNamed("penalty");
final boolean active = command.booleanPrimitiveValueOfParameterNamed("active"); final boolean active = command.booleanPrimitiveValueOfParameterNamed("active");
@@ -111,7 +113,7 @@ public class Charge extends AbstractPersistable<Long> {
this.chargeCalculation = chargeCalculationType.getValue(); this.chargeCalculation = chargeCalculationType.getValue();
this.penalty = penalty; this.penalty = penalty;
this.active = active; this.active = active;
this.chargePaymentMode = paymentMode.getValue(); this.chargePaymentMode = (paymentMode == null) ? null : paymentMode.getValue();
final List<ApiParameterError> dataValidationErrors = new ArrayList<ApiParameterError>(); final List<ApiParameterError> dataValidationErrors = new ArrayList<ApiParameterError>();
final DataValidatorBuilder baseDataValidator = new DataValidatorBuilder(dataValidationErrors).resource("charges"); final DataValidatorBuilder baseDataValidator = new DataValidatorBuilder(dataValidationErrors).resource("charges");
@@ -316,14 +318,16 @@ public class Charge extends AbstractPersistable<Long> {
} }
} }
final String paymentModeParamName = "chargePaymentMode"; if (this.isLoanCharge()) {// validate only for loan charge
if (command.isChangeInIntegerParameterNamed(paymentModeParamName, this.chargePaymentMode)) { final String paymentModeParamName = "chargePaymentMode";
final Integer newValue = command.integerValueOfParameterNamed(paymentModeParamName); if (command.isChangeInIntegerParameterNamed(paymentModeParamName, this.chargePaymentMode)) {
actualChanges.put(paymentModeParamName, newValue); final Integer newValue = command.integerValueOfParameterNamed(paymentModeParamName);
actualChanges.put("locale", localeAsInput); actualChanges.put(paymentModeParamName, newValue);
this.chargePaymentMode = ChargePaymentMode.fromInt(newValue).getValue(); actualChanges.put("locale", localeAsInput);
this.chargePaymentMode = ChargePaymentMode.fromInt(newValue).getValue();
}
} }
if (command.hasParameter("feeOnMonthDay")) { if (command.hasParameter("feeOnMonthDay")) {
final MonthDay monthDay = command.extractMonthDayNamed("feeOnMonthDay"); final MonthDay monthDay = command.extractMonthDayNamed("feeOnMonthDay");
final String actualValueEntered = command.stringValueOfParameterNamed("feeOnMonthDay"); final String actualValueEntered = command.stringValueOfParameterNamed("feeOnMonthDay");
@@ -79,9 +79,12 @@ public final class ChargeDefinitionCommandFromApiJsonDeserializer {
Locale.getDefault()); Locale.getDefault());
baseDataValidator.reset().parameter("chargeCalculationType").value(chargeCalculationType).notNull().inMinMaxRange(1, 4); baseDataValidator.reset().parameter("chargeCalculationType").value(chargeCalculationType).notNull().inMinMaxRange(1, 4);
final Integer chargePaymentMode = this.fromApiJsonHelper.extractIntegerNamed("chargePaymentMode", element, Locale.getDefault()); ChargeAppliesTo appliesTo = ChargeAppliesTo.fromInt(chargeAppliesTo);
baseDataValidator.reset().parameter("chargePaymentMode").value(chargePaymentMode).notNull().inMinMaxRange(0, 1); if (appliesTo.isLoanCharge()) {
final Integer chargePaymentMode = this.fromApiJsonHelper.extractIntegerNamed("chargePaymentMode", element, Locale.getDefault());
baseDataValidator.reset().parameter("chargePaymentMode").value(chargePaymentMode).notNull().inMinMaxRange(0, 1);
}
if (this.fromApiJsonHelper.parameterExists("penalty", element)) { if (this.fromApiJsonHelper.parameterExists("penalty", element)) {
final Boolean penalty = this.fromApiJsonHelper.extractBooleanNamed("penalty", element); final Boolean penalty = this.fromApiJsonHelper.extractBooleanNamed("penalty", element);
baseDataValidator.reset().parameter("penalty").value(penalty).notNull(); baseDataValidator.reset().parameter("penalty").value(penalty).notNull();