Moving code that enables global buttons out from the perspectives
FEA: ItEr75S04BugFixing
This commit is contained in:
parent
6f2204bcbe
commit
b875043d89
8 changed files with 79 additions and 113 deletions
|
|
@ -482,7 +482,9 @@ public class Planner extends HtmlMacroComponent {
|
|||
private void insertGlobalCommands() {
|
||||
Component commontoolbar = getCommonCommandsInsertionPoint();
|
||||
Component plannerToolbar = getSpecificCommandsInsertionPoint();
|
||||
commontoolbar.getChildren().removeAll(commontoolbar.getChildren());
|
||||
if (!contextualizedGlobalCommands.isEmpty()) {
|
||||
commontoolbar.getChildren().removeAll(commontoolbar.getChildren());
|
||||
}
|
||||
for (CommandContextualized<?> c : contextualizedGlobalCommands) {
|
||||
// Comparison through icon as name is internationalized
|
||||
if (c.getCommand().getImage()
|
||||
|
|
|
|||
|
|
@ -32,7 +32,6 @@ planner = self;
|
|||
|
||||
<separator/>
|
||||
<!-- Commands -->
|
||||
<templateFinderPopup id="templateFinderPopup" acceptButtonLabel="${ganttzk_i18n:_('Create Project')}" caption="${i18n:_('Choosing Template')}" />
|
||||
|
||||
<button onClick="planner.invalidate()"
|
||||
image="/common/img/ico_refresh.png"
|
||||
|
|
|
|||
|
|
@ -166,19 +166,6 @@ public class OrderCRUDController extends GenericForwardComposer {
|
|||
|
||||
private Component messagesContainer;
|
||||
|
||||
private TemplateFinderPopup templateFinderPopup;
|
||||
|
||||
public void createOrderFromTemplate() {
|
||||
templateFinderPopup.openForOrderCreation(createOrderFromTemplateButton,
|
||||
"after_start", new IOnResult<OrderTemplate>() {
|
||||
|
||||
@Override
|
||||
public void found(OrderTemplate template) {
|
||||
showCreateFormFromTemplate(template);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
public void showCreateFormFromTemplate(OrderTemplate template) {
|
||||
showOrderElementFilter();
|
||||
showCreateButtons(false);
|
||||
|
|
@ -261,28 +248,7 @@ public class OrderCRUDController extends GenericForwardComposer {
|
|||
private void setupGlobalButtons() {
|
||||
Hbox perspectiveButtonsInsertionPoint = (Hbox) page
|
||||
.getFellow("perspectiveButtonsInsertionPoint");
|
||||
perspectiveButtonsInsertionPoint.getChildren().clear();
|
||||
|
||||
createOrderButton.setParent(perspectiveButtonsInsertionPoint);
|
||||
createOrderButton.addEventListener(Events.ON_CLICK,
|
||||
new EventListener() {
|
||||
@Override
|
||||
public void onEvent(Event event) throws Exception {
|
||||
goToCreateForm();
|
||||
}
|
||||
});
|
||||
|
||||
createOrderFromTemplateButton
|
||||
.setParent(perspectiveButtonsInsertionPoint);
|
||||
createOrderFromTemplateButton.addEventListener(Events.ON_CLICK,
|
||||
new EventListener() {
|
||||
@Override
|
||||
public void onEvent(Event event) throws Exception {
|
||||
createOrderFromTemplate();
|
||||
}
|
||||
});
|
||||
|
||||
saveOrderAndContinueButton.setParent(perspectiveButtonsInsertionPoint);
|
||||
saveOrderAndContinueButton.addEventListener(Events.ON_CLICK,
|
||||
new EventListener() {
|
||||
@Override
|
||||
|
|
@ -291,7 +257,6 @@ public class OrderCRUDController extends GenericForwardComposer {
|
|||
}
|
||||
});
|
||||
|
||||
cancelEditionButton.setParent(perspectiveButtonsInsertionPoint);
|
||||
cancelEditionButton.addEventListener(Events.ON_CLICK,
|
||||
new EventListener() {
|
||||
@Override
|
||||
|
|
@ -1418,10 +1383,27 @@ public class OrderCRUDController extends GenericForwardComposer {
|
|||
}
|
||||
|
||||
public void showCreateButtons(boolean showCreate) {
|
||||
createOrderButton.setVisible(showCreate);
|
||||
if (!showCreate) {
|
||||
Hbox perspectiveButtonsInsertionPoint = (Hbox) page
|
||||
.getFellow("perspectiveButtonsInsertionPoint");
|
||||
perspectiveButtonsInsertionPoint.getChildren().clear();
|
||||
saveOrderAndContinueButton
|
||||
.setParent(perspectiveButtonsInsertionPoint);
|
||||
cancelEditionButton.setParent(perspectiveButtonsInsertionPoint);
|
||||
}
|
||||
if (createOrderButton != null) {
|
||||
createOrderButton.setVisible(showCreate);
|
||||
}
|
||||
if (createOrderFromTemplateButton != null) {
|
||||
createOrderFromTemplateButton.setVisible(showCreate);
|
||||
saveOrderAndContinueButton.setVisible(!showCreate);
|
||||
cancelEditionButton.setVisible(!showCreate);
|
||||
}
|
||||
if (saveOrderAndContinueButton != null) {
|
||||
saveOrderAndContinueButton.setVisible(!showCreate);
|
||||
}
|
||||
if (cancelEditionButton != null) {
|
||||
cancelEditionButton.setVisible(!showCreate);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
public void highLight(final OrderElement orderElement) {
|
||||
|
|
|
|||
|
|
@ -61,13 +61,9 @@ import org.libreplan.business.planner.entities.TaskGroup;
|
|||
import org.libreplan.business.planner.entities.TaskMilestone;
|
||||
import org.libreplan.business.scenarios.IScenarioManager;
|
||||
import org.libreplan.business.scenarios.entities.Scenario;
|
||||
import org.libreplan.business.templates.entities.OrderTemplate;
|
||||
import org.libreplan.business.users.daos.IUserDAO;
|
||||
import org.libreplan.business.users.entities.User;
|
||||
import org.libreplan.business.users.entities.UserRole;
|
||||
import org.libreplan.business.workreports.entities.WorkReportLine;
|
||||
import org.libreplan.web.orders.assigntemplates.TemplateFinderPopup;
|
||||
import org.libreplan.web.orders.assigntemplates.TemplateFinderPopup.IOnResult;
|
||||
import org.libreplan.web.planner.TaskElementAdapter;
|
||||
import org.libreplan.web.planner.chart.Chart;
|
||||
import org.libreplan.web.planner.chart.EarnedValueChartFiller;
|
||||
|
|
@ -92,9 +88,7 @@ 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;
|
||||
|
|
@ -108,7 +102,6 @@ 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;
|
||||
|
|
@ -126,6 +119,7 @@ import org.zkoss.zul.Vbox;
|
|||
* Model for company planning view.
|
||||
*
|
||||
* @author Manuel Rego Casasnovas <mrego@igalia.com>
|
||||
* @author Lorenzo Tilve Álvaro <ltilve@igalia.com>
|
||||
*/
|
||||
@Component
|
||||
@Scope(BeanDefinition.SCOPE_PROTOTYPE)
|
||||
|
|
@ -231,63 +225,6 @@ public class CompanyPlanningModel implements ICompanyPlanningModel {
|
|||
configuration.setDoubleClickCommand(doubleClickCommand);
|
||||
}
|
||||
|
||||
if (SecurityUtils.isUserInRole(UserRole.ROLE_CREATE_ORDER)) {
|
||||
ICommand<TaskElement> createNewOrderCommand = new ICommand<TaskElement>() {
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return _("Create new project");
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getImage() {
|
||||
return "/common/img/ico_add.png";
|
||||
}
|
||||
|
||||
@Override
|
||||
public void doAction(IContext<TaskElement> context) {
|
||||
tabs.goToCreateForm();
|
||||
}
|
||||
|
||||
};
|
||||
|
||||
configuration.addGlobalCommand(createNewOrderCommand);
|
||||
|
||||
ICommand<TaskElement> createNewOrderFromTemplateCommand = new ICommand<TaskElement>() {
|
||||
|
||||
@Override
|
||||
public String getName() {
|
||||
return _("Create new project 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);
|
||||
|
|
|
|||
|
|
@ -28,7 +28,9 @@ import org.libreplan.web.common.entrypoints.EntryPoints;
|
|||
|
||||
/**
|
||||
* Entry points for {@link MultipleTabsPlannerController} <br />
|
||||
*
|
||||
* @author Óscar González Fernández <ogonzalez@igalia.com>
|
||||
* @author Lorenzo Tilve Álvaro <ltilve@igalia.com>
|
||||
*/
|
||||
@EntryPoints(page = "/planner/index.zul", registerAs = "globalView")
|
||||
public interface IGlobalViewEntryPoints {
|
||||
|
|
|
|||
|
|
@ -33,11 +33,14 @@ import org.libreplan.business.orders.entities.OrderElement;
|
|||
import org.libreplan.business.planner.entities.TaskElement;
|
||||
import org.libreplan.business.resources.daos.IResourcesSearcher;
|
||||
import org.libreplan.business.templates.entities.OrderTemplate;
|
||||
import org.libreplan.business.users.entities.UserRole;
|
||||
import org.libreplan.web.common.entrypoints.EntryPointsHandler;
|
||||
import org.libreplan.web.common.entrypoints.URLHandlerRegistry;
|
||||
import org.libreplan.web.limitingresources.LimitingResourcesController;
|
||||
import org.libreplan.web.montecarlo.MonteCarloController;
|
||||
import org.libreplan.web.orders.OrderCRUDController;
|
||||
import org.libreplan.web.orders.assigntemplates.TemplateFinderPopup;
|
||||
import org.libreplan.web.orders.assigntemplates.TemplateFinderPopup.IOnResult;
|
||||
import org.libreplan.web.planner.allocation.AdvancedAllocationController.IBack;
|
||||
import org.libreplan.web.planner.company.CompanyPlanningController;
|
||||
import org.libreplan.web.planner.order.IOrderPlanningGate;
|
||||
|
|
@ -45,6 +48,7 @@ import org.libreplan.web.planner.order.OrderPlanningController;
|
|||
import org.libreplan.web.planner.order.PlanningStateCreator;
|
||||
import org.libreplan.web.planner.tabs.Mode.ModeTypeChangedListener;
|
||||
import org.libreplan.web.resourceload.ResourceLoadController;
|
||||
import org.libreplan.web.security.SecurityUtils;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.beans.factory.config.BeanDefinition;
|
||||
import org.springframework.context.annotation.Scope;
|
||||
|
|
@ -66,10 +70,13 @@ 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.Composer;
|
||||
import org.zkoss.zul.Button;
|
||||
|
||||
/**
|
||||
* Creates and handles several tabs
|
||||
*
|
||||
* @author Óscar González Fernández <ogonzalez@igalia.com>
|
||||
* @author Lorenzo Tilve Álvaro <ltilve@igalia.com>
|
||||
*/
|
||||
@Component
|
||||
@Scope(BeanDefinition.SCOPE_PROTOTYPE)
|
||||
|
|
@ -365,6 +372,29 @@ public class MultipleTabsPlannerController implements Composer,
|
|||
planningTab.toggleToFeedback();
|
||||
}
|
||||
handler.registerBookmarkListener(this, comp.getPage());
|
||||
|
||||
if (SecurityUtils.isUserInRole(UserRole.ROLE_CREATE_ORDER)) {
|
||||
org.zkoss.zk.ui.Component createOrderButton = comp.getPage().getFellow(
|
||||
"createOrderButton");
|
||||
createOrderButton.addEventListener(Events.ON_CLICK,
|
||||
new EventListener() {
|
||||
@Override
|
||||
public void onEvent(Event event) throws Exception {
|
||||
goToCreateForm();
|
||||
}
|
||||
});
|
||||
|
||||
final Button createOrderFromTemplateButton = (Button) comp
|
||||
.getPage()
|
||||
.getFellow("createOrderFromTemplateButton");
|
||||
createOrderFromTemplateButton.addEventListener(Events.ON_CLICK,
|
||||
new EventListener() {
|
||||
@Override
|
||||
public void onEvent(Event event) throws Exception {
|
||||
goToCreateOrderFromTemplate(createOrderFromTemplateButton);
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
private TabsRegistry getTabsRegistry() {
|
||||
|
|
@ -399,6 +429,18 @@ public class MultipleTabsPlannerController implements Composer,
|
|||
|
||||
}
|
||||
|
||||
public void goToCreateOrderFromTemplate(org.zkoss.zk.ui.Component button) {
|
||||
TemplateFinderPopup templateFinderPopup = (TemplateFinderPopup) button
|
||||
.getPage().getFellow("templateFinderPopup");
|
||||
templateFinderPopup.openForOrderCreation(button, "after_start",
|
||||
new IOnResult<OrderTemplate>() {
|
||||
@Override
|
||||
public void found(OrderTemplate template) {
|
||||
goToCreateotherOrderFromTemplate(template);
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void goToOrder(Order order) {
|
||||
planningTab.toggleToNoFeedback();
|
||||
|
|
|
|||
|
|
@ -114,7 +114,17 @@ signature="java.lang.Boolean isDefaultPasswordsControl()"?>
|
|||
<!-- borderlayout class="main-layout" height="2000px" width="2000px"-->
|
||||
<west class="perspectives-column" width="90px">
|
||||
<vbox>
|
||||
<hbox id="perspectiveButtonsInsertionPoint" sclass="toolbar-box global-commands" height="30px" width="100%" />
|
||||
<hbox id="perspectiveButtonsInsertionPoint" sclass="toolbar-box global-commands" height="30px" width="100%">
|
||||
|
||||
<button id="createOrderButton" image="/common/img/ico_add.png" sclass="planner-icon"
|
||||
tooltiptext="${i18n:_('Create New Project')}" />
|
||||
|
||||
<button id="createOrderFromTemplateButton" image="/common/img/ico_copy.png" sclass="planner-icon"
|
||||
tooltiptext="${i18n:_('Create From Template')}" />
|
||||
|
||||
<templateFinderPopup id="templateFinderPopup" acceptButtonLabel="${i18n:_('Create Project')}" caption="${i18n:_('Choosing Template')}" />
|
||||
|
||||
</hbox>
|
||||
<vbox id="registeredItemsInsertionPoint" width="90px"/>
|
||||
</vbox>
|
||||
</west>
|
||||
|
|
|
|||
|
|
@ -28,14 +28,6 @@
|
|||
<borderlayout sclass="orderslayout" width="auto" apply="${orderController}">
|
||||
<north height="30px" border="0" sclass="toolbar-box">
|
||||
<hbox align="center" id="toolbar">
|
||||
<templateFinderPopup id="templateFinderPopup" acceptButtonLabel="${i18n:_('Create Project')}"
|
||||
caption="${i18n:_('Choosing Template')}" />
|
||||
|
||||
<button id="createOrderButton" image="/common/img/ico_add.png" sclass="planner-icon"
|
||||
tooltiptext="${i18n:_('Create New Project')}" visible="false" />
|
||||
|
||||
<button id="createOrderFromTemplateButton" image="/common/img/ico_copy.png" sclass="planner-icon"
|
||||
tooltiptext="${i18n:_('Create From Template')}" visible="false" />
|
||||
|
||||
<button id="saveOrderAndContinueButton" image="/common/img/ico_save.png" sclass="planner-icon"
|
||||
tooltiptext="${i18n:_('Save Project')}" />
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue