Commit 623579ea by Antti Tönkyrä

begin work on foodwaveview

1 parent 76da913a
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
xmlns:products="http://java.sun.com/jsf/composite/cditools/products" xmlns:users="http://java.sun.com/jsf/composite/cditools/user" xmlns:c="http://java.sun.com/jsp/jstl/core"> xmlns:products="http://java.sun.com/jsf/composite/cditools/products" xmlns:users="http://java.sun.com/jsf/composite/cditools/user" xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:p="http://primefaces.org/ui">
<h:body> <h:body>
<ui:composition template="/layout/#{sessionHandler.layout}/template.xhtml"> <ui:composition template="/layout/#{sessionHandler.layout}/template.xhtml">
<f:metadata> <f:metadata>
...@@ -15,12 +15,47 @@ ...@@ -15,12 +15,47 @@
<ui:define name="content"> <ui:define name="content">
<h:form> <h:form>
<h:panelGrid columns="3"> <p:wizard>
<h:outputLabel for="name" value="#{i18n['foodwavetemplate.name']}" /> <p:tab id="basicinfo" title="#{i18n['foodwavetemplate.basicinfo']}">
<h:inputText id="name" value="#{foodWaveView.template.name}" /> <h:panelGrid columns="3">
<h:message for="name" /> <h:outputLabel for="name" value="#{i18n['foodwavetemplate.name']}" />
</h:panelGrid> <h:inputText id="name" value="#{foodWaveView.template.name}" />
<h:commandButton action="#{foodWaveView.saveTemplate()}" value="#{i18n['foowavetemplate.create']}" /> <h:message for="name" />
<h:outputLabel for="description" value="#{i18n['foodwavetemplate.description']}" />
<h:inputText id="description" value="#{foodWaveView.template.description}" />
<h:message for="description" />
</h:panelGrid>
</p:tab>
<p:tab id="selectproducts" title="#{i18n['foodwavetemplate.selectproducts']}">
<h:messages />
<h:panelGrid columns="4">
<h:outputText value="#{i18n['foodwavetemplate.productname']}" />
<h:outputText value="#{i18n['foodwavetemplate.productdescription']}" />
<h:outputText value="#{i18n['foodwavetemplate.price']}" />
<h:outputText value="&nbsp;" />
<h:inputText id="productname" value="#{foodWaveView.currentProduct.name}" />
<h:inputText id="productdescription" value="#{foodWaveView.currentProduct.name}" />
<h:inputText id="price" value="#{foodWaveView.currentProduct.price}" />
<p:commandButton value="#{i18n['foodwavetemplate.addproduct']}" actionListener="#{foodWaveView.addProductToTemplate}" update="productTable" />
</h:panelGrid>
<p:dataTable name="productTable" id="productTable" value="#{foodWaveView.template.products}" var="product">
<p:column headerText="#{i18n['foodwavetemplate.productname']}">
<h:outputText value="#{product.name}" />
</p:column>
<p:column headerText="#{i18n['foodwavetemplate.productdescription']}">
<h:outputText value="#{product.name}" />
</p:column>
<p:column headerText="#{i18n['foodwavetemplate.price']}">
<h:outputText value="#{product.price}" />
</p:column>
</p:dataTable>
</p:tab>
</p:wizard>
</h:form> </h:form>
......
package fi.insomnia.bortal.web.cdiview.shop; package fi.insomnia.bortal.web.cdiview.shop;
import java.util.ArrayList;
import java.util.TreeSet;
import java.util.Vector;
import javax.ejb.EJB; import javax.ejb.EJB;
import javax.enterprise.context.ConversationScoped; import javax.enterprise.context.ConversationScoped;
import javax.faces.model.ListDataModel; import javax.faces.model.ListDataModel;
...@@ -11,6 +15,8 @@ import fi.insomnia.bortal.beans.FoodWaveBeanLocal; ...@@ -11,6 +15,8 @@ import fi.insomnia.bortal.beans.FoodWaveBeanLocal;
import fi.insomnia.bortal.enums.apps.ShopPermission; import fi.insomnia.bortal.enums.apps.ShopPermission;
import fi.insomnia.bortal.model.FoodWave; import fi.insomnia.bortal.model.FoodWave;
import fi.insomnia.bortal.model.FoodWaveTemplate; import fi.insomnia.bortal.model.FoodWaveTemplate;
import fi.insomnia.bortal.model.Product;
import fi.insomnia.bortal.model.ProductFlag;
import fi.insomnia.bortal.web.cdiview.GenericCDIView; import fi.insomnia.bortal.web.cdiview.GenericCDIView;
@Named @Named
...@@ -33,6 +39,8 @@ public class FoodWaveView extends GenericCDIView { ...@@ -33,6 +39,8 @@ public class FoodWaveView extends GenericCDIView {
private ListDataModel<FoodWave> foodWaves; private ListDataModel<FoodWave> foodWaves;
private FoodWave selectedFoodWave = null; private FoodWave selectedFoodWave = null;
private Product currentProduct;
public void initTemplateList() { public void initTemplateList() {
if (super.requirePermissions(ShopPermission.LIST_USERPRODUCTS)) { if (super.requirePermissions(ShopPermission.LIST_USERPRODUCTS)) {
...@@ -59,10 +67,35 @@ public class FoodWaveView extends GenericCDIView { ...@@ -59,10 +67,35 @@ public class FoodWaveView extends GenericCDIView {
if (super.requirePermissions(ShopPermission.MANAGE_PRODUCTS) && template == null) if (super.requirePermissions(ShopPermission.MANAGE_PRODUCTS) && template == null)
{ {
template = new FoodWaveTemplate(); template = new FoodWaveTemplate();
template.setProducts(new ArrayList<Product>());
template.setEvent(eventbean.getCurrentEvent()); template.setEvent(eventbean.getCurrentEvent());
createNewProductSkeleton();
super.beginConversation(); super.beginConversation();
} }
} }
private void createNewProductSkeleton() {
TreeSet<ProductFlag> ts = new TreeSet<ProductFlag>();
ts.add(ProductFlag.PREPAID_INSTANT_CREATE);
currentProduct = new Product();
currentProduct.setProductFlags(ts);
}
public void addProductToTemplate() {
template.getProducts().add(currentProduct);
createNewProductSkeleton();
}
public Product getCurrentProduct() {
return currentProduct;
}
public void setCurrentProduct(Product currentProduct) {
this.currentProduct = currentProduct;
}
public void initUserFoodWaveList() { public void initUserFoodWaveList() {
this.foodWaves = new ListDataModel<FoodWave>( this.foodWaves = new ListDataModel<FoodWave>(
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!