ItEr31S14CUConfiguracionDeOrganizacionsDeTraballoConUnidadesTraballoItEr19S09: Setup extra tabs (details, hours, advances and labels) for Order

This commit is contained in:
Diego Pino Garcia 2009-10-29 17:27:41 +01:00 committed by Javier Moran Rua
parent c68bb338e9
commit d52e062762
5 changed files with 125 additions and 42 deletions

View file

@ -22,6 +22,7 @@ package org.navalplanner.web.orders;
import java.util.List;
import org.navalplanner.business.orders.entities.OrderElement;
import org.navalplanner.business.workreports.entities.WorkReportLine;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.util.GenericForwardComposer;
@ -66,12 +67,22 @@ public class AsignedHoursToOrderElementController extends
return asignedHoursToOrderElementModel.getProgressWork();
}
IOrderElementModel orderElementModel;
public void openWindow(IOrderElementModel orderElementModel) {
this.asignedHoursToOrderElementModel.initOrderElement(orderElementModel
.getOrderElement());
setOrderElementModel(orderElementModel);
asignedHoursToOrderElementModel.initOrderElement(getOrderElement());
viewPercentage();
}
public void setOrderElementModel(IOrderElementModel orderElementModel) {
this.orderElementModel = orderElementModel;
}
private OrderElement getOrderElement() {
return orderElementModel.getOrderElement();
}
Progressmeter hoursProgressBar;
Progressmeter exceedHoursProgressBar;

View file

@ -57,21 +57,18 @@ public class AssignedLabelsToOrderElementController extends
private BandboxSearch bdLabels;
public OrderElement getOrderElement() {
return assignedLabelsToOrderElementModel.getOrderElement();
}
public void setOrderElement(OrderElement orderElement) {
assignedLabelsToOrderElementModel.setOrderElement(orderElement);
@Override
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
comp.setVariable("assignedLabelsController", this, true);
}
public void openWindow(IOrderElementModel orderElementModel) {
assignedLabelsToOrderElementModel.setOrderModel(orderElementModel
.getOrderModel());
openWindow(orderElementModel.getOrderElement());
setOrderElementModel(orderElementModel);
openWindow(getOrderElement());
}
public void openWindow(OrderElement orderElement) {
private void openWindow(OrderElement orderElement) {
assignedLabelsToOrderElementModel.init(orderElement);
// Clear components
@ -82,10 +79,28 @@ public class AssignedLabelsToOrderElementController extends
Util.reloadBindings(directLabels);
}
@Override
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
comp.setVariable("assignedLabelsController", this, true);
IOrderElementModel orderElementModel;
public void setOrderElementModel(IOrderElementModel orderElementModel) {
this.orderElementModel = orderElementModel;
setOrderElement(orderElementModel.getOrderElement());
setOrderModel(orderElementModel.getOrderModel());
}
private void setOrderModel(IOrderModel orderModel) {
if (assignedLabelsToOrderElementModel != null) {
assignedLabelsToOrderElementModel.setOrderModel(orderModel);
}
}
public OrderElement getOrderElement() {
return orderElementModel.getOrderElement();
}
public void setOrderElement(OrderElement orderElement) {
if (assignedLabelsToOrderElementModel != null) {
assignedLabelsToOrderElementModel.setOrderElement(orderElement);
}
}
/**

View file

@ -529,7 +529,7 @@ public class DetailsOrderElementController extends
public void openWindow(IOrderElementModel model) {
setOrderElementModel(model);
final OrderElement orderElement = model.getOrderElement();
final OrderElement orderElement = getOrderElement();
// If is a container
if (orderElement instanceof OrderLineGroup) {
// Disable fields just used in the OrderLine

View file

@ -39,6 +39,7 @@ import org.navalplanner.business.advance.entities.IndirectAdvanceAssignment;
import org.navalplanner.business.advance.exceptions.DuplicateAdvanceAssignmentForOrderElementException;
import org.navalplanner.business.advance.exceptions.DuplicateValueTrueReportGlobalAdvanceException;
import org.navalplanner.business.common.exceptions.InstanceNotFoundException;
import org.navalplanner.business.orders.entities.OrderElement;
import org.navalplanner.web.common.IMessagesForUser;
import org.navalplanner.web.common.Level;
import org.navalplanner.web.common.MessagesForUser;
@ -131,14 +132,24 @@ public class ManageOrderElementAdvancesController extends
}
}
IOrderElementModel orderElementModel;
public void openWindow(IOrderElementModel orderElementModel) {
this.manageOrderElementAdvancesModel.init(orderElementModel
.getOrderElement());
setOrderElementModel(orderElementModel);
manageOrderElementAdvancesModel.init(getOrderElement());
this.indexSelectedItem = -1;
selectedAdvances.clear();
Util.reloadBindings(self);
}
public void setOrderElementModel(IOrderElementModel orderElementModel) {
this.orderElementModel = orderElementModel;
}
private OrderElement getOrderElement() {
return orderElementModel.getOrderElement();
}
private Listbox editAdvances;
public void prepareEditAdvanceMeasurements(AdvanceAssignment advanceAssignment) {

View file

@ -30,6 +30,7 @@ import org.navalplanner.business.common.exceptions.ValidationException;
import org.navalplanner.business.orders.entities.IOrderLineGroup;
import org.navalplanner.business.orders.entities.Order;
import org.navalplanner.business.orders.entities.OrderElement;
import org.navalplanner.business.orders.entities.OrderLineGroup;
import org.navalplanner.web.common.IMessagesForUser;
import org.navalplanner.web.common.Level;
import org.navalplanner.web.common.MessagesForUser;
@ -43,7 +44,6 @@ import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zul.Label;
import org.zkoss.zul.Messagebox;
import org.zkoss.zul.Tab;
import org.zkoss.zul.api.Window;
/**
@ -72,6 +72,68 @@ public class OrderCRUDController extends GenericForwardComposer {
private IOrderPlanningGate planningControllerEntryPoints;
@Override
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
messagesForUser = new MessagesForUser(messagesContainer);
comp.setVariable("controller", this, true);
getVisibility().showOnly(listWindow);
OrderElementController orderElementController = new OrderElementController();
orderElementController.doAfterCompose(comp
.getFellow("editOrderElement"));
setupOrderElementTreeController(comp, orderElementController);
setupDetailsOrderElementController(comp);
setupAsignedHoursToOrderElementController(comp);
setupManageOrderElementAdvancesController(comp);
setupAssignedLabelsToOrderElementController(comp);
}
private void setupOrderElementTreeController(Component comp,
OrderElementController orderElementController) throws Exception {
OrderElementTreeController controller = new OrderElementTreeController(
orderModel, orderElementController);
controller.doAfterCompose(editWindow.getFellowIfAny("orderElementTree"));
}
private DetailsOrderElementController detailsController;
private void setupDetailsOrderElementController(Component comp) throws Exception {
Component orderElementDetails = editWindow.getFellowIfAny("orderElementDetails");
detailsController = (DetailsOrderElementController)
orderElementDetails.getVariable("detailsController", true);
}
private IOrderElementModel getOrderElementModel() {
final Order order = (Order) orderModel.getOrder();
return orderModel.getOrderElementModel(order);
}
private AsignedHoursToOrderElementController assignedHoursController;
private void setupAsignedHoursToOrderElementController(Component comp) throws Exception{
Component orderElementHours = editWindow.getFellowIfAny("orderElementHours");
assignedHoursController = (AsignedHoursToOrderElementController)
orderElementHours.getVariable("asignedHoursToOrderElementController", true);
}
private ManageOrderElementAdvancesController manageOrderElementAdvancesController;
private void setupManageOrderElementAdvancesController(Component comp) throws Exception {
Component orderElementAdvances = editWindow.getFellowIfAny("orderElementAdvances");
manageOrderElementAdvancesController = (ManageOrderElementAdvancesController)
orderElementAdvances.getVariable("manageOrderElementAdvancesController", true);
}
private AssignedLabelsToOrderElementController assignedLabelsController;
private void setupAssignedLabelsToOrderElementController(Component comp)
throws Exception {
Component orderElementLabels = editWindow.getFellowIfAny("orderElementLabels");
assignedLabelsController = (AssignedLabelsToOrderElementController)
orderElementLabels.getVariable("assignedLabelsController", true);
}
public List<Order> getOrders() {
return orderModel.getOrders();
}
@ -192,6 +254,12 @@ public class OrderCRUDController extends GenericForwardComposer {
public void goToEditForm(Order order) {
orderModel.prepareEditFor(order);
final IOrderElementModel orderElementModel = getOrderElementModel();
detailsController.openWindow(orderElementModel);
assignedHoursController.openWindow(orderElementModel);
manageOrderElementAdvancesController.openWindow(orderElementModel);
assignedLabelsController.openWindow(orderElementModel);
showEditWindow(_("Edit order"));
}
@ -212,28 +280,6 @@ public class OrderCRUDController extends GenericForwardComposer {
showEditWindow(_("Create order"));
}
@Override
public void doAfterCompose(Component comp) throws Exception {
super.doAfterCompose(comp);
messagesForUser = new MessagesForUser(messagesContainer);
comp.setVariable("controller", this, true);
getVisibility().showOnly(listWindow);
OrderElementController orderElementController = new OrderElementController();
orderElementController.doAfterCompose(comp
.getFellow("editOrderElement"));
setupOrderElementTreeController(comp, "editWindow",
orderElementController);
}
private void setupOrderElementTreeController(Component comp, String window,
OrderElementController orderElementController) throws Exception {
OrderElementTreeController controller = new OrderElementTreeController(
orderModel, orderElementController);
controller.doAfterCompose(comp.getFellow(window).getFellow(
"orderElementTree"));
}
public void setPlanningControllerEntryPoints(
IOrderPlanningGate planningControllerEntryPoints) {
this.planningControllerEntryPoints = planningControllerEntryPoints;