ItEr35S14CUAdministracionMateriaisItEr34S14: Show error Material code must be unique within a material category
This commit is contained in:
parent
4bfe05639d
commit
60cc1fd5d0
1 changed files with 19 additions and 3 deletions
|
|
@ -292,17 +292,33 @@ public class MaterialsController extends
|
|||
private void showInvalidValues(ValidationException validationException) {
|
||||
final InvalidValue[] invalidValues = validationException.getInvalidValues();
|
||||
for (InvalidValue each: invalidValues) {
|
||||
if (each.getBean() instanceof Material) {
|
||||
final Material material = (Material) each.getBean();
|
||||
final Object bean = each.getBean();
|
||||
// Errors related with contraints in Material (not null, etc)
|
||||
if (bean instanceof Material) {
|
||||
final Material material = (Material) bean;
|
||||
showConstraintErrorsFor(material.getCategory());
|
||||
}
|
||||
// Unique material in materialCategory
|
||||
if (bean instanceof MaterialCategory) {
|
||||
final MaterialCategory materialCategory = (MaterialCategory) bean;
|
||||
if (locateAndSelectMaterialCategory(materialCategory)) {
|
||||
messagesForUser.showMessage(Level.ERROR, each.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void showConstraintErrorsFor(MaterialCategory materialCategory) {
|
||||
private boolean locateAndSelectMaterialCategory(MaterialCategory materialCategory) {
|
||||
Treeitem treeitem = findTreeItemByMaterialCategory(categoriesTree.getRoot(), materialCategory);
|
||||
if (treeitem != null) {
|
||||
treeitem.setSelected(true);
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
private void showConstraintErrorsFor(MaterialCategory materialCategory) {
|
||||
if (locateAndSelectMaterialCategory(materialCategory)) {
|
||||
|
||||
// Load materials for category
|
||||
final List<Material> materials = getMaterials(materialCategory);
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue