-<html xmlns="http://www.w3.org/1999/xhtml"
- xmlns:ui="http://java.sun.com/jsf/facelets"
- xmlns:h="http://xmlns.jcp.org/jsf/html"
- xmlns:c="http://xmlns.jcp.org/jsp/jstl/core"
- xmlns:f="http://xmlns.jcp.org/jsf/core"
- >
+<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
+<html
+ lang="#{localizationController.language}" xml:lang="#{localizationController.language}"
+ xmlns="http://www.w3.org/1999/xhtml"
+ xmlns:ui="http://xmlns.jcp.org/jsf/facelets"
+ xmlns:h="http://xmlns.jcp.org/jsf/html"
+ xmlns:f="http://xmlns.jcp.org/jsf/core"
+ >
<!--
TODO: Not used:
//-->
<ui:composition template="/WEB-INF/templates/guest/guest_base.tpl">
- <ui:define name="title">Willkommen!</ui:define>
-
- <ui:define name="menu">
- <ui:include id="menu" class="guest_menu" src="/WEB-INF/templates/guest/guest_menu.tpl" />
- </ui:define>
+ <ui:define name="guest_title">#{msg.PAGE_TITLE_INDEX_WELCOME}</ui:define>
<ui:define name="content_header">
- Eingangsseite (dummy)
+ #{msg.CONTENT_TITLE_INDEX_WELCOME}
</ui:define>
<ui:define name="content">
- <!--
- TODO Not used!
- <h:panelGrid class="basket_item_table" columnClasses="table_data_column" headerClass="table_header_column">
- <f:facet name="header">
- Bestellen? Bestellmenge: Produkt: Einzelpreis:
- </f:facet>
- </h:panelGrid>
- //-->
-
- <h:form acceptcharset="utf-8" id="add_item">
- <table class="basket_item_table">
- <thead>
- <tr>
- <th colspan="5" class="table_header">
- Folgendes kann bestellt werden:
- </th>
- </tr>
-
- <tr>
- <th class="table_header_column">
- Bestellen?
- </th>
-
- <th class="table_header_column">
- Anzahl:
- </th>
-
- <th class="table_header_column">
- Produkt:
- </th>
-
- <th class="table_header_column">
- Einzelpreis:
- </th>
-
- <th class="table_header_column">
- Zwischensumme:
- </th>
- </tr>
- </thead>
-
- <tbody>
- <ui:repeat var="product" value="#{controller.availableProducts}">
- <!-- Cache isAdded call to reduce calls //-->
- <c:set var="isAdded" value="#{basket.isAdded(product)}" />
-
- <ui:fragment rendered="#{isAdded == true}">
- <tr>
- <td class="table_data_column">
- <h:link outcome="basket" title="Zum Warenkorb" value="Warenkorb" />
- </td>
-
- <td class="table_data_column">
- #{basket.item.amount}
- </td>
-
- <td class="table_data_column">
- #{product.title}
- </td>
-
- <td class="table_data_column" align="right">
- <h:outputText class="price" value="#{product.price}">
- <f:convertNumber type="currency" minFractionDigits="2" maxFractionDigits="2" />
- </h:outputText>
- </td>
-
- <td class="table_data_column" align="right">
- <h:outputText class="price" value="#{basket.item.calculateTotalPrice()}">
- <f:convertNumber type="currency" minFractionDigits="2" maxFractionDigits="2" />
- </h:outputText>
- </td>
- </tr>
- </ui:fragment>
-
- <ui:fragment rendered="#{isAdded == false}">
- <tr>
- <td class="table_data_column">
- <h:commandButton class="submit" id="add" value="Hinzufügen" action="#{basket.addToBasket(product)}" />
- <h:inputHidden id="itemId" value="#{product.itemId}" />
- <h:inputHidden id="itemType" value="Product" />
- </td>
-
- <td class="table_data_column">
- <h:inputText class="input" id="amount" size="3" maxlength="20">
- <!--
- If the customer wants to order more, he need to call in.
- //-->
- <f:validateLongRange minimum="1" maximum="10" />
- </h:inputText>
- </td>
-
- <td class="table_data_column">
- #{product.title}
- </td>
-
- <td class="table_data_column" align="right">
- <h:outputText class="price" value="#{product.price}">
- <f:convertNumber type="currency" minFractionDigits="2" maxFractionDigits="2" />
- </h:outputText>
- </td>
-
- <td class="table_data_column" align="right">
- -
- </td>
- </tr>
- </ui:fragment>
- </ui:repeat>
- </tbody>
- </table>
- </h:form>
- </ui:define>
-
- <ui:define name="footer">
- <ui:include id="footer" class="guest_footer" src="/WEB-INF/templates/guest/guest_footer.tpl" />
+ <div class="table">
+ <div class="table_header">
+ #{msg.FOLLOWING_PRODUCTS_ARE_AVAILABLE}
+ </div>
+ </div>
+
+ <h:dataTable id="table_show_available_products" var="product" value="#{productController.availableProducts}" styleClass="table" summary="#{msg.TABLE_SUMMARY_INDEX_PRODUCTS}">
+ <h:column>
+ <div id="main_item_container">
+ <div class="item_title">
+ #{product.productTitle}
+ </div>
+
+ <div class="item_content">
+ <div class="table_left">
+ <div class="item_actions">
+ <ui:fragment rendered="#{!basketController.isProductAdded(product)}">
+ <h:form id="add_item">
+ <h:commandButton class="submit" id="add" value="#{msg.USER_ADD_ITEM_TO_BASKET}" action="#{basketController.addItem(product)}" title="#{msg.BUTTON_TITLE_ADD_ITEM_TO_BASKET}" />
+
+ <h:inputText class="input" id="amount" size="3" maxlength="20" value="#{basketController.orderedAmount}" title="#{msg.INPUT_TITLE_ENTER_ITEM_AMOUNT}">
+ <!--
+ If the customer wants to order more, he need to call in.
+ //-->
+ <f:validator for="amount" validatorId="ItemAmountValidator" />
+ </h:inputText>
+ </h:form>
+ </ui:fragment>
+
+ <ui:fragment rendered="#{basketController.isProductAdded(product)}">
+ <div class="item_amount">
+ #{msg.ITEM_ORDER_AMOUNT}
+ #{basketController.getItemAmount(product)}
+ </div>
+
+ <div class="item_basket_link">
+ <h:link outcome="basket" title="#{msg.LINK_TO_BASKET_TITLE}" value="#{msg.LINK_CHANGE_IN_BASKET}" />
+ </div>
+
+ <div class="clear"></div>
+ </ui:fragment>
+ </div>
+ </div>
+
+ <div class="table_right">
+ <div class="item_price">
+ #{msg.SINGLE_PRODUCT_PRICE}
+ <h:outputText styleClass="price" value="#{product.productPrice}">
+ <f:convertNumber type="currency" minFractionDigits="2" maxFractionDigits="2" locale="de_DE" />
+ </h:outputText>
+ </div>
+
+ <div class="item_total_price">
+ #{msg.TOTAL_ITEM_PRICE}
+ <h:outputText styleClass="price" value="#{msg.ITEM_NOT_ORDERED}" rendered="#{!basketController.isProductAdded(product)}" />
+ <h:outputText styleClass="price" value="#{basketController.calculateCurrentItemPrice()}" rendered="#{basketController.isProductAdded(product)}">
+ <f:convertNumber type="currency" minFractionDigits="2" maxFractionDigits="2" locale="de_DE" />
+ </h:outputText>
+ </div>
+ </div>
+
+ <div class="clear"></div>
+ </div>
+ </div>
+ </h:column>
+ </h:dataTable>
+
+ <div id="totals_container">
+ #{msg.TOTAL_ORDER_PRICE}
+ <h:outputText styleClass="price" id="total_sum" value="#{basketController.calculateTotalPrice()}">
+ <f:convertNumber type="currency" minFractionDigits="2" maxFractionDigits="2" locale="de_DE" />
+ </h:outputText>
+ </div>
</ui:define>
</ui:composition>
</html>