Commit d32afa3f by Tuomas Riihimäki

shoppia.

1 parent 84f36402
...@@ -2,13 +2,12 @@ ...@@ -2,13 +2,12 @@
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:p="http://primefaces.org/ui" xmlns:users="http://java.sun.com/jsf/composite/cditools/user" xmlns:shop="http://java.sun.com/jsf/composite/cditools/shop" xmlns:p="http://primefaces.org/ui" xmlns:users="http://java.sun.com/jsf/composite/cditools/user"
xmlns:c="http://java.sun.com/jsp/jstl/core"> xmlns:c="http://java.sun.com/jsp/jstl/core">
<h:body> <h:body>
<ui:composition template="/layout/#{sessionHandler.layout}/template.xhtml"> <ui:composition template="/layout/#{sessionHandler.layout}/template.xhtml">
<f:metadata> <f:metadata>
<f:viewParam name="userid" value="#{userView.userid}" /> <f:viewParam name="userid" value="#{userView.userid}" />
<f:event type="preRenderView" listener="#{userView.initView}" />
<f:event type="preRenderView" listener="#{productShopView.initShopView}" /> <f:event type="preRenderView" listener="#{productShopView.initShopView}" />
</f:metadata> </f:metadata>
...@@ -18,140 +17,8 @@ ...@@ -18,140 +17,8 @@
</ui:define> </ui:define>
<ui:define name="content"> <ui:define name="content">
<h:form id="shoppingcartform"> <shop:shoppingcart />
<h:panelGrid columns="2">
<h:panelGroup>
<div id="shopItems">
<ui:repeat value="#{productShopView.shoppingcart}" var="cart">
<h:commandLink styleClass="shopItem" action="#{productShopView.addOne}">
<f:ajax render="@form" />
<div>
#{cart.product.name}<br />
<h:outputText value="#{cart.product.price}">
<f:convertNumber maxFractionDigits="2" minFractionDigits="2" />
</h:outputText>
eur
</div>
</h:commandLink>
</ui:repeat>
</div>
</h:panelGroup>
<h:panelGroup>
<h:outputLabel value="#{i18n['shop.barcode']}" />
<h:inputText id="barcode" value="#{productShopView.barcode}" />
<h:commandButton action="#{productShopView.readBarcode}" onclick="blip(); return true;" value="#{i18n['shop.readBarcode']}">
<f:ajax render="@form" onevent="barcodeReadEvent" execute="@form" />
</h:commandButton>
<br />
<p:dataTable id="prods" value="#{productShopView.boughtItems}" var="prods">
<p:column>
<f:facet name="header">
<h:outputText value="#{i18n['shop.count']}" />
</f:facet>
<p:inplace>
<p:inputText value="#{prods.count}" size="4">
<f:ajax event="valueChange" render="@form" />
<f:convertNumber minFractionDigits="0" maxFractionDigits="2" />
</p:inputText>
</p:inplace>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="#{i18n['shop.product']}" />
</f:facet>
<h:outputText value="#{prods.getProduct().name}" />
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="#{i18n['shop.price']}" />
</f:facet>
<h:outputText value="#{prods.getProduct().price}">
<f:convertNumber maxFractionDigits="2" minFractionDigits="2" />
</h:outputText>
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="#{i18n['shop.actions']}" />
</f:facet>
<h:commandButton action="#{productShopView.removeBought()}" value="Poista" />
</p:column>
</p:dataTable>
<div style="font-weight: bold;">
<h:outputText value="#{i18n['shop.cartPrice']}" />
<h:outputText id="shoptotal" value="#{productShopView.cartPrice}">
<f:convertNumber maxFractionDigits="2" minFractionDigits="2" />
</h:outputText>
<br />
<h:outputLabel value="#{i18n['shop.currentBalance']}" />
<h:outputText id="currentbalance" value="#{productShopView.accountCredits}">
<f:convertNumber maxFractionDigits="2" minFractionDigits="2" />
</h:outputText>
<br />
<h:outputLabel value="#{i18n['shop.transactionTotal']}" />
<h:outputText id="transactiontotal" value="#{productShopView.transactionTotal}">
<f:convertNumber maxFractionDigits="2" minFractionDigits="2" />
</h:outputText>
</div>
<br />
<br />
<h:outputLabel value="#{i18n['shop.cash']}" />
<h:inputText styleClass="inputval" size="5" value="#{productShopView.cash}">
<f:ajax render="@form" event="valueChange" listener="#{productShopView.cashChanged}" />
</h:inputText>
<br />
<h:outputLabel value="#{i18n['shop.cashback']}" />
<input id="returnval" type="text" size="5" value="0" disabled="disabled"/>
<br />
<h:outputLabel value="#{i18n['shop.']}" />
<h:outputText value=" #{productShopView.balanceAfterTransaction}">
<f:convertNumber />
</h:outputText>
<h:commandButton action="#{productShopView.buyCash()}" value="#{i18n['shop.buyCash']}" />
<h:commandButton action="#{productShopView.buyCredit()}" onclick="return confirm('#{i18n['shop.confirmCreditBuy']}');" value="#{i18n['shop.buyCredit']}" />
</h:panelGroup>
</h:panelGrid>
<h:outputScript library="primefaces" name="jquery/jquery.js" />
</h:form>
<script>
var blipSnd = new Audio(
"#{request.contextPath}/resources/media/blip.mp3")
$(function() {
$("#shoppingcartform\\:barcode").focus();
});
function blip() {
blipSnd.play();
}
function calc() {
$("#returnval").val($("#inputval").val() - $("#shoppingcartform\\:totaltransaction").text().replace(",","."));
}
function barcodeReadEvent(data) {
if (data.status == "success") {
$("#shoppingcartform\\:barcode").focus();
}
}
</script>
</ui:define> </ui:define>
......
...@@ -522,6 +522,8 @@ shop.buyCash = Buy by Cash ...@@ -522,6 +522,8 @@ shop.buyCash = Buy by Cash
shop.buyCredit = Buy Credit shop.buyCredit = Buy Credit
shop.calcsubtotal = Calc Subtotal shop.calcsubtotal = Calc Subtotal
shop.cash = Cash shop.cash = Cash
shop.cashBack = Back
shop.cashGiven = Cash given
shop.cashback = Cashback shop.cashback = Cashback
shop.confirmCreditBuy = Are You sure ? shop.confirmCreditBuy = Are You sure ?
shop.count = Q shop.count = Q
......
...@@ -508,12 +508,14 @@ shop.buyCash = K\u00E4teismaksu ...@@ -508,12 +508,14 @@ shop.buyCash = K\u00E4teismaksu
shop.buyCredit = Credit shop.buyCredit = Credit
shop.calcsubtotal = Laske v\u00E4lisumma shop.calcsubtotal = Laske v\u00E4lisumma
shop.cash = K\u00E4teinen shop.cash = K\u00E4teinen
shop.cashGiven = K\u00E4teist\u00E4 saatu
shop.cashback = Takaisin shop.cashback = Takaisin
shop.confirmCreditBuy = Varmastikko ? shop.confirmCreditBuy = Varmastikko ?
shop.count = Lkm shop.count = Lkm
shop.price = Hinta shop.price = Hinta
shop.product = Tuote shop.product = Tuote
shop.readBarcode = Lue shop.readBarcode = Lue
shop.toAccountValue = Tilille
shop.totalPrice = Yhteens\u00E4 shop.totalPrice = Yhteens\u00E4
shop.user = Myyd\u00E4\u00E4n shop.user = Myyd\u00E4\u00E4n
......
...@@ -114,6 +114,7 @@ public class UserView extends GenericCDIView { ...@@ -114,6 +114,7 @@ public class UserView extends GenericCDIView {
} else { } else {
user = getCurrentUser(); user = getCurrentUser();
} }
canSave = getCurrentUser().equals(user) || permbean.hasPermission(UserPermission.MODIFY);
} }
return user; return user;
} }
...@@ -142,8 +143,8 @@ public class UserView extends GenericCDIView { ...@@ -142,8 +143,8 @@ public class UserView extends GenericCDIView {
// user = userbean.getEventUser(img.getUser()); // user = userbean.getEventUser(img.getUser());
// croppedImage = null; // croppedImage = null;
if (croppedImage == null)
if(croppedImage == null) return null; return null;
logger.info("Cropped image {}x{}", croppedImage.getLeft(), croppedImage.getTop()); logger.info("Cropped image {}x{}", croppedImage.getLeft(), croppedImage.getTop());
logger.info("Cropped data bytesize {}, type {}", croppedImage.getBytes().length, croppedImage.getOriginalFilename()); logger.info("Cropped data bytesize {}, type {}", croppedImage.getBytes().length, croppedImage.getOriginalFilename());
...@@ -166,18 +167,18 @@ public class UserView extends GenericCDIView { ...@@ -166,18 +167,18 @@ public class UserView extends GenericCDIView {
try { try {
mpr = cardPrintBean.getUserCardAsPrintablePdf(this.user.getId()); mpr = cardPrintBean.getUserCardAsPrintablePdf(this.user.getId());
file = File.createTempFile("cardprintout",null); file = File.createTempFile("cardprintout", null);
FileOutputStream fostream = new FileOutputStream(file); FileOutputStream fostream = new FileOutputStream(file);
fostream.write(mpr.getPdf()); fostream.write(mpr.getPdf());
fostream.close(); fostream.close();
setStreamedFile(new DefaultStreamedContent(new FileInputStream(this.file))); setStreamedFile(new DefaultStreamedContent(new FileInputStream(this.file)));
} catch(Exception e) { } catch (Exception e) {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(e.getMessage())); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(e.getMessage()));
} }
} }
public String acceptPrintedCard() { public String acceptPrintedCard() {
if(mpr != null && mpr.getAffectedUsers().size() > 0) { if (mpr != null && mpr.getAffectedUsers().size() > 0) {
cardPrintBean.acceptMassPrintResult(mpr); cardPrintBean.acceptMassPrintResult(mpr);
return "accepted"; return "accepted";
} else { } else {
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!