Commit 4f060c5b by Tuukka Kivilahti

moar info, now working version

1 parent 9db5cdc0
eclipse.preferences.version=1 eclipse.preferences.version=1
encoding//WebContent/resources/templates/template1/css/style.css=UTF-8 encoding//WebContent/resources/templates/template1/css/style.css=UTF-8
encoding//src/fi/codecrew/moya/web/flow/IncomingView.java=UTF-8
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
<f:event type="preRenderView" listener="#{incomingView.initPrintCardView}" /> <f:event type="preRenderView" listener="#{incomingView.initPrintCardView}" />
</f:metadata> </f:metadata>
<ui:define name="content"> <ui:define name="content">
<!-- HEAD --> <!--
<h1>#{i18n['incomingflow.search']}</h1> <h1>#{i18n['incomingflow.search']}</h1>
<h:form> <h:form>
<h:panelGrid columns="2" > <h:panelGrid columns="2" >
...@@ -28,7 +28,7 @@ ...@@ -28,7 +28,7 @@
</h:panelGrid> </h:panelGrid>
</h:form> </h:form>
<!-- yhtäsuurimerkit --> yhtäsuurimerkit -->
<reader:backendReader selectvalue="#{i18n['barcodeReader.readBarcode']}" selectaction="#{incomingView.polledRead}" /> <reader:backendReader selectvalue="#{i18n['barcodeReader.readBarcode']}" selectaction="#{incomingView.polledRead}" />
<h:form> <h:form>
<p:autoComplete id="acsb" value="#{infoView.multiSearchUser}" completeMethod="#{infoView.matchMulti}" converter="#{eventUserConverter}" var="usrx" itemLabel="#{usrx.shortUserDescriptor}" itemValue="#{usrx}"> <p:autoComplete id="acsb" value="#{infoView.multiSearchUser}" completeMethod="#{infoView.matchMulti}" converter="#{eventUserConverter}" var="usrx" itemLabel="#{usrx.shortUserDescriptor}" itemValue="#{usrx}">
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
<f:event type="preRenderView" listener="#{flowShopView.initView}" /> <f:event type="preRenderView" listener="#{flowShopView.initView}" />
</f:metadata> </f:metadata>
<ui:define name="content"> <ui:define name="content">
<reader:backendReader selectvalue="#{i18n['barcodeReader.readBarcode']}" selectaction="#{incomingView.polledRead}" /> <reader:backendReader selectvalue="#{i18n['barcodeReader.readBarcode']}" selectaction="#{flowShopView.polledRead}" />
<h:form> <h:form>
<p:autoComplete id="acsb" value="#{infoView.multiSearchUser}" completeMethod="#{infoView.matchMulti}" converter="#{eventUserConverter}" var="usrx" itemLabel="#{usrx.shortUserDescriptor}" itemValue="#{usrx}"> <p:autoComplete id="acsb" value="#{infoView.multiSearchUser}" completeMethod="#{infoView.matchMulti}" converter="#{eventUserConverter}" var="usrx" itemLabel="#{usrx.shortUserDescriptor}" itemValue="#{usrx}">
<p:ajax event="itemSelect" listener="#{flowShopView.changeUser}" /> <p:ajax event="itemSelect" listener="#{flowShopView.changeUser}" />
......
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<p:dataTable styleClass="bordertable" id="usertable" value="#{userSearchView.eventuserModel}" rows="20" paginator="true" lazy="true" var="user"> <p:dataTable styleClass="bordertable" id="usertable" value="#{userSearchView.eventuserModel}" rows="1000" paginator="true" lazy="true" var="user">
<p:column headerText="#{i18n['user.nick']}" sortBy="#{user.nick}"> <p:column headerText="#{i18n['user.nick']}" sortBy="#{user.nick}">
<h:outputText styleClass="hoverable" value="#{(empty user.nick)?'----':user.nick}" /> <h:outputText styleClass="hoverable" value="#{(empty user.nick)?'----':user.nick}" />
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
<composite:implementation> <composite:implementation>
<h:outputScript library="primefaces" name="jquery/jquery.js" target="head" /> <h:outputScript library="primefaces" name="jquery/jquery.js" target="head" />
<p:dataTable id="user" value="#{userSearchView.userModel}" rows="20" var="wra" paginator="true" lazy="true"> <p:dataTable id="user" value="#{userSearchView.userModel}" rows="500" var="wra" paginator="true" lazy="true">
<p:column sortBy="#{wra.user.nick}" headerText="#{i18n['user.nick']}"> <p:column sortBy="#{wra.user.nick}" headerText="#{i18n['user.nick']}">
<h:outputText value="#{(empty wra.user.nick)?'----':wra.user.nick}" /> <h:outputText value="#{(empty wra.user.nick)?'----':wra.user.nick}" />
......
...@@ -5,6 +5,7 @@ import java.util.List; ...@@ -5,6 +5,7 @@ import java.util.List;
import javax.ejb.EJB; import javax.ejb.EJB;
import javax.enterprise.context.ConversationScoped; import javax.enterprise.context.ConversationScoped;
import javax.enterprise.context.SessionScoped;
import javax.faces.model.ListDataModel; import javax.faces.model.ListDataModel;
import javax.inject.Inject; import javax.inject.Inject;
import javax.inject.Named; import javax.inject.Named;
...@@ -32,8 +33,8 @@ import fi.codecrew.moya.web.cdiview.GenericCDIView; ...@@ -32,8 +33,8 @@ import fi.codecrew.moya.web.cdiview.GenericCDIView;
import fi.codecrew.moya.web.cdiview.shop.UserCardWrapper; import fi.codecrew.moya.web.cdiview.shop.UserCardWrapper;
import fi.codecrew.moya.web.cdiview.user.UserView; import fi.codecrew.moya.web.cdiview.user.UserView;
@Named @Named
@ConversationScoped @SessionScoped
public class ReaderView extends GenericCDIView { public class ReaderView extends GenericCDIView {
private static final long serialVersionUID = 802344850073689859L; private static final long serialVersionUID = 802344850073689859L;
...@@ -232,11 +233,17 @@ public class ReaderView extends GenericCDIView { ...@@ -232,11 +233,17 @@ public class ReaderView extends GenericCDIView {
public ReaderEvent getReaderEvent() { public ReaderEvent getReaderEvent() {
if(namecontainer.isAutopoll() && isNewCodes()) { if(namecontainer.isAutopoll()) {
pollingCodeHandled(); if(isNewCodes()) {
return readerbean.getLastReaderEvent(namecontainer.getReaderId()); pollingCodeHandled();
return readerbean.getLastReaderEvent(namecontainer.getReaderId());
} else {
return null;
}
} }
if (readerEventList == null) if (readerEventList == null)
return null; return null;
...@@ -268,8 +275,16 @@ public class ReaderView extends GenericCDIView { ...@@ -268,8 +275,16 @@ public class ReaderView extends GenericCDIView {
public boolean isNewCodes() { public boolean isNewCodes() {
if (!namecontainer.isAutopoll()) if (!namecontainer.isAutopoll())
return false; return false;
ReaderEvent newEvent = readerbean.getLastReaderEvent(namecontainer.getReaderId());
if(newEvent == null || newEvent.getId() == null)
return false;
if(lastReadEvent == null || lastReadEvent.getId() == null)
return true;
return (!readerbean.getLastReaderEvent(namecontainer.getReaderId()).equals(lastReadEvent)); return (newEvent.getId() != lastReadEvent.getId());
} }
......
...@@ -13,6 +13,7 @@ import javax.faces.application.FacesMessage; ...@@ -13,6 +13,7 @@ import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext; import javax.faces.context.FacesContext;
import javax.inject.Inject; import javax.inject.Inject;
import javax.inject.Named; import javax.inject.Named;
import javax.management.RuntimeErrorException;
import org.primefaces.event.CaptureEvent; import org.primefaces.event.CaptureEvent;
import org.primefaces.event.FileUploadEvent; import org.primefaces.event.FileUploadEvent;
...@@ -159,6 +160,8 @@ public class UserView extends GenericCDIView { ...@@ -159,6 +160,8 @@ public class UserView extends GenericCDIView {
} }
canSave = getCurrentUser().equals(user) || permbean.hasPermission(UserPermission.MODIFY); canSave = getCurrentUser().equals(user) || permbean.hasPermission(UserPermission.MODIFY);
} }
return user; return user;
} }
......
package fi.codecrew.moya.web.flow; package fi.codecrew.moya.web.flow;
import java.util.ArrayList;
import java.util.List;
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;
...@@ -25,9 +22,6 @@ import fi.codecrew.moya.model.EventUser; ...@@ -25,9 +22,6 @@ import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.model.GroupMembership; import fi.codecrew.moya.model.GroupMembership;
import fi.codecrew.moya.model.PrintedCard; import fi.codecrew.moya.model.PrintedCard;
import fi.codecrew.moya.model.ReaderEvent; import fi.codecrew.moya.model.ReaderEvent;
import fi.codecrew.moya.util.UserSearchQuery;
import fi.codecrew.moya.utilities.SearchResult;
import fi.codecrew.moya.web.annotations.SelectedUser;
import fi.codecrew.moya.web.cdiview.GenericCDIView; import fi.codecrew.moya.web.cdiview.GenericCDIView;
import fi.codecrew.moya.web.cdiview.reader.ReaderNameContainer; import fi.codecrew.moya.web.cdiview.reader.ReaderNameContainer;
import fi.codecrew.moya.web.cdiview.reader.ReaderView; import fi.codecrew.moya.web.cdiview.reader.ReaderView;
...@@ -141,6 +135,7 @@ public class IncomingView extends GenericCDIView { ...@@ -141,6 +135,7 @@ public class IncomingView extends GenericCDIView {
public void polledRead() { public void polledRead() {
ReaderEvent event = readerView.getReaderEvent(); ReaderEvent event = readerView.getReaderEvent();
if(event == null) if(event == null)
...@@ -154,7 +149,7 @@ public class IncomingView extends GenericCDIView { ...@@ -154,7 +149,7 @@ public class IncomingView extends GenericCDIView {
logger.info("found user {}, redirecting", user.getNick()); logger.info("found user {}, redirecting", user.getNick());
userview.setUser(user); userview.setUser(user);
// userview.prepareCardDownload(); // userview.prepareCardDownload();
// PURKKAAA, sori tästä, koitan refaktoroida kauniiksi ku kerkiän -TKwtf // PURKKAAA, sori t��st��, koitan refaktoroida kauniiksi ku kerki��n -TKwtf
super.navihandler.redirectNavigation("incoming.jsf?userid=" + user.getUser().getId()); super.navihandler.redirectNavigation("incoming.jsf?userid=" + user.getUser().getId());
} }
......
...@@ -83,7 +83,6 @@ public class InfoView extends GenericCDIView { ...@@ -83,7 +83,6 @@ public class InfoView extends GenericCDIView {
public void setMultiSearchUser(EventUser multiSearchUser) { public void setMultiSearchUser(EventUser multiSearchUser) {
this.multiSearchUser = multiSearchUser; this.multiSearchUser = multiSearchUser;
} }
} }
package fi.codecrew.moya.web.flow; package fi.codecrew.moya.web.flow;
import javax.ejb.EJB;
import javax.enterprise.context.ConversationScoped; import javax.enterprise.context.ConversationScoped;
import javax.inject.Inject; import javax.inject.Inject;
import javax.inject.Named; import javax.inject.Named;
...@@ -8,8 +9,11 @@ import org.primefaces.event.SelectEvent; ...@@ -8,8 +9,11 @@ import org.primefaces.event.SelectEvent;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import fi.codecrew.moya.model.User; import fi.codecrew.moya.beans.PermissionBeanLocal;
import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.model.ReaderEvent;
import fi.codecrew.moya.web.cdiview.GenericCDIView; import fi.codecrew.moya.web.cdiview.GenericCDIView;
import fi.codecrew.moya.web.cdiview.reader.ReaderView;
import fi.codecrew.moya.web.cdiview.shop.ProductShopView; import fi.codecrew.moya.web.cdiview.shop.ProductShopView;
import fi.codecrew.moya.web.cdiview.user.UserView; import fi.codecrew.moya.web.cdiview.user.UserView;
...@@ -24,6 +28,11 @@ public class flowShopView extends GenericCDIView { ...@@ -24,6 +28,11 @@ public class flowShopView extends GenericCDIView {
// shop userid, we need this so we can tell when to show anonymous and when real user. // shop userid, we need this so we can tell when to show anonymous and when real user.
private Integer userId; private Integer userId;
@EJB
PermissionBeanLocal permBean;
@Inject @Inject
private ProductShopView productShopView; private ProductShopView productShopView;
...@@ -33,9 +42,13 @@ public class flowShopView extends GenericCDIView { ...@@ -33,9 +42,13 @@ public class flowShopView extends GenericCDIView {
@Inject @Inject
private InfoView infoView; private InfoView infoView;
@Inject
private ReaderView readerView;
public void initView() { public void initView() {
if(userId == null || userId == 0) { if(userId == null || userId == 0) {
userView.setUserid(1); userView.setUserid(permBean.getAnonEventUser().getUser().getId());
} else { } else {
userView.setUserid(userId); userView.setUserid(userId);
} }
...@@ -63,6 +76,26 @@ public class flowShopView extends GenericCDIView { ...@@ -63,6 +76,26 @@ public class flowShopView extends GenericCDIView {
public void polledRead() {
ReaderEvent event = readerView.getReaderEvent();
if(event == null)
return;
EventUser user = event.getUser();
if (user != null) {
if (!user.equals(userView.getUser())) {
logger.info("found user {}, redirecting", user.getNick());
userView.setUser(user);
super.navihandler.redirectNavigation("shop.jsf?userid=" + user.getUser().getId());
}
}
}
} }
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!