From de1d37ee61b7a9886245a68579ff4a5644b1ca2b Mon Sep 17 00:00:00 2001 From: Diego Pino Garcia Date: Mon, 21 Feb 2011 10:21:53 +0100 Subject: [PATCH] Fix bug create or edit resource should start on first tab FEA: ItEr70S04BugFixing --- .../worker/WorkerCRUDController.java | 78 ++++++++++++------- 1 file changed, 50 insertions(+), 28 deletions(-) diff --git a/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/worker/WorkerCRUDController.java b/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/worker/WorkerCRUDController.java index b5d5c05d3..c315dc003 100644 --- a/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/worker/WorkerCRUDController.java +++ b/navalplanner-webapp/src/main/java/org/navalplanner/web/resources/worker/WorkerCRUDController.java @@ -133,6 +133,12 @@ public class WorkerCRUDController extends GenericForwardComposer implements private boolean isEditingWorkes; + private Tab personalDataTab; + + private Tab assignedCriteriaTab; + + private Tab costCategoryAssignmentTab; + public WorkerCRUDController() { } @@ -215,17 +221,20 @@ public class WorkerCRUDController extends GenericForwardComposer implements } private void validateConstraints() { - Tab tab = (Tab) editWindow.getFellowIfAny("personalDataTab"); + Tab selectedTab = personalDataTab; try { validatePersonalDataTab(); - tab = (Tab) editWindow.getFellowIfAny("assignedCriteriaTab"); - criterionsController.validateConstraints(); - tab = (Tab) editWindow.getFellowIfAny("costCategoryAssignmentTab"); - resourcesCostCategoryAssignmentController.validateConstraints(); + + selectedTab = assignedCriteriaTab; + validateAssignedCriteriaTab(); + + selectedTab = costCategoryAssignmentTab; + validateCostCategoryAssigmentTab(); + //TODO: check 'calendar' tab } - catch(WrongValueException e) { - tab.setSelected(true); + catch (WrongValueException e) { + selectedTab.setSelected(true); throw e; } } @@ -234,6 +243,14 @@ public class WorkerCRUDController extends GenericForwardComposer implements ConstraintChecker.isValid(editWindow.getFellowIfAny("personalDataTabpanel")); } + private void validateAssignedCriteriaTab() { + criterionsController.validateConstraints(); + } + + private void validateCostCategoryAssigmentTab() { + resourcesCostCategoryAssignmentController.validateConstraints(); + } + public void cancel() { goToList(); } @@ -245,16 +262,15 @@ public class WorkerCRUDController extends GenericForwardComposer implements public void goToEditForm(Worker worker) { setEditingWorkes(true); - getBookmarker().goToEditForm(worker); - workerModel.prepareEditFor(worker); - resourcesCostCategoryAssignmentController.setResource(workerModel.getWorker()); - if (isCalendarNotNull()) { - editCalendar(); - } - editAsignedCriterions(); - editWindow.setTitle(_("Edit Worker")); - getVisibility().showOnly(editWindow); - Util.reloadBindings(editWindow); + getBookmarker().goToEditForm(worker); + workerModel.prepareEditFor(worker); + resourcesCostCategoryAssignmentController.setResource(workerModel + .getWorker()); + if (isCalendarNotNull()) { + editCalendar(); + } + editAsignedCriterions(); + showEditWindow(_("Edit Worker")); } public void goToEditVirtualWorkerForm(Worker worker) { @@ -266,9 +282,7 @@ public class WorkerCRUDController extends GenericForwardComposer implements editCalendar(); } editAsignedCriterions(); - editWindow.setTitle(_("Edit Virtual Workers Group")); - getVisibility().showOnly(editWindow); - Util.reloadBindings(editWindow); + showEditWindow(_("Edit Virtual Workers Group")); } public void goToEditForm() { @@ -276,9 +290,7 @@ public class WorkerCRUDController extends GenericForwardComposer implements if (isCalendarNotNull()) { editCalendar(); } - editWindow.setTitle(_("Edit Worker")); - getVisibility().showOnly(editWindow); - Util.reloadBindings(editWindow); + showEditWindow(_("Edit Worker")); } public void goToCreateForm() { @@ -288,10 +300,15 @@ public class WorkerCRUDController extends GenericForwardComposer implements createAsignedCriterions(); resourcesCostCategoryAssignmentController.setResource(workerModel .getWorker()); - editWindow.setTitle(_("Create Worker")); + showEditWindow(_("Create Worker")); + resourceCalendarModel.cancel(); + } + + private void showEditWindow(String title) { + personalDataTab.setSelected(true); + editWindow.setTitle(title); getVisibility().showOnly(editWindow); Util.reloadBindings(editWindow); - resourceCalendarModel.cancel(); } @Override @@ -314,6 +331,13 @@ public class WorkerCRUDController extends GenericForwardComposer implements getVisibility().showOnly(listWindow); initFilterComponent(); setupFilterLimitingResourceListbox(); + initializeTabs(); + } + + private void initializeTabs() { + personalDataTab = (Tab) editWindow.getFellow("personalDataTab"); + assignedCriteriaTab = (Tab) editWindow.getFellow("assignedCriteriaTab"); + costCategoryAssignmentTab = (Tab) editWindow.getFellow("costCategoryAssignmentTab"); } private void initFilterComponent() { @@ -531,9 +555,7 @@ public class WorkerCRUDController extends GenericForwardComposer implements createAsignedCriterions(); resourcesCostCategoryAssignmentController.setResource(workerModel .getWorker()); - editWindow.setTitle(_("Create Virtual Workers Group")); - getVisibility().showOnly(editWindow); - Util.reloadBindings(editWindow); + showEditWindow(_("Create Virtual Workers Group")); resourceCalendarModel.cancel(); }