update validation around staff

This commit is contained in:
Keith Woodlock
2012-09-09 15:28:05 +01:00
parent 1877562ea8
commit 940a665255
4 changed files with 22 additions and 17 deletions
@@ -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<String> modifiedParameters;
public StaffCommand(final Set<String> 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");
}
}
@@ -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;
@@ -34,7 +34,6 @@ public class Staff extends AbstractAuditableCustom<AppUser, Long> {
private Office office;
// Flag determines if employee is a loan Officer
@SuppressWarnings("unused")
@Column(name = "is_loan_officer ", nullable = false)
private Boolean loanOfficerFlag;
@@ -20,9 +20,10 @@ public class StaffCommandValidator {
List<ApiParameterError> dataValidationErrors = new ArrayList<ApiParameterError>();
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<ApiParameterError> dataValidationErrors = new ArrayList<ApiParameterError>();
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(