ItEr50S04ValidacionEProbasFuncionaisItEr49S04: Inserted create new order button in company view

This commit is contained in:
Lorenzo Tilve 2010-03-12 13:16:44 +01:00 committed by Javier Moran Rua
parent 105a2f0169
commit 9ebdc95331
7 changed files with 87 additions and 7 deletions

View file

@ -766,6 +766,10 @@ public class OrderCRUDController extends GenericForwardComposer {
this.planningControllerEntryPoints = planningControllerEntryPoints;
}
public IOrderPlanningGate getPlanningControllerEntryPoints() {
return this.planningControllerEntryPoints;
}
public void setActionOnUp(Runnable onUp) {
this.onUp = onUp;
}
@ -1044,8 +1048,10 @@ public class OrderCRUDController extends GenericForwardComposer {
}
private void showOrderElementFilter() {
orderFilter.setVisible(false);
orderElementFilter.setVisible(true);
if (orderFilter != null)
orderFilter.setVisible(false);
if (orderElementFilter != null)
orderElementFilter.setVisible(true);
}
private void showCreateButtons(boolean showCreate) {

View file

@ -33,6 +33,7 @@ import org.navalplanner.business.planner.entities.TaskElement;
import org.navalplanner.web.common.components.bandboxsearch.BandboxMultipleSearch;
import org.navalplanner.web.common.components.finders.FilterPair;
import org.navalplanner.web.planner.CompanyPredicate;
import org.navalplanner.web.planner.tabs.MultipleTabsPlannerController;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.context.annotation.Scope;
@ -79,6 +80,8 @@ public class CompanyPlanningController implements Composer{
private Map<String, String[]> parameters;
private MultipleTabsPlannerController tabsController;
public CompanyPlanningController() {
getScriptsRegister().register(ScriptsRequiredByResourceLoadPanel.class);
}
@ -126,6 +129,7 @@ public class CompanyPlanningController implements Composer{
model
.setConfigurationToPlanner(planner, additional,
doubleClickCommand, createPredicate());
model.setTabsController(tabsController);
planner.updateSelectedZoomLevel();
planner.invalidate();
}
@ -209,4 +213,8 @@ public class CompanyPlanningController implements Composer{
planner.invalidate();
}
public void setTabsController(MultipleTabsPlannerController tabsController) {
this.tabsController = tabsController;
}
}

View file

@ -60,6 +60,7 @@ import org.navalplanner.business.users.daos.IUserDAO;
import org.navalplanner.business.users.entities.User;
import org.navalplanner.business.workreports.daos.IWorkReportLineDAO;
import org.navalplanner.business.workreports.entities.WorkReportLine;
import org.navalplanner.web.orders.OrderCRUDController;
import org.navalplanner.web.planner.ITaskElementAdapter;
import org.navalplanner.web.planner.chart.Chart;
import org.navalplanner.web.planner.chart.ChartFiller;
@ -68,6 +69,7 @@ import org.navalplanner.web.planner.chart.IChartFiller;
import org.navalplanner.web.planner.chart.EarnedValueChartFiller.EarnedValueType;
import org.navalplanner.web.planner.order.BankHolidaysMarker;
import org.navalplanner.web.planner.order.OrderPlanningModel;
import org.navalplanner.web.planner.tabs.MultipleTabsPlannerController;
import org.navalplanner.web.print.CutyPrint;
import org.navalplanner.web.security.SecurityUtils;
import org.springframework.beans.factory.annotation.Autowired;
@ -84,7 +86,9 @@ import org.zkoss.ganttz.Planner;
import org.zkoss.ganttz.adapters.IStructureNavigator;
import org.zkoss.ganttz.adapters.PlannerConfiguration;
import org.zkoss.ganttz.adapters.PlannerConfiguration.IPrintAction;
import org.zkoss.ganttz.extensions.ICommand;
import org.zkoss.ganttz.extensions.ICommandOnTask;
import org.zkoss.ganttz.extensions.IContext;
import org.zkoss.ganttz.timetracker.TimeTracker;
import org.zkoss.ganttz.timetracker.zoom.IZoomLevelChangedListener;
import org.zkoss.ganttz.timetracker.zoom.ZoomLevel;
@ -145,8 +149,18 @@ public abstract class CompanyPlanningModel implements ICompanyPlanningModel {
@Autowired
private ICostCalculator hoursCostCalculator;
@Autowired
private OrderCRUDController orderCRUDController;
private List<Checkbox> earnedValueChartConfigurationCheckboxes = new ArrayList<Checkbox>();
private MultipleTabsPlannerController tabs;
public void setPlanningControllerEntryPoints(
MultipleTabsPlannerController entryPoints) {
this.tabs = entryPoints;
}
private final class TaskElementNavigator implements
IStructureNavigator<TaskElement> {
@Override
@ -175,6 +189,11 @@ public abstract class CompanyPlanningModel implements ICompanyPlanningModel {
setConfigurationToPlanner(planner, additional, null);
}
@Override
public void setTabsController(MultipleTabsPlannerController tabsController) {
this.tabs = tabsController;
}
@Override
@Transactional(readOnly = true)
public void setConfigurationToPlanner(Planner planner,
@ -192,6 +211,27 @@ public abstract class CompanyPlanningModel implements ICompanyPlanningModel {
if (doubleClickCommand != null) {
configuration.setDoubleClickCommand(doubleClickCommand);
}
ICommand<TaskElement> createNewOrderCommand = new ICommand<TaskElement>() {
@Override
public String getName() {
return _("Create new order");
}
@Override
public String getImage() {
return "/common/img/ico_add.png";
}
@Override
public void doAction(IContext<TaskElement> context) {
tabs.goToCreateForm();
}
};
configuration.addGlobalCommand(createNewOrderCommand);
addAdditionalCommands(additional, configuration);
addPrintSupport(configuration);
disableSomeFeatures(configuration);

View file

@ -23,6 +23,7 @@ package org.navalplanner.web.planner.company;
import java.util.Collection;
import org.navalplanner.business.planner.entities.TaskElement;
import org.navalplanner.web.planner.tabs.MultipleTabsPlannerController;
import org.zkoss.ganttz.IPredicate;
import org.zkoss.ganttz.Planner;
import org.zkoss.ganttz.extensions.ICommandOnTask;
@ -45,4 +46,6 @@ public interface ICompanyPlanningModel {
Collection<ICommandOnTask<TaskElement>> additional,
ICommandOnTask<TaskElement> doubleClickCommand, IPredicate predicate);
public void setTabsController(MultipleTabsPlannerController tabsController);
}

View file

@ -35,6 +35,7 @@ import org.navalplanner.business.planner.entities.TaskElement;
import org.navalplanner.web.common.ViewSwitcher;
import org.navalplanner.web.common.components.bandboxsearch.BandboxMultipleSearch;
import org.navalplanner.web.common.components.finders.FilterPair;
import org.navalplanner.web.orders.OrderCRUDController;
import org.navalplanner.web.orders.OrderElementPredicate;
import org.navalplanner.web.planner.allocation.ResourceAllocationController;
import org.navalplanner.web.planner.calendar.CalendarAllocationController;
@ -85,6 +86,9 @@ public class OrderPlanningController implements Composer {
@Autowired
private EditTaskController editTaskController;
@Autowired
private OrderCRUDController orderCRUDController;
private Order order;
private List<ICommand<TaskElement>> additional = new ArrayList<ICommand<TaskElement>>();
@ -171,6 +175,10 @@ public class OrderPlanningController implements Composer {
return editTaskController;
}
public OrderCRUDController getOrderCRUDController() {
return orderCRUDController;
}
public void setURLParameters(Map<String, String[]> parameters) {
this.parameters = parameters;
}

View file

@ -166,7 +166,8 @@ public class MultipleTabsPlannerController implements Composer,
planningTab = doFeedbackOn(PlanningTabCreator.create(mode,
companyPlanningController, orderPlanningController, orderDAO,
breadcrumbs, parameters));
breadcrumbs, parameters, this));
resourceLoadTab = ResourcesLoadTabCreator.create(mode,
resourceLoadController, upCommand(),
resourceLoadControllerGlobal,
@ -186,6 +187,7 @@ public class MultipleTabsPlannerController implements Composer,
getTabsRegistry().show(ordersTab);
}
}, parameters);
final State<Void> typeChanged = typeChangedState();
ITab advancedAllocation = doFeedbackOn(AdvancedAllocationTabCreator.create(mode,
@ -321,7 +323,13 @@ public class MultipleTabsPlannerController implements Composer,
@Override
public void goToOrdersList() {
ordersTab.show();
// ordersTab.show();
getTabsRegistry().show(ordersTab);
}
public void goToCreateForm() {
getTabsRegistry().show(ordersTab);
orderCRUDController.goToCreateForm();
}
@Override

View file

@ -66,14 +66,18 @@ public class PlanningTabCreator {
private final Map<String, String[]> parameters;
private MultipleTabsPlannerController tabsController;
public static ITab create(Mode mode,
CompanyPlanningController companyPlanningController,
OrderPlanningController orderPlanningController,
IOrderDAO orderDAO,
Component breadcrumbs,
Map<String, String[]> parameters) {
Map<String, String[]> parameters,
MultipleTabsPlannerController tabsController) {
return new PlanningTabCreator(mode, companyPlanningController,
orderPlanningController, breadcrumbs, orderDAO, parameters)
orderPlanningController, breadcrumbs, orderDAO, parameters,
tabsController)
.create();
}
@ -81,13 +85,15 @@ public class PlanningTabCreator {
CompanyPlanningController companyPlanningController,
OrderPlanningController orderPlanningController,
Component breadcrumbs, IOrderDAO orderDAO,
Map<String, String[]> parameters) {
Map<String, String[]> parameters,
MultipleTabsPlannerController tabsController) {
this.mode = mode;
this.companyPlanningController = companyPlanningController;
this.orderPlanningController = orderPlanningController;
this.breadcrumbs = breadcrumbs;
this.orderDAO = orderDAO;
this.parameters = parameters;
this.tabsController = tabsController;
}
private ITab create() {
@ -134,6 +140,7 @@ public class PlanningTabCreator {
};
commands.add(scheduleCommand);
companyPlanningController.setAdditional(commands);
companyPlanningController.setTabsController(tabsController);
companyPlanningController
.setDoubleClickCommand(scheduleCommand);
HashMap<String, Object> args = new HashMap<String, Object>();