ItEr20S08CUProcuraPartesTraballoDadosAltaNoSistemaItEr19S13: [Fix bug] Open WorkReportType form for edit

This commit is contained in:
Diego Pino Garcia 2009-08-06 18:05:45 +02:00 committed by Javier Moran Rua
parent a667a528a2
commit 3be423e291
4 changed files with 26 additions and 12 deletions

View file

@ -11,9 +11,9 @@ import org.navalplanner.business.resources.entities.CriterionType;
public class WorkReportType extends BaseEntity {
String name;
private String name;
Set<CriterionType> criterionTypes;
private Set<CriterionType> criterionTypes;
public WorkReportType() {

View file

@ -55,7 +55,7 @@ public interface IWorkReportTypeModel {
* @param workReportType
* The object to be edited
*/
void prepareForEdit(WorkReportType workReportType);
void initEdit(WorkReportType workReportType);
/**
* Makes some operations needed before remove a {@link WorkReportType}.

View file

@ -102,7 +102,7 @@ public class WorkReportTypeCRUDController extends GenericForwardComposer
}
public void goToEditForm(WorkReportType workReportType) {
workReportTypeModel.prepareForEdit(workReportType);
workReportTypeModel.initEdit(workReportType);
getVisibility().showOnly(editWindow);
Util.reloadBindings(editWindow);
}

View file

@ -23,6 +23,7 @@ import org.springframework.transaction.annotation.Transactional;
* Model for UI operations related to {@link WorkReportType}.
*
* @author Manuel Rego Casasnovas <mrego@igalia.com>
* @author Diego Pino García <dpino@igalia.com>
*/
@Service
@Scope(BeanDefinition.SCOPE_PROTOTYPE)
@ -58,21 +59,34 @@ public class WorkReportTypeModel implements IWorkReportTypeModel {
this.workReportType = new WorkReportType();
}
@Override
@Transactional(readOnly = true)
public void initEdit(WorkReportType workReportType) {
editing = true;
Validate.notNull(workReportType);
this.workReportType = getFromDB(workReportType);
}
private WorkReportType getFromDB(WorkReportType workReportType) {
return getFromDB(workReportType.getId());
}
@Transactional(readOnly = true)
private WorkReportType getFromDB(Long id) {
try {
return workReportTypeDAO.find(workReportType.getId());
WorkReportType workReportType = workReportTypeDAO.find(id);
reattachCriterionTypes(workReportType);
return workReportType;
} catch (InstanceNotFoundException e) {
throw new RuntimeException(e);
}
}
@Override
@Transactional(readOnly = true)
public void prepareForEdit(WorkReportType workReportType) {
editing = true;
Validate.notNull(workReportType);
this.workReportType = getFromDB(workReportType);
private void reattachCriterionTypes(WorkReportType workReportType) {
for (CriterionType criterionType : workReportType.getCriterionTypes()) {
criterionType.getName();
}
}
@Override