[Bug #349] Button to create an order from a template has been removed.
It adds the button to create a an order from a template of type order template. FEA: ItEr60S04ValidacionEProbasFuncionaisItEr59S04
This commit is contained in:
parent
7476455dd2
commit
3a4c58b133
9 changed files with 80 additions and 7 deletions
|
|
@ -39,6 +39,8 @@ class CommandContextualized<T> {
|
|||
|
||||
private final IContext<T> context;
|
||||
|
||||
private Button button;
|
||||
|
||||
private CommandContextualized(ICommand<T> command, IContext<T> context) {
|
||||
this.command = command;
|
||||
this.context = context;
|
||||
|
|
@ -49,6 +51,9 @@ class CommandContextualized<T> {
|
|||
}
|
||||
|
||||
Button toButton() {
|
||||
if (button != null) {
|
||||
return button;
|
||||
}
|
||||
Button result = new Button();
|
||||
if (StringUtils.isEmpty(command.getImage())) {
|
||||
result.setLabel(command.getName());
|
||||
|
|
@ -63,7 +68,11 @@ class CommandContextualized<T> {
|
|||
doAction();
|
||||
}
|
||||
});
|
||||
button = result;
|
||||
return result;
|
||||
}
|
||||
|
||||
public ICommand<T> getCommand() {
|
||||
return command;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -691,4 +691,12 @@ public class Planner extends HtmlMacroComponent {
|
|||
return isFlattenTree;
|
||||
}
|
||||
|
||||
public Button findCommandComponent(String name) {
|
||||
for (CommandContextualized<?> c : contextualizedGlobalCommands) {
|
||||
if (c.getCommand().getName().equals(name)) {
|
||||
return c.toButton();
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -29,6 +29,8 @@ planner = self;
|
|||
<hbox align="center" id="toolbar">
|
||||
<separator/>
|
||||
<!-- Commands -->
|
||||
<templateFinderPopup id="templateFinderPopup" acceptButtonLabel="${i18n:_('Create Order')}" caption="${i18n:_('Choosing Template')}" />
|
||||
|
||||
<button onClick="planner.invalidate()"
|
||||
image="/common/img/ico_refresh.png"
|
||||
tooltiptext="${i18n:_('Refresh')}" visible="false" />
|
||||
|
|
|
|||
|
|
@ -165,14 +165,18 @@ public class OrderCRUDController extends GenericForwardComposer {
|
|||
|
||||
@Override
|
||||
public void found(OrderTemplate template) {
|
||||
showOrderElementFilter();
|
||||
showCreateButtons(false);
|
||||
orderModel.prepareCreationFrom(template);
|
||||
showEditWindow(_("Create order from Template"));
|
||||
showCreateFormFromTemplate(template);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void showCreateFormFromTemplate(OrderTemplate template) {
|
||||
showOrderElementFilter();
|
||||
showCreateButtons(false);
|
||||
orderModel.prepareCreationFrom(template);
|
||||
showEditWindow(_("Create order from Template"));
|
||||
}
|
||||
|
||||
@Resource
|
||||
private IOrderTemplatesControllerEntryPoints orderTemplates;
|
||||
|
||||
|
|
|
|||
|
|
@ -121,7 +121,6 @@ public class CompanyPlanningController implements Composer{
|
|||
checkIncludeOrderElements = (Checkbox) filterComponent
|
||||
.getFellow("checkIncludeOrderElements");
|
||||
filterComponent.setVisible(true);
|
||||
|
||||
}
|
||||
|
||||
public void setConfigurationForPlanner() {
|
||||
|
|
|
|||
|
|
@ -60,10 +60,13 @@ import org.navalplanner.business.resources.daos.IResourceDAO;
|
|||
import org.navalplanner.business.resources.entities.Resource;
|
||||
import org.navalplanner.business.scenarios.IScenarioManager;
|
||||
import org.navalplanner.business.scenarios.entities.Scenario;
|
||||
import org.navalplanner.business.templates.entities.OrderTemplate;
|
||||
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.assigntemplates.TemplateFinderPopup;
|
||||
import org.navalplanner.web.orders.assigntemplates.TemplateFinderPopup.IOnResult;
|
||||
import org.navalplanner.web.planner.ITaskElementAdapter;
|
||||
import org.navalplanner.web.planner.chart.Chart;
|
||||
import org.navalplanner.web.planner.chart.ChartFiller;
|
||||
|
|
@ -102,6 +105,7 @@ import org.zkoss.zk.ui.event.Event;
|
|||
import org.zkoss.zk.ui.event.EventListener;
|
||||
import org.zkoss.zk.ui.event.Events;
|
||||
import org.zkoss.zk.ui.util.Clients;
|
||||
import org.zkoss.zul.Button;
|
||||
import org.zkoss.zul.Checkbox;
|
||||
import org.zkoss.zul.Datebox;
|
||||
import org.zkoss.zul.Div;
|
||||
|
|
@ -216,7 +220,7 @@ public abstract class CompanyPlanningModel implements ICompanyPlanningModel {
|
|||
|
||||
@Override
|
||||
@Transactional(readOnly = true)
|
||||
public void setConfigurationToPlanner(Planner planner,
|
||||
public void setConfigurationToPlanner(final Planner planner,
|
||||
Collection<ICommandOnTask<TaskElement>> additional,
|
||||
ICommandOnTask<TaskElement> doubleClickCommand,
|
||||
IPredicate predicate) {
|
||||
|
|
@ -255,6 +259,39 @@ public abstract class CompanyPlanningModel implements ICompanyPlanningModel {
|
|||
};
|
||||
|
||||
configuration.addGlobalCommand(createNewOrderCommand);
|
||||
|
||||
ICommand<TaskElement> createNewOrderFromTemplateCommand = new ICommand<TaskElement>() {
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return _("Create new order from template");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getImage() {
|
||||
return "/common/img/ico_copy.png";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void doAction(IContext<TaskElement> context) {
|
||||
TemplateFinderPopup templateFinderPopup = (TemplateFinderPopup) planner.getFellowIfAny("templateFinderPopup");
|
||||
Button createOrderFromTemplateButton = planner.findCommandComponent(getName());
|
||||
if(templateFinderPopup != null){
|
||||
templateFinderPopup.openForOrderCreation(
|
||||
createOrderFromTemplateButton, "after_start",
|
||||
new IOnResult<OrderTemplate>() {
|
||||
@Override
|
||||
public void found(OrderTemplate template) {
|
||||
goToCreateOtherOrderFromTemplate(template);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
configuration.addGlobalCommand(createNewOrderFromTemplateCommand);
|
||||
|
||||
addAdditionalCommands(additional, configuration);
|
||||
addPrintSupport(configuration);
|
||||
disableSomeFeatures(configuration);
|
||||
|
|
@ -280,6 +317,7 @@ public abstract class CompanyPlanningModel implements ICompanyPlanningModel {
|
|||
setEventListenerConfigurationCheckboxes(earnedValueChart);
|
||||
}
|
||||
|
||||
|
||||
private Timeplot createEmptyTimeplot() {
|
||||
Timeplot timeplot = new Timeplot();
|
||||
timeplot.appendChild(new Plotinfo());
|
||||
|
|
@ -1002,4 +1040,7 @@ public abstract class CompanyPlanningModel implements ICompanyPlanningModel {
|
|||
}
|
||||
}
|
||||
|
||||
public void goToCreateOtherOrderFromTemplate(OrderTemplate template) {
|
||||
tabs.goToCreateotherOrderFromTemplate(template);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,6 +26,7 @@ import java.util.List;
|
|||
|
||||
import org.navalplanner.business.orders.entities.Order;
|
||||
import org.navalplanner.business.planner.entities.TaskElement;
|
||||
import org.navalplanner.business.templates.entities.OrderTemplate;
|
||||
import org.navalplanner.web.planner.tabs.MultipleTabsPlannerController;
|
||||
import org.zkoss.ganttz.IPredicate;
|
||||
import org.zkoss.ganttz.Planner;
|
||||
|
|
@ -38,7 +39,7 @@ import org.zkoss.ganttz.extensions.ICommandOnTask;
|
|||
*/
|
||||
public interface ICompanyPlanningModel {
|
||||
|
||||
void setConfigurationToPlanner(Planner planner,
|
||||
void setConfigurationToPlanner(final Planner planner,
|
||||
Collection<ICommandOnTask<TaskElement>> additional);
|
||||
|
||||
public void setConfigurationToPlanner(Planner planner,
|
||||
|
|
@ -57,4 +58,5 @@ public interface ICompanyPlanningModel {
|
|||
|
||||
Date getFilterFinishDate();
|
||||
|
||||
void goToCreateOtherOrderFromTemplate(OrderTemplate template);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@ package org.navalplanner.web.planner.tabs;
|
|||
|
||||
import org.navalplanner.business.orders.entities.Order;
|
||||
import org.navalplanner.business.orders.entities.OrderElement;
|
||||
import org.navalplanner.business.templates.entities.OrderTemplate;
|
||||
import org.navalplanner.web.common.entrypoints.EntryPoint;
|
||||
import org.navalplanner.web.common.entrypoints.EntryPoints;
|
||||
|
||||
|
|
@ -57,4 +58,5 @@ public interface IGlobalViewEntryPoints {
|
|||
|
||||
void goToAdvancedAllocation(Order order);
|
||||
|
||||
void goToCreateotherOrderFromTemplate(OrderTemplate template);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ import org.navalplanner.business.planner.daos.ITaskElementDAO;
|
|||
import org.navalplanner.business.planner.entities.TaskElement;
|
||||
import org.navalplanner.business.resources.daos.IResourceDAO;
|
||||
import org.navalplanner.business.scenarios.IScenarioManager;
|
||||
import org.navalplanner.business.templates.entities.OrderTemplate;
|
||||
import org.navalplanner.web.common.entrypoints.URLHandler;
|
||||
import org.navalplanner.web.common.entrypoints.URLHandlerRegistry;
|
||||
import org.navalplanner.web.limitingresources.LimitingResourcesController;
|
||||
|
|
@ -424,4 +425,9 @@ public class MultipleTabsPlannerController implements Composer,
|
|||
getTabsRegistry().show(advancedAllocationTab);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void goToCreateotherOrderFromTemplate(OrderTemplate template) {
|
||||
getTabsRegistry().show(ordersTab);
|
||||
orderCRUDController.showCreateFormFromTemplate(template);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue