ItEr49S04ValidacionEProbasFuncionaisItEr48S04: [Bug #358] Disabling "Max value" filed at advance assignments if percentage.

This commit is contained in:
Manuel Rego Casasnovas 2010-03-02 12:18:32 +01:00 committed by Javier Moran Rua
parent 0227148af2
commit ea395d4303
3 changed files with 17 additions and 1 deletions

View file

@ -20,6 +20,7 @@
package org.navalplanner.business.advance.entities;
import org.hibernate.validator.NotNull;
import org.navalplanner.business.common.BaseEntity;
import org.navalplanner.business.orders.entities.OrderElement;
import org.navalplanner.business.orders.entities.OrderLineGroup;
@ -60,6 +61,7 @@ public abstract class AdvanceAssignment extends BaseEntity {
this.advanceType = advanceType;
}
@NotNull(message = "advance type not specified")
public AdvanceType getAdvanceType() {
return this.advanceType;
}

View file

@ -25,6 +25,7 @@ import java.math.RoundingMode;
import java.util.SortedSet;
import java.util.TreeSet;
import org.hibernate.validator.AssertTrue;
import org.hibernate.validator.NotNull;
import org.hibernate.validator.Valid;
import org.joda.time.LocalDate;
@ -158,4 +159,15 @@ public class DirectAdvanceAssignment extends AdvanceAssignment {
return fake;
}
@AssertTrue(message = "max value of percentage advance type must be 100")
public boolean checkConstraintMaxValueMustBe100ForPercentage() {
AdvanceType advanceType = getAdvanceType();
if ((advanceType != null) && (advanceType.getPercentage())) {
if (maxValue.compareTo(new BigDecimal(100)) != 0) {
return false;
}
}
return true;
}
}

View file

@ -346,7 +346,9 @@ public class ManageOrderElementAdvancesController extends
final DirectAdvanceAssignment directAdvanceAssignment;
if ((advanceAssignment instanceof IndirectAdvanceAssignment)
|| isQualityForm) {
|| isQualityForm
|| (advanceAssignment.getAdvanceType() != null && advanceAssignment
.getAdvanceType().getPercentage())) {
maxValue.setDisabled(true);
}
if (advanceAssignment instanceof IndirectAdvanceAssignment) {