ItEr17S10CUCreacionProxectoPlanificacionItEr16S12: Preparing the landing page for scheduling orders.

This commit is contained in:
Óscar González Fernández 2009-07-16 10:40:59 +02:00 committed by Javier Moran Rua
parent c15a93229e
commit c632841197
4 changed files with 106 additions and 3 deletions

View file

@ -11,6 +11,7 @@ import org.navalplanner.web.common.Level;
import org.navalplanner.web.common.MessagesForUser;
import org.navalplanner.web.common.OnlyOneVisible;
import org.navalplanner.web.common.Util;
import org.navalplanner.web.planner.IOrderPlanningControllerEntryPoints;
import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.util.GenericForwardComposer;
import org.zkoss.zul.api.Window;
@ -44,6 +45,8 @@ public class OrderCRUDController extends GenericForwardComposer {
private boolean confirmingSchedule;
private IOrderPlanningControllerEntryPoints planningControllerEntryPoints;
public List<Order> getOrders() {
return orderModel.getOrders();
}
@ -89,9 +92,7 @@ public class OrderCRUDController extends GenericForwardComposer {
orderModel.prepareForSchedule(order);
showScheduleConfirmingWindow();
} else {
messagesForUser
.showMessage(Level.INFO,
"xa se crearon as tarefas de planificacion asociadas o pedido");
planningControllerEntryPoints.showSchedule(order);
}
}

View file

@ -0,0 +1,15 @@
package org.navalplanner.web.planner;
import org.navalplanner.business.orders.entities.Order;
import org.navalplanner.web.common.entrypoints.EntryPoint;
import org.navalplanner.web.common.entrypoints.EntryPoints;
/**
* @author Óscar González Fernández <ogonzalez@igalia.com>
*/
@EntryPoints(page = "/planner/order.zul", registerAs = "planningControllerEntryPoints")
public interface IOrderPlanningControllerEntryPoints {
@EntryPoint("plan")
public void showSchedule(Order order);
}

View file

@ -0,0 +1,45 @@
package org.navalplanner.web.planner;
import org.navalplanner.business.orders.entities.Order;
import org.navalplanner.web.common.entrypoints.IURLHandlerRegistry;
import org.navalplanner.web.common.entrypoints.URLHandler;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.config.BeanDefinition;
import org.springframework.context.annotation.Scope;
import org.springframework.stereotype.Component;
import org.zkoss.ganttz.Planner;
import org.zkoss.ganttz.adapters.PlannerConfiguration;
import org.zkoss.ganttz.util.ITaskFundamentalProperties;
/**
* @author Óscar González Fernández <ogonzalez@igalia.com>
*/
@Component
@Scope(BeanDefinition.SCOPE_PROTOTYPE)
public class OrderPlanningController implements
IOrderPlanningControllerEntryPoints {
@Autowired
private IURLHandlerRegistry urlHandlerRegistry;
private Planner planner;
public OrderPlanningController() {
}
@Override
public void showSchedule(Order order) {
PlannerConfiguration<ITaskFundamentalProperties> configuration = new DataForPlanner()
.getMediumLoad();
// TODO just for trying passing medium load
planner.setConfiguration(configuration);
}
public void registerPlanner(Planner planner) {
this.planner = planner;
final URLHandler<IOrderPlanningControllerEntryPoints> handler = urlHandlerRegistry
.getRedirectorFor(IOrderPlanningControllerEntryPoints.class);
handler.registerListener(this, planner.getPage());
}
}

View file

@ -0,0 +1,42 @@
<?page title="Navalpro: Scheduling"?>
<?init class="org.zkoss.zk.ui.util.Composition" arg0="/common/layout/template_v02.zul"?>
<?variable-resolver class="org.zkoss.zkplus.spring.DelegatingVariableResolver"?>
<?taglib uri="http://www.zkoss.org/dsp/web/core" prefix="c"?>
<?link rel="stylesheet" type="text/css" href="/planner/css/ganttzk.css"?>
<?link rel="stylesheet" type="text/css" href="/common/css/navalpro_v01.css"?>
<?link rel="stylesheet" type="text/css" href="/common/css/navalpro_zk.css"?>
<zk>
<planner id="planner" self="@{define(content)}">
<div id="idContextMenuTaskAssigment"></div>
</planner>
<popup width="300px" apply="${planner.modalFormComposer}">
<grid>
<rows>
<row>
${c:l('task.name')}
<textbox id="name" />
</row>
<row>
${c:l('task.start')}
<datebox id="startDateBox" compact="true" />
</row>
<row>
${c:l('task.end')}
<datebox id="endDateBox" compact="true" />
</row>
<row>
${c:l('task.notes')}
<textbox id="notes" />
</row>
</rows>
</grid>
<button id="ok" label=" ${c:l('task.ok')}" />
</popup>
<zscript><![CDATA[
orderPlanningController.registerPlanner(planner);
]]>
</zscript>
</zk>