ItEr31S12ValidacionEProbasFuncionaisItEr30S17: Fix bug saving CriterionType and its Criterions after pressing saveAndContinue #Bug58
This commit is contained in:
parent
bd559852be
commit
f3bb47ea2f
4 changed files with 66 additions and 30 deletions
|
|
@ -39,6 +39,7 @@ import org.navalplanner.web.common.Util;
|
|||
import org.zkoss.zk.ui.Component;
|
||||
import org.zkoss.zk.ui.util.GenericForwardComposer;
|
||||
import org.zkoss.zul.Checkbox;
|
||||
import org.zkoss.zul.Tree;
|
||||
import org.zkoss.zul.Window;
|
||||
|
||||
/**
|
||||
|
|
@ -205,24 +206,21 @@ public class CriterionAdminController_V2 extends GenericForwardComposer {
|
|||
}
|
||||
|
||||
public void saveAndClose(){
|
||||
try{
|
||||
try {
|
||||
clearUserMessages();
|
||||
save();
|
||||
close();
|
||||
} catch (ValidationException e) {}
|
||||
} catch (ValidationException e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
public void saveAndContinue(){
|
||||
try{
|
||||
save();
|
||||
} catch (ValidationException e) {}
|
||||
}
|
||||
|
||||
public void close(){
|
||||
public void close() {
|
||||
onlyOneVisible.showOnly(listing);
|
||||
Util.reloadBindings(listing);
|
||||
}
|
||||
|
||||
private void save() throws ValidationException{
|
||||
private void save() throws ValidationException {
|
||||
try {
|
||||
criterionsModel_V2.saveCriterionType();
|
||||
messagesForUser.showMessage(Level.INFO,
|
||||
|
|
@ -237,6 +235,29 @@ public class CriterionAdminController_V2 extends GenericForwardComposer {
|
|||
}
|
||||
}
|
||||
|
||||
private void clearUserMessages() {
|
||||
messagesForUser.clearMessages();
|
||||
}
|
||||
|
||||
public void saveAndContinue() {
|
||||
try{
|
||||
save();
|
||||
reloadCriterionType();
|
||||
} catch (ValidationException e) {
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
private void reloadCriterionType() {
|
||||
Tree tree = (Tree) getCurrentWindow().getFellowIfAny("tree");
|
||||
criterionsModel_V2.reloadCriterionType();
|
||||
Util.reloadBindings(tree);
|
||||
}
|
||||
|
||||
private Component getCurrentWindow() {
|
||||
return (editComponent.isVisible()) ? editComponent : createComponent;
|
||||
}
|
||||
|
||||
public List<CriterionType> getCriterionTypes() {
|
||||
List<CriterionType> types = criterionsModel_V2.getTypes();
|
||||
return types;
|
||||
|
|
|
|||
|
|
@ -339,7 +339,8 @@ public class CriterionTreeController extends GenericForwardComposer {
|
|||
reloadTree();
|
||||
} catch (ValidationException e) {
|
||||
for (InvalidValue invalidValue : e.getInvalidValues()) {
|
||||
messagesForUser.showMessage(Level.INFO,invalidValue.getMessage());
|
||||
messagesForUser.showMessage(Level.ERROR, invalidValue
|
||||
.getMessage());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,7 +26,6 @@ import java.util.ArrayList;
|
|||
import java.util.Collection;
|
||||
import java.util.List;
|
||||
|
||||
import java.util.Set;
|
||||
import org.apache.commons.lang.Validate;
|
||||
import org.apache.commons.logging.Log;
|
||||
import org.apache.commons.logging.LogFactory;
|
||||
|
|
@ -39,7 +38,6 @@ import org.navalplanner.business.resources.daos.ICriterionTypeDAO;
|
|||
import org.navalplanner.business.resources.daos.IResourceDAO;
|
||||
import org.navalplanner.business.resources.entities.Criterion;
|
||||
import org.navalplanner.business.resources.entities.CriterionType;
|
||||
import org.navalplanner.business.resources.entities.CriterionWithItsType;
|
||||
import org.navalplanner.business.resources.entities.ICriterionType;
|
||||
import org.navalplanner.business.resources.entities.Resource;
|
||||
import org.navalplanner.business.resources.entities.Worker;
|
||||
|
|
@ -168,7 +166,6 @@ public class CriterionsModel_V2 implements ICriterionsModel_V2 {
|
|||
throw new ValidationException(invalidValues);
|
||||
criterionTreeModel.saveCriterions(criterionType);
|
||||
criterionTypeDAO.save(criterionType);
|
||||
|
||||
}
|
||||
|
||||
@Override
|
||||
|
|
@ -215,4 +212,12 @@ public class CriterionsModel_V2 implements ICriterionsModel_V2 {
|
|||
public boolean getAllowHierarchy(){
|
||||
return this.criterionType.allowHierarchy();
|
||||
}
|
||||
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public void reloadCriterionType() {
|
||||
this.criterionType = getFromDB(criterionType);
|
||||
this.criterionTreeModel = new CriterionTreeModel(this.criterionType);
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -36,38 +36,47 @@ import org.navalplanner.business.resources.entities.Worker;
|
|||
*/
|
||||
public interface ICriterionsModel_V2 {
|
||||
|
||||
List<CriterionType> getTypes();
|
||||
boolean getAllowHierarchy();
|
||||
|
||||
Collection<Criterion> getCriterionsFor(ICriterionType<?> type);
|
||||
List<Worker> getAllWorkers();
|
||||
|
||||
Criterion getCriterion();
|
||||
|
||||
Collection<Criterion> getCriterionsFor(ICriterionType<?> type);
|
||||
|
||||
ICriterionTreeModel getCriterionTreeModel();
|
||||
|
||||
ICriterionType<?> getCriterionType();
|
||||
|
||||
<T extends Resource> List<T> getResourcesSatisfyingCurrentCriterionOfType(
|
||||
Class<T> klass);
|
||||
|
||||
ICriterionType<?> getTypeFor(Criterion criterion);
|
||||
|
||||
List<CriterionType> getTypes();
|
||||
|
||||
boolean isApplyableToWorkers(Criterion criterion);
|
||||
|
||||
boolean isEditing();
|
||||
|
||||
void prepareForCreate();
|
||||
|
||||
void prepareForCreate(CriterionType criterionType);
|
||||
|
||||
public void prepareForEdit(CriterionType criterionType);
|
||||
|
||||
public void prepareForRemove(CriterionType criterionType);
|
||||
|
||||
public void prepareForEdit(CriterionType criterionType);
|
||||
/**
|
||||
* Reloads {@link CriterionType} from DB and all its criterions
|
||||
*
|
||||
* This method should be call after saveAndContinue() from controller to
|
||||
* synchronize what has been committed to DB after saving and the model
|
||||
*
|
||||
*/
|
||||
void reloadCriterionType();
|
||||
|
||||
public void remove(CriterionType criterionType);
|
||||
|
||||
ICriterionType<?> getTypeFor(Criterion criterion);
|
||||
|
||||
void saveCriterionType() throws ValidationException;
|
||||
|
||||
boolean isEditing();
|
||||
|
||||
boolean isApplyableToWorkers(Criterion criterion);
|
||||
|
||||
<T extends Resource> List<T> getResourcesSatisfyingCurrentCriterionOfType(
|
||||
Class<T> klass);
|
||||
|
||||
List<Worker> getAllWorkers();
|
||||
|
||||
boolean getAllowHierarchy();
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue