Commit b2593292 by Tuomas Riihimäki

Card status changing

1 parent 1c03cfcd
...@@ -272,7 +272,7 @@ public class CardTemplateBean implements CardTemplateBeanLocal { ...@@ -272,7 +272,7 @@ public class CardTemplateBean implements CardTemplateBeanLocal {
} }
@Override @Override
public PrintedCard setCardState(int cardId, CardState state) throws Exception { public PrintedCard setCardState(Integer cardId, CardState state) throws Exception {
PrintedCard card = printedcardfacade.find(cardId); PrintedCard card = printedcardfacade.find(cardId);
switch (state) switch (state)
{ {
......
...@@ -44,6 +44,6 @@ public interface CardTemplateBeanLocal extends EntityFinderBean<CardTemplate> { ...@@ -44,6 +44,6 @@ public interface CardTemplateBeanLocal extends EntityFinderBean<CardTemplate> {
List<PrintedCard> getCardsByState(CardState... pendingPrint); List<PrintedCard> getCardsByState(CardState... pendingPrint);
PrintedCard setCardState(int cardId, CardState printed) throws Exception; PrintedCard setCardState(Integer cardId, CardState printed) throws Exception;
} }
<!DOCTYPE html <!DOCTYPE html
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:users="http://java.sun.com/jsf/composite/cditools/user" xmlns:tools="http://java.sun.com/jsf/composite/cditools" xmlns:p="http://primefaces.org/ui" 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:users="http://java.sun.com/jsf/composite/cditools/user"
xmlns:tools="http://java.sun.com/jsf/composite/cditools" xmlns:p="http://primefaces.org/ui" xmlns:f="http://java.sun.com/jsf/core">
<h:body> <h:body>
<ui:composition template="#{sessionHandler.template}"> <ui:composition template="#{sessionHandler.template}">
<f:metadata> <f:metadata>
...@@ -13,9 +14,9 @@ ...@@ -13,9 +14,9 @@
<p>Diibadaaba diibadaaba, daaba dii</p> <p>Diibadaaba diibadaaba, daaba dii</p>
<p:inputTextarea /> <p:inputTextarea />
<br/> <br />
<p:commandButton oncomplete="dialog.hide()" actionListener="todo" value="Apply"/> <p:commandButton oncomplete="dialog.hide()" actionListener="#{userOverviewView.rejectCard()}" value="Apply" />
<p:commandButton onclick="dialog.hide()" type="button" value="Cancel"/> <p:commandButton onclick="dialog.hide()" type="button" value="Cancel" />
</p:dialog> </p:dialog>
<h:form id="form"> <h:form id="form">
...@@ -30,13 +31,24 @@ ...@@ -30,13 +31,24 @@
</ui:fragment> </ui:fragment>
</h:panelGroup> </h:panelGroup>
</p:column> </p:column>
<p:column style="#{cartItem.printedCard == null ? 'background:grey;' : ''}"> <p:column id="cardinfo" style="#{cartItem.printedCard == null ? 'background:grey;' : ''}">
<h2><h:outputText value="#{cartItem.eventUser.nick}" /></h2> <h2>
<h:outputText value="#{cartItem.eventUser.nick}" />
</h2>
<h:panelGrid columns="2" border="0">
<h:outputText value="#{i18n['user.wholeName']}" />
<h:outputText value="#{cartItem.eventUser.firstnames} #{cartItem.eventUser.lastname}" /> <h:outputText value="#{cartItem.eventUser.firstnames} #{cartItem.eventUser.lastname}" />
<h:outputText value="zz #{cartItem.printedCard.template.name}" />
<h:outputText value="#{i18n['printedCard.template']}" />
<h:outputText value="#{cartItem.printedCard.template.name}" />
<h:outputText value="#{i18n['printedCard.cardState']}" />
<h:outputText value="#{cartItem.printedCard.cardState}" />
</h:panelGrid>
</p:column> </p:column>
<p:column styleClass="cardstatus-#{cartItem.printedCard == null ? 'nonprintable' : cartItem.printedCard.cardState.toStringLower()}"> <p:column styleClass="cardstatus-#{cartItem.printedCard == null ? 'nonprintable' : cartItem.printedCard.cardState.toStringLower()}">
<p:commandButton value="OK #{table.rowIndex}" actionListener="#{cartItem.acceptCard}" ajax="true" update="schneider"> <p:commandButton value="OK #{table.rowIndex}" actionListener="#{userOverviewView.acceptCard()}" ajax="true" update="schneider cardinfo">
<!-- <f:ajax execute="uov-items" render="@all"></f:ajax> --> <!-- <f:ajax execute="uov-items" render="@all"></f:ajax> -->
</p:commandButton> </p:commandButton>
......
...@@ -3,9 +3,7 @@ ...@@ -3,9 +3,7 @@
"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:c="http://java.sun.com/jsp/jstl/core" 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: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:shop="http://java.sun.com/jsf/composite/cditools/shop" xmlns:reader="http://java.sun.com/jsf/composite/cditools/reader">
xmlns:reader="http://java.sun.com/jsf/composite/cditools/reader"
>
<h:body> <h:body>
<ui:composition template="#{sessionHandler.template}"> <ui:composition template="#{sessionHandler.template}">
<ui:param name="thispage" value="page.user.create" /> <ui:param name="thispage" value="page.user.create" />
...@@ -47,15 +45,23 @@ ...@@ -47,15 +45,23 @@
</h:panelGrid> </h:panelGrid>
<ui:fragment rendered="#{userView.canManage()}"> <ui:fragment rendered="#{userView.canManage()}">
<h2>Ylläpito</h2> <h2>Ylläpito</h2>
<h:form> <h:form>
<users:previewAndPrintCard /> <users:previewAndPrintCard />
<p:commandButton action="#{userView.acceptPrintedCard()}" value="accept printed card" /> <p:commandButton action="#{userView.acceptPrintedCard()}" value="accept printed card" />
</h:form> </h:form>
<h:form rendered="#{!empty userView.printedCard}">
<h:selectOneMenu value="#{userView.printedCard.cardState}">
<f:selectItems value="#{userView.printedCardStates}" />
</h:selectOneMenu>
<h:commandButton action="#{userView.setCardState()}" value="#{i18n['printedCard.setState']}" />
</h:form>
<h3>RFID</h3> <h3>RFID</h3>
<reader:barcode_rfid selectvalue="#{i18n['readerevent.associateToUser']}" selectaction="#{userView.attachBarcodeToCard()}"/> <reader:barcode_rfid selectvalue="#{i18n['readerevent.associateToUser']}" selectaction="#{userView.attachBarcodeToCard()}" />
</ui:fragment> </ui:fragment>
......
package fi.codecrew.moya.web.cdiview.user; package fi.codecrew.moya.web.cdiview.user;
import java.io.IOException;
import java.util.ArrayList; 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.inject.Inject; import javax.inject.Inject;
import javax.inject.Named; import javax.inject.Named;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import fi.codecrew.moya.beans.CardTemplateBeanLocal; import fi.codecrew.moya.beans.CardTemplateBeanLocal;
import fi.codecrew.moya.enums.CardState;
import fi.codecrew.moya.model.EventUser; import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.model.PrintedCard; import fi.codecrew.moya.model.PrintedCard;
import fi.codecrew.moya.web.cdiview.GenericCDIView; import fi.codecrew.moya.web.cdiview.GenericCDIView;
...@@ -21,28 +24,65 @@ public class UserOverviewView extends GenericCDIView { ...@@ -21,28 +24,65 @@ public class UserOverviewView extends GenericCDIView {
private static final long serialVersionUID = -9115983838324313414L; private static final long serialVersionUID = -9115983838324313414L;
@Inject @Inject
UserCartView userCartView; private UserCartView userCartView;
@EJB
private CardTemplateBeanLocal cardTemplateBean;
@EJB CardTemplateBeanLocal cardTemplateBean; private ListDataModel<UserOverviewItem> userOverviewItems = null;
private static final Logger logger = LoggerFactory.getLogger(UserOverviewView.class);
private List<UserOverviewItem> userOverviewItems = null;
public void initView() { public void initView() {
if(userOverviewItems == null) { if (userOverviewItems == null) {
userOverviewItems = new ArrayList<UserOverviewItem>(); ArrayList<UserOverviewItem> ovlist = new ArrayList<UserOverviewItem>();
for(EventUser eu : userCartView.getUsercart()) { for (EventUser eu : getUserCartView().getUsercart()) {
PrintedCard pc = cardTemplateBean.checkPrintedCard(eu); PrintedCard pc = cardTemplateBean.checkPrintedCard(eu);
UserOverviewItem uoi = new UserOverviewItem(eu, pc); UserOverviewItem uoi = new UserOverviewItem(eu, pc);
userOverviewItems.add(uoi); ovlist.add(uoi);
} }
userOverviewItems = new ListDataModel<>(ovlist);
} }
} }
public List<UserOverviewItem> getUserOverviewItems() { public ListDataModel<UserOverviewItem> getUserOverviewItems() {
return userOverviewItems; return userOverviewItems;
} }
public void setUserOverviewItems(List<UserOverviewItem> userOverviewItems) { public void rejectCard()
{
UserOverviewItem cardItem = userOverviewItems.getRowData();
logger.info("Rejecting card");
PrintedCard card = cardItem.getPrintedCard();
card.setCardState(CardState.REJECTED);
card = cardTemplateBean.saveCard(card);
cardItem.setPrintedCard(card);
// cardTemplateBean.setCardState(cardItem.getPrintedCard(), CardState.REJECTED);
}
public void acceptCard()
{
UserOverviewItem cardItem = userOverviewItems.getRowData();
PrintedCard card = cardItem.getPrintedCard();
card.setCardState(CardState.VALIDATED);
card = cardTemplateBean.saveCard(card);
cardItem.setPrintedCard(card);
logger.info("Accepted card: {}", cardItem.getPrintedCard());
}
public void setUserOverviewItems(ListDataModel<UserOverviewItem> userOverviewItems) {
this.userOverviewItems = userOverviewItems; this.userOverviewItems = userOverviewItems;
} }
public UserCartView getUserCartView() {
return userCartView;
}
public void setUserCartView(UserCartView userCartView) {
this.userCartView = userCartView;
}
} }
...@@ -101,6 +101,19 @@ public class UserView extends GenericCDIView { ...@@ -101,6 +101,19 @@ public class UserView extends GenericCDIView {
private MassPrintResult mpr = null; private MassPrintResult mpr = null;
private boolean waitForAcceptance = false; private boolean waitForAcceptance = false;
private String captureForwardUrl = ""; private String captureForwardUrl = "";
private PrintedCard printedCard;
public PrintedCard getPrintedCard() {
if (printedCard == null) {
printedCard = cardBean.checkPrintedCard(user);
}
return printedCard;
}
public void setPrintedCard(PrintedCard card)
{
printedCard = card;
}
@Produces @Produces
@LoggedIn @LoggedIn
...@@ -181,7 +194,7 @@ public class UserView extends GenericCDIView { ...@@ -181,7 +194,7 @@ public class UserView extends GenericCDIView {
try { try {
mpr = cardPrintBean.getUserCardAsPrintablePdf(getSelectedUser().getId()); mpr = cardPrintBean.getUserCardAsPrintablePdf(getSelectedUser().getId());
ByteArrayInputStream pdfstream = new ByteArrayInputStream(mpr.getPdf()); ByteArrayInputStream pdfstream = new ByteArrayInputStream(mpr.getPdf());
setStreamedFile(new DefaultStreamedContent(pdfstream, "application/pdf","user_" + getSelectedUser().getId() + "_card.pdf")); setStreamedFile(new DefaultStreamedContent(pdfstream, "application/pdf", "user_" + getSelectedUser().getId() + "_card.pdf"));
logger.info("user_" + getSelectedUser().getId() + "_card.pdf"); logger.info("user_" + getSelectedUser().getId() + "_card.pdf");
} catch (Exception e) { } catch (Exception e) {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(e.getMessage())); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(e.getMessage()));
...@@ -200,10 +213,10 @@ public class UserView extends GenericCDIView { ...@@ -200,10 +213,10 @@ public class UserView extends GenericCDIView {
public String makeCard() public String makeCard()
{ {
PrintedCard card = cardBean.checkPrintedCard(user); printedCard = cardBean.checkPrintedCard(user);
if (card != null) if (printedCard != null)
{ {
user = card.getUser(); user = printedCard.getUser();
} }
return null; return null;
...@@ -221,6 +234,7 @@ public class UserView extends GenericCDIView { ...@@ -221,6 +234,7 @@ public class UserView extends GenericCDIView {
user = userbean.getEventUser(userimage.getUser()); user = userbean.getEventUser(userimage.getUser());
super.addFaceMessage("user.imageUploaded"); super.addFaceMessage("user.imageUploaded");
} }
printedCard = null;
return null; return null;
} }
...@@ -228,6 +242,7 @@ public class UserView extends GenericCDIView { ...@@ -228,6 +242,7 @@ public class UserView extends GenericCDIView {
if (super.requirePermissions(UserPermission.CREATE_NEW)) { if (super.requirePermissions(UserPermission.CREATE_NEW)) {
user = new EventUser(new User(), eventbean.getCurrentEvent(), permbean.getCurrentUser()); user = new EventUser(new User(), eventbean.getCurrentEvent(), permbean.getCurrentUser());
super.beginConversation(); super.beginConversation();
printedCard = null;
} }
} }
...@@ -301,6 +316,11 @@ public class UserView extends GenericCDIView { ...@@ -301,6 +316,11 @@ public class UserView extends GenericCDIView {
return permbean.isCurrentUser(user); return permbean.isCurrentUser(user);
} }
public void setCardState()
{
printedCard = cardBean.saveCard(printedCard);
}
/** /**
* attach barcode or rfid to card * attach barcode or rfid to card
* *
...@@ -311,24 +331,23 @@ public class UserView extends GenericCDIView { ...@@ -311,24 +331,23 @@ public class UserView extends GenericCDIView {
PrintedCard card = readerView.getPrintedCard(); PrintedCard card = readerView.getPrintedCard();
// already attached // already attached
if(card != null) { if (card != null) {
super.addFaceMessage("usercard.alreadyassociated"); super.addFaceMessage("usercard.alreadyassociated");
return null; return null;
} }
// still there, we can get real card and update it's barcodes // still there, we can get real card and update it's barcodes
card = cardBean.checkPrintedCard(user); card = cardBean.checkPrintedCard(user);
if(readerView.getBarcode() != null && !readerView.getBarcode().isEmpty()) { if (readerView.getBarcode() != null && !readerView.getBarcode().isEmpty()) {
card.setBarcode(readerView.getBarcode()); card.setBarcode(readerView.getBarcode());
card.setCardState(CardState.VALIDATED); card.setCardState(CardState.VALIDATED);
logger.debug("barcode {} to card {} ",readerView.getBarcode(),card.getUser().getNick()); logger.debug("barcode {} to card {} ", readerView.getBarcode(), card.getUser().getNick());
cardBean.saveCard(card); cardBean.saveCard(card);
} else if(readerView.getReaderEvent() != null) { } else if (readerView.getReaderEvent() != null) {
readerbean.assocTagToCard(readerView.getReaderEvent().getValue(), readerView.getReaderEvent().getReader().getIdentification(), card); readerbean.assocTagToCard(readerView.getReaderEvent().getValue(), readerView.getReaderEvent().getReader().getIdentification(), card);
} }
return null; return null;
} }
...@@ -427,7 +446,7 @@ public class UserView extends GenericCDIView { ...@@ -427,7 +446,7 @@ public class UserView extends GenericCDIView {
} }
public StreamedContent getStreamedFile() { public StreamedContent getStreamedFile() {
if(streamedFile == null) if (streamedFile == null)
logger.info("Tried to get empty streamed file"); logger.info("Tried to get empty streamed file");
return streamedFile; return streamedFile;
} }
...@@ -443,4 +462,9 @@ public class UserView extends GenericCDIView { ...@@ -443,4 +462,9 @@ public class UserView extends GenericCDIView {
public void setCaptureForwardUrl(String captureForwardUrl) { public void setCaptureForwardUrl(String captureForwardUrl) {
this.captureForwardUrl = captureForwardUrl; this.captureForwardUrl = captureForwardUrl;
} }
public CardState[] getPrintedCardStates()
{
return CardState.values();
}
} }
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!