diff --git a/mifosng-provider/src/main/java/org/mifosng/platform/api/commands/StaffCommand.java b/mifosng-provider/src/main/java/org/mifosng/platform/api/commands/StaffCommand.java index 1f895866a..aebc5cf15 100644 --- a/mifosng-provider/src/main/java/org/mifosng/platform/api/commands/StaffCommand.java +++ b/mifosng-provider/src/main/java/org/mifosng/platform/api/commands/StaffCommand.java @@ -11,13 +11,13 @@ public class StaffCommand { private final String firstName; private final String lastName; private final Long officeId; - private final boolean loanOfficerFlag; + private final Boolean loanOfficerFlag; private final Set modifiedParameters; public StaffCommand(final Set modifiedParameters, final Long id, final Long officeId, final String firstName, final String lastName, - final boolean loanOfficerFlag) { + final Boolean loanOfficerFlag) { this.modifiedParameters = modifiedParameters; this.id = id; this.firstName = firstName; @@ -41,10 +41,18 @@ public class StaffCommand { public Long getOfficeId() { return officeId; } - - public boolean isLoanOfficerFlag() { + + public Boolean getLoanOfficerFlag() { return loanOfficerFlag; } + + public boolean isLoanOfficerFlag() { + boolean isLoanOfficer = false; + if (loanOfficerFlag != null) { + isLoanOfficer = loanOfficerFlag.booleanValue(); + } + return isLoanOfficer; + } public boolean isFirstNameChanged() { return this.modifiedParameters.contains("firstname"); @@ -61,5 +69,4 @@ public class StaffCommand { public boolean isOfficeChanged() { return this.modifiedParameters.contains("officeId"); } - } \ No newline at end of file diff --git a/mifosng-provider/src/main/java/org/mifosng/platform/api/data/LoanAccountData.java b/mifosng-provider/src/main/java/org/mifosng/platform/api/data/LoanAccountData.java index 650f7a480..519084953 100644 --- a/mifosng-provider/src/main/java/org/mifosng/platform/api/data/LoanAccountData.java +++ b/mifosng-provider/src/main/java/org/mifosng/platform/api/data/LoanAccountData.java @@ -1,9 +1,7 @@ package org.mifosng.platform.api.data; import java.math.BigDecimal; -import java.util.ArrayList; import java.util.Collection; -import java.util.List; import org.joda.time.LocalDate; diff --git a/mifosng-provider/src/main/java/org/mifosng/platform/staff/domain/Staff.java b/mifosng-provider/src/main/java/org/mifosng/platform/staff/domain/Staff.java index 57dd8ebbe..24c1930a7 100644 --- a/mifosng-provider/src/main/java/org/mifosng/platform/staff/domain/Staff.java +++ b/mifosng-provider/src/main/java/org/mifosng/platform/staff/domain/Staff.java @@ -34,7 +34,6 @@ public class Staff extends AbstractAuditableCustom { private Office office; // Flag determines if employee is a loan Officer - @SuppressWarnings("unused") @Column(name = "is_loan_officer ", nullable = false) private Boolean loanOfficerFlag; diff --git a/mifosng-provider/src/main/java/org/mifosng/platform/staff/service/StaffCommandValidator.java b/mifosng-provider/src/main/java/org/mifosng/platform/staff/service/StaffCommandValidator.java index 9e8550a1b..1a2ead2d3 100644 --- a/mifosng-provider/src/main/java/org/mifosng/platform/staff/service/StaffCommandValidator.java +++ b/mifosng-provider/src/main/java/org/mifosng/platform/staff/service/StaffCommandValidator.java @@ -20,9 +20,10 @@ public class StaffCommandValidator { List dataValidationErrors = new ArrayList(); - DataValidatorBuilder baseDataValidator = new DataValidatorBuilder( - dataValidationErrors).resource("staff"); + DataValidatorBuilder baseDataValidator = new DataValidatorBuilder(dataValidationErrors).resource("staff"); + baseDataValidator.reset().parameter("officeId").value(command.getOfficeId()).notNull().integerGreaterThanZero(); + baseDataValidator.reset().parameter("firstname") .value(command.getFirstName()).ignoreIfNull() .notExceedingLengthOf(50); @@ -44,20 +45,20 @@ public class StaffCommandValidator { public void validateForUpdate() { List dataValidationErrors = new ArrayList(); - DataValidatorBuilder baseDataValidator = new DataValidatorBuilder( - dataValidationErrors).resource("staff"); + DataValidatorBuilder baseDataValidator = new DataValidatorBuilder(dataValidationErrors).resource("staff"); - baseDataValidator.reset().parameter("id").value(command.getId()) - .notNull(); + baseDataValidator.reset().parameter("id").value(command.getId()).notNull(); + baseDataValidator.reset().parameter("officeId").value(command.getOfficeId()).ignoreIfNull().integerGreaterThanZero(); baseDataValidator.reset().parameter("firstname") .value(command.getFirstName()).ignoreIfNull() .notExceedingLengthOf(50); baseDataValidator.reset().parameter("lastname") - .value(command.getFirstName()).ignoreIfNull().notBlank() + .value(command.getLastName()).ignoreIfNull().notBlank() .notExceedingLengthOf(50); + + baseDataValidator.reset().parameter("loanOfficerFlag").value(command.getLoanOfficerFlag()).ignoreIfNull(); - baseDataValidator.reset().anyOfNotNull(command.getFirstName(), - command.getLastName()); + baseDataValidator.reset().anyOfNotNull(command.getFirstName(), command.getLastName(), command.getOfficeId(), command.getLoanOfficerFlag()); if (!dataValidationErrors.isEmpty()) { throw new PlatformApiDataValidationException(