ItEr47S04ValidacionEProbasFuncionaisItEr46S04 : [Bug #304]Creates and reloads the bindings of the Advances tab. And fixes the

This commit is contained in:
Susana Montes Pedreira 2010-02-15 14:00:24 +01:00 committed by Javier Moran Rua
parent 1db467bb05
commit 09fcfa6f00
6 changed files with 40 additions and 26 deletions

View file

@ -383,10 +383,12 @@ public abstract class OrderElement extends BaseEntity implements
protected abstract Set<DirectAdvanceAssignment> getAllDirectAdvanceAssignmentsReportGlobal();
public void removeAdvanceAssignment(AdvanceAssignment advanceAssignment) {
directAdvanceAssignments.remove(advanceAssignment);
if (this.getParent() != null) {
this.getParent().removeIndirectAdvanceAssignment(advanceAssignment
.getAdvanceType());
if (directAdvanceAssignments.contains(advanceAssignment)) {
directAdvanceAssignments.remove(advanceAssignment);
if (this.getParent() != null) {
this.getParent().removeIndirectAdvanceAssignment(
advanceAssignment.getAdvanceType());
}
}
}

View file

@ -148,7 +148,10 @@ public class ManageOrderElementAdvancesController extends
manageOrderElementAdvancesModel.initEdit(getOrderElement());
this.indexSelectedItem = -1;
selectedAdvances.clear();
createAndLoadBindings();
}
public void createAndLoadBindings() {
Util.createBindingsFor(self);
Util.reloadBindings(self);
}

View file

@ -136,7 +136,14 @@ public class ManageOrderElementAdvancesModel implements
@Override
public void refreshChangesFromOrderElement() {
List<AdvanceAssignment> listAdvanceAssignmentsCopy = new ArrayList<AdvanceAssignment>(
listAdvanceAssignments);
fillVariables();
for (AdvanceAssignment advance : listAdvanceAssignmentsCopy) {
if (!listAdvanceAssignments.contains(advance)) {
listAdvanceAssignments.add(advance);
}
}
}
@Override

View file

@ -46,10 +46,8 @@ import org.navalplanner.business.users.entities.UserRole;
import org.navalplanner.web.common.IMessagesForUser;
import org.navalplanner.web.common.Level;
import org.navalplanner.web.common.MessagesForUser;
import org.navalplanner.web.common.OnTabSelection;
import org.navalplanner.web.common.OnlyOneVisible;
import org.navalplanner.web.common.Util;
import org.navalplanner.web.common.OnTabSelection.IOnSelectingTab;
import org.navalplanner.web.common.components.bandboxsearch.BandboxMultipleSearch;
import org.navalplanner.web.common.components.bandboxsearch.BandboxSearch;
import org.navalplanner.web.common.components.finders.FilterPair;
@ -256,16 +254,6 @@ public class OrderCRUDController extends GenericForwardComposer {
Util.reloadBindings(editWindow);
Util.createBindingsFor(editOrderElement);
Util.reloadBindings(editOrderElement);
final Tabbox tabBox = (Tabbox) editWindow.getFellow("tabboxOrder");
Component tabAdvances = editWindow.getFellow("tabAdvances");
OnTabSelection.createFor(tabBox).onSelectingTab(tabAdvances,
new IOnSelectingTab() {
@Override
public void tabSelected() {
manageOrderElementAdvancesController.refreshChangesFromOrderElement();
Util.reloadBindings(tabBox.getSelectedPanel());
}
});
}
private void setupEditControllers() throws Exception {
@ -315,13 +303,16 @@ public class OrderCRUDController extends GenericForwardComposer {
private ManageOrderElementAdvancesController manageOrderElementAdvancesController;
public void setupManageOrderElementAdvancesController() throws Exception {
Component orderElementAdvances = editWindow
.getFellowIfAny("orderElementAdvances");
if (manageOrderElementAdvancesController == null) {
final IOrderElementModel orderElementModel = getOrderElementModel();
Component orderElementAdvances = editWindow
.getFellowIfAny("orderElementAdvances");
manageOrderElementAdvancesController = (ManageOrderElementAdvancesController) orderElementAdvances
.getVariable("manageOrderElementAdvancesController", true);
manageOrderElementAdvancesController.openWindow(orderElementModel);
} else {
manageOrderElementAdvancesController.refreshChangesFromOrderElement();
manageOrderElementAdvancesController.createAndLoadBindings();
}
}

View file

@ -82,7 +82,6 @@ public class OrderElementController extends GenericForwardComposer {
comp.setVariable("orderElementController", this, true);
setupDetailsOrderElementController(comp);
setupAssignedHoursToOrderElementController(comp);
setupManageOrderElementAdvancesController(comp);
setupAssignedLabelsToOrderElementController(comp);
setupAssignedCriterionRequirementToOrderElementController(comp);
setupAssignedMaterialsToOrderElementController(comp);
@ -100,9 +99,17 @@ public class OrderElementController extends GenericForwardComposer {
.getVariable("assignedHoursToOrderElementController", true);
}
private void setupManageOrderElementAdvancesController(Component comp) throws Exception {
manageOrderElementAdvancesController = (ManageOrderElementAdvancesController)
orderElementAdvances.getVariable("manageOrderElementAdvancesController", true);
public void setupManageOrderElementAdvancesController()
throws Exception {
if (manageOrderElementAdvancesController == null) {
manageOrderElementAdvancesController = (ManageOrderElementAdvancesController) orderElementAdvances
.getVariable("manageOrderElementAdvancesController", true);
manageOrderElementAdvancesController.openWindow(orderElementModel);
} else {
manageOrderElementAdvancesController
.refreshChangesFromOrderElement();
manageOrderElementAdvancesController.createAndLoadBindings();
}
}
private void setupAssignedLabelsToOrderElementController(Component comp)
@ -144,9 +151,11 @@ public class OrderElementController extends GenericForwardComposer {
clearAll();
setOrderElementModel(model);
// initialize the controllers
manageOrderElementAdvancesController = null;
detailsController.openWindow(model);
assignedHoursToOrderElementController.openWindow(model);
manageOrderElementAdvancesController.openWindow(model);
assignedLabelsController.openWindow(model);
assignedCriterionRequirementController.openWindow(model);
assignedMaterialsController.openWindow(model.getOrderElement());
@ -190,7 +199,8 @@ public class OrderElementController extends GenericForwardComposer {
}
private void closeAll() {
if (!manageOrderElementAdvancesController.close()) {
if ((manageOrderElementAdvancesController != null)
&& (!manageOrderElementAdvancesController.close())) {
selectTab("tabAdvances");
return;
}

View file

@ -34,7 +34,8 @@
<tabs>
<tab id="tabDetails" label="${i18n:_('Details')}"></tab>
<tab label="${i18n:_('Assigned hours')}"></tab>
<tab id="tabAdvances" label="${i18n:_('Advances')}"></tab>
<tab id="tabAdvances" label="${i18n:_('Advances')}"
onSelect="orderElementController.setupManageOrderElementAdvancesController();"/>
<tab label="${i18n:_('Labels')}"></tab>
<tab id="tabRequirements" label="${i18n:_('Criterion Requirement')}"></tab>
<tab label="${i18n:_('Materials')}"></tab>
@ -48,7 +49,7 @@
<listOrderElementHours id="orderElementHours" />
</tabpanel>
<tabpanel>
<listOrderElementAdvances id="orderElementAdvances" />
<listOrderElementAdvances id="orderElementAdvances" fulfill="tabAdvances.onSelect"/>
</tabpanel>
<tabpanel>
<listOrderElementLabels id="orderElementLabels" />