ItEr48S08RFNavegacionOrganizacionTraballoItEr47S08: [Bug #318] Load the order authorizations on demand.

This commit is contained in:
Susana Montes Pedreira 2010-02-15 22:24:02 +01:00 committed by Javier Moran Rua
parent 613aefca1d
commit 3e5a187d54
2 changed files with 38 additions and 30 deletions

View file

@ -161,8 +161,6 @@ public class OrderCRUDController extends GenericForwardComposer {
public void found(OrderTemplate template) {
orderModel.prepareCreationFrom(template);
showEditWindow(_("Create order from Template"));
orderAuthorizationController
.initCreate((Order) orderModel.getOrder());
}
});
}
@ -247,11 +245,7 @@ public class OrderCRUDController extends GenericForwardComposer {
Component editOrderElement = Executions.createComponents(
"/orders/_editOrderElement.zul",
parent, editOrderElementArgs);
try {
setupEditControllers();
} catch (Exception e) {
throw new RuntimeException(e);
}
Util.createBindingsFor(editWindow);
Util.reloadBindings(editWindow);
Util.createBindingsFor(editOrderElement);
@ -269,11 +263,6 @@ public class OrderCRUDController extends GenericForwardComposer {
});
}
private void setupEditControllers() throws Exception {
Component comp = self;
setupOrderAuthorizationController(comp);
}
public void setupOrderElementTreeController() throws Exception {
if (orderElementTreeController == null) {
OrderElementController orderElementController = new OrderElementController();
@ -394,13 +383,37 @@ public class OrderCRUDController extends GenericForwardComposer {
private OrderAuthorizationController orderAuthorizationController;
private void setupOrderAuthorizationController(
Component comp) {
public void setupOrderAuthorizationController() {
Component orderElementAuthorizations = editWindow
.getFellowIfAny("orderElementAuthorizations");
orderAuthorizationController = (OrderAuthorizationController) orderElementAuthorizations
.getVariable("orderAuthorizationController", true);
orderAuthorizationController.setMessagesForUserComponent(messagesForUser);
.getFellowIfAny("orderElementAuthorizations");
if (orderAuthorizationController == null) {
orderAuthorizationController = (OrderAuthorizationController) orderElementAuthorizations
.getVariable("orderAuthorizationController", true);
orderAuthorizationController
.setMessagesForUserComponent(messagesForUser);
initOrderAuthorizations();
} else {
Util.createBindingsFor(orderElementAuthorizations);
Util.reloadBindings(orderElementAuthorizations);
}
}
private void initOrderAuthorizations() {
Component orderElementAuthorizations = editWindow
.getFellowIfAny("orderElementAuthorizations");
final Order order = (Order) orderModel.getOrder();
if (order.isNewObject()) {
orderAuthorizationController.initCreate(order);
} else {
orderAuthorizationController.initEdit(order);
}
Util.createBindingsFor(orderElementAuthorizations);
Util.reloadBindings(orderElementAuthorizations);
}
private void saveOrderAuthorizations() {
setupOrderAuthorizationController();
orderAuthorizationController.save();
}
public List<Order> getOrders() {
@ -431,7 +444,6 @@ public class OrderCRUDController extends GenericForwardComposer {
//disable save buttons if state == STORED
setEditionDisabled(true);
}
orderAuthorizationController.initEdit((Order) orderModel.getOrder());
initialStatus = order.getState();
initializeTabs();
showWindow(editWindow);
@ -473,7 +485,7 @@ public class OrderCRUDController extends GenericForwardComposer {
try {
setSelectedExternalCompany();
orderModel.save();
orderAuthorizationController.save();
saveOrderAuthorizations();
messagesForUser.showMessage(Level.INFO, _("Order saved"));
return true;
} catch (ValidationException e) {
@ -614,7 +626,6 @@ public class OrderCRUDController extends GenericForwardComposer {
//disable save buttons if state == STORED
setEditionDisabled(true);
}
orderAuthorizationController.initEdit(order);
initialStatus = order.getState();
showEditWindow(_("Edit order"));
}
@ -672,12 +683,9 @@ public class OrderCRUDController extends GenericForwardComposer {
if (assignedTaskQualityFormController != null) {
assignedTaskQualityFormController.openWindow(orderElementModel);
}
}
private void clearEditWindow() {
TreeComponent treeComponent = (TreeComponent) editWindow
.getFellow("orderElementTree");
treeComponent.clear();
if (orderAuthorizationController != null) {
initOrderAuthorizations();
}
}
public void goToCreateForm() {
@ -686,7 +694,6 @@ public class OrderCRUDController extends GenericForwardComposer {
orderModel.prepareForCreate();
showEditWindow(_("Create order"));
checkCreationPermissions();
orderAuthorizationController.initCreate((Order) orderModel.getOrder());
} catch (ConcurrentModificationException e) {
messagesForUser.showMessage(Level.ERROR, e.getMessage());
}

View file

@ -49,7 +49,8 @@
onSelect = "controller.setupAssignedMaterialsToOrderElementController();"/>
<tab id="tabTaskQualityForm" label="${i18n:_('Task quality forms')}"
onSelect = "controller.setupAssignedTaskQualityFormsToOrderElementController();"/>
<tab id="tabAuthorizations" label="${i18n:_('Authorizations')}" />
<tab id="tabAuthorizations" label="${i18n:_('Authorizations')}"
onSelect = "controller.setupOrderAuthorizationController();"/>
</tabs>
<tabpanels>
<tabpanel id="tabPanelGeneralData">
@ -174,7 +175,7 @@
<listOrderElementTaskQualityForms id="orderElementTaskQualityForms" fulfill="tabTaskQualityForm.onSelect"/>
</tabpanel>
<tabpanel>
<listOrderElementAuthorizations id="orderElementAuthorizations"/>
<listOrderElementAuthorizations id="orderElementAuthorizations" fulfill="tabAuthorizations.onSelect"/>
</tabpanel>
</tabpanels>
</tabbox>