Commit 998d70a9 by Tuomas Riihimäki

Added printing rest

1 parent f9a2e134
...@@ -35,6 +35,7 @@ import com.pdfjet.TextLine; ...@@ -35,6 +35,7 @@ import com.pdfjet.TextLine;
import fi.codecrew.moya.facade.CardTemplateFacade; import fi.codecrew.moya.facade.CardTemplateFacade;
import fi.codecrew.moya.facade.EventUserFacade; import fi.codecrew.moya.facade.EventUserFacade;
import fi.codecrew.moya.facade.PrintedCardFacade;
import fi.codecrew.moya.facade.UserFacade; import fi.codecrew.moya.facade.UserFacade;
import fi.codecrew.moya.model.CardTemplate; import fi.codecrew.moya.model.CardTemplate;
import fi.codecrew.moya.model.EventUser; import fi.codecrew.moya.model.EventUser;
...@@ -61,6 +62,8 @@ public class CardPrintBean implements CardPrintBeanLocal { ...@@ -61,6 +62,8 @@ public class CardPrintBean implements CardPrintBeanLocal {
private UserFacade userfacade; private UserFacade userfacade;
@EJB @EJB
private BarcodeBean barcodeBean; private BarcodeBean barcodeBean;
@EJB
private PrintedCardFacade printedCardFacade;
private static final Logger logger = LoggerFactory.getLogger(CardPrintBean.class); private static final Logger logger = LoggerFactory.getLogger(CardPrintBean.class);
/** /**
...@@ -225,10 +228,12 @@ public class CardPrintBean implements CardPrintBeanLocal { ...@@ -225,10 +228,12 @@ public class CardPrintBean implements CardPrintBeanLocal {
} }
@Override @Override
public byte[] constructPNG(EventUser user) throws Exception { public byte[] constructPNG(PrintedCard card) throws Exception {
PrintedCard card = cardTemplateBean.checkPrintedCard(user); card = printedCardFacade.reload(card);
logger.info("Printing card {}", card); // logger.info("Printing card tpl {} with template image {}",
// card.getTemplate(), card.getTemplate().getImage());
EventUser user = card.getUser();
BufferedImage face = ImageIO.read(new ByteArrayInputStream(user.getUser().getCurrentImage().getImageData())); BufferedImage face = ImageIO.read(new ByteArrayInputStream(user.getUser().getCurrentImage().getImageData()));
......
...@@ -17,6 +17,7 @@ import javax.imageio.ImageIO; ...@@ -17,6 +17,7 @@ import javax.imageio.ImageIO;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import fi.codecrew.moya.enums.CardState;
import fi.codecrew.moya.enums.apps.UserPermission; import fi.codecrew.moya.enums.apps.UserPermission;
import fi.codecrew.moya.facade.CardTemplateFacade; import fi.codecrew.moya.facade.CardTemplateFacade;
import fi.codecrew.moya.facade.EventUserFacade; import fi.codecrew.moya.facade.EventUserFacade;
...@@ -250,4 +251,24 @@ public class CardTemplateBean implements CardTemplateBeanLocal { ...@@ -250,4 +251,24 @@ public class CardTemplateBean implements CardTemplateBeanLocal {
public List<CardTemplate> findAll() { public List<CardTemplate> findAll() {
return cdFacade.findAll(); return cdFacade.findAll();
} }
// TODO: Laita takaisin kun rest-kutsut authaa. -- tuomari
// @RolesAllowed(UserPermission.S_WRITE_ROLES)
@Override
public PrintedCard saveCard(PrintedCard card) {
return printedcardfacade.merge(card);
}
@Override
// TODO: Laita takaisin kun rest-kutsut authaa. -- tuomari
// @RolesAllowed(UserPermission.S_WRITE_ROLES)
public PrintedCard findCard(Integer id) {
return printedcardfacade.find(id);
}
@Override
public List<PrintedCard> getCardsByState(CardState... state) {
return printedcardfacade.findByState(state);
}
} }
package fi.codecrew.moya.beans;
import javax.annotation.security.DeclareRoles;
import javax.annotation.security.RolesAllowed;
import javax.ejb.EJB;
import javax.ejb.LocalBean;
import javax.ejb.Stateless;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import fi.codecrew.moya.enums.apps.UserPermission;
import fi.codecrew.moya.facade.PrintedCardFacade;
import fi.codecrew.moya.model.PrintedCard;
/**
* Session Bean implementation class CardTemplateBean
*/
@Stateless
@LocalBean
@DeclareRoles({ UserPermission.S_WRITE_ROLES })
public class PrintedCardBean implements PrintedCardBeanLocal {
private static final Logger logger = LoggerFactory.getLogger(PrintedCardBean.class);
/**
* Default constructor.
*/
public PrintedCardBean() {
// TODO Auto-generated constructor stub
}
@EJB
private PrintedCardFacade printedCardFacade;
@RolesAllowed(UserPermission.S_WRITE_ROLES)
@Override
public PrintedCard save(PrintedCard card) {
return printedCardFacade.merge(card);
}
@Override
@RolesAllowed(UserPermission.S_WRITE_ROLES)
public PrintedCard find(Integer id) {
return printedCardFacade.find(id);
}
}
package fi.codecrew.moya.facade; package fi.codecrew.moya.facade;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
import javax.ejb.EJB; import javax.ejb.EJB;
...@@ -8,13 +10,15 @@ import javax.ejb.Stateless; ...@@ -8,13 +10,15 @@ import javax.ejb.Stateless;
import javax.persistence.TypedQuery; import javax.persistence.TypedQuery;
import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root; import javax.persistence.criteria.Root;
import fi.codecrew.moya.model.PrintedCard_;
import fi.codecrew.moya.beans.EventBeanLocal; import fi.codecrew.moya.beans.EventBeanLocal;
import fi.codecrew.moya.enums.CardState;
import fi.codecrew.moya.model.EventUser; import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.model.LanEvent; import fi.codecrew.moya.model.LanEvent;
import fi.codecrew.moya.model.PrintedCard; import fi.codecrew.moya.model.PrintedCard;
import fi.codecrew.moya.model.PrintedCard_;
@Stateless @Stateless
@LocalBean @LocalBean
...@@ -39,7 +43,7 @@ public class PrintedCardFacade extends IntegerPkGenericFacade<PrintedCard> { ...@@ -39,7 +43,7 @@ public class PrintedCardFacade extends IntegerPkGenericFacade<PrintedCard> {
return getSingleNullableResult(getEm().createQuery(cq)); return getSingleNullableResult(getEm().createQuery(cq));
} }
public PrintedCard findByBarcode(String barcode) { public PrintedCard findByBarcode(String barcode) {
CriteriaBuilder cb = getEm().getCriteriaBuilder(); CriteriaBuilder cb = getEm().getCriteriaBuilder();
...@@ -89,4 +93,22 @@ public class PrintedCardFacade extends IntegerPkGenericFacade<PrintedCard> { ...@@ -89,4 +93,22 @@ public class PrintedCardFacade extends IntegerPkGenericFacade<PrintedCard> {
return getSingleNullableResult(q); return getSingleNullableResult(q);
} }
public List<PrintedCard> findByState(CardState... state) {
CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<PrintedCard> cq = cb.createQuery(PrintedCard.class);
Root<PrintedCard> root = cq.from(PrintedCard.class);
List<Predicate> preds = new ArrayList<Predicate>();
preds.add(cb.equal(root.get(PrintedCard_.event), eventbean.getCurrentEvent()));
if (state.length > 0) {
preds.add(root.get(PrintedCard_.cardState).in(Arrays.asList(state)));
}
cq.where(preds.toArray(new Predicate[preds.size()]));
return getEm().createQuery(cq).getResultList();
}
} }
...@@ -4,7 +4,7 @@ import java.util.List; ...@@ -4,7 +4,7 @@ import java.util.List;
import javax.ejb.Local; import javax.ejb.Local;
import fi.codecrew.moya.model.EventUser; import fi.codecrew.moya.model.PrintedCard;
import fi.codecrew.moya.util.MassPrintResult; import fi.codecrew.moya.util.MassPrintResult;
@Local @Local
...@@ -15,5 +15,5 @@ public interface CardPrintBeanLocal { ...@@ -15,5 +15,5 @@ public interface CardPrintBeanLocal {
public void acceptMassPrintResult(MassPrintResult mpr); public void acceptMassPrintResult(MassPrintResult mpr);
byte[] constructPNG(EventUser user) throws Exception; byte[] constructPNG(PrintedCard card) throws Exception;
} }
...@@ -5,6 +5,7 @@ import java.util.List; ...@@ -5,6 +5,7 @@ import java.util.List;
import javax.ejb.Local; import javax.ejb.Local;
import fi.codecrew.moya.enums.CardState;
import fi.codecrew.moya.model.CardTemplate; import fi.codecrew.moya.model.CardTemplate;
import fi.codecrew.moya.model.EventUser; import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.model.PrintedCard; import fi.codecrew.moya.model.PrintedCard;
...@@ -37,4 +38,10 @@ public interface CardTemplateBeanLocal extends EntityFinderBean<CardTemplate> { ...@@ -37,4 +38,10 @@ public interface CardTemplateBeanLocal extends EntityFinderBean<CardTemplate> {
CardTemplate getUsersCardtype(EventUser user); CardTemplate getUsersCardtype(EventUser user);
PrintedCard saveCard(PrintedCard card);
PrintedCard findCard(Integer id);
List<PrintedCard> getCardsByState(CardState... pendingPrint);
} }
...@@ -35,4 +35,5 @@ public interface EventBeanLocal { ...@@ -35,4 +35,5 @@ public interface EventBeanLocal {
List<LanEventPrivateProperty> getPrivateProperties(); List<LanEventPrivateProperty> getPrivateProperties();
LanEventPrivateProperty saveOrCreatePrivateProperty(LanEventPrivateProperty privateProperty); LanEventPrivateProperty saveOrCreatePrivateProperty(LanEventPrivateProperty privateProperty);
} }
package fi.codecrew.moya.beans;
import javax.ejb.Local;
import fi.codecrew.moya.model.CardTemplate;
import fi.codecrew.moya.model.PrintedCard;
import fi.codecrew.moya.utilities.jsf.EntityFinderBean;
@Local
public interface PrintedCardBeanLocal extends EntityFinderBean<PrintedCard> {
PrintedCard save(PrintedCard card);
}
package fi.codecrew.moya.enums; package fi.codecrew.moya.enums;
public enum CardState { public enum CardState {
// Missing user image, template, template image
// or other printing error.
DATA_MISSING,
PENDING_VALIDATION, PENDING_VALIDATION,
REJECTED, REJECTED,
VALIDATED, VALIDATED,
PENDING_PRINT, PENDING_PRINT,
PRINTING_IN_PROGRESS, PRINTING_IN_PROGRESS,
PRINTED; PRINTED;
public String toStringLower() { public String toStringLower() {
return this.toString().toLowerCase(); return this.toString().toLowerCase();
} }
......
...@@ -4,4 +4,9 @@ ...@@ -4,4 +4,9 @@
<attribute name="provider-id" value="jsf-no-op-library-provider"/> <attribute name="provider-id" value="jsf-no-op-library-provider"/>
</node> </node>
</facet> </facet>
<facet id="jst.jaxrs">
<node name="libprov">
<attribute name="provider-id" value="com.sun.enterprise.jst.server.sunappsrv.jaxrsLibraryproviderID"/>
</node>
</facet>
</root> </root>
...@@ -9,4 +9,5 @@ ...@@ -9,4 +9,5 @@
<installed facet="wst.jsdt.web" version="1.0"/> <installed facet="wst.jsdt.web" version="1.0"/>
<installed facet="java" version="1.7"/> <installed facet="java" version="1.7"/>
<installed facet="jst.jsf" version="2.1"/> <installed facet="jst.jsf" version="2.1"/>
<installed facet="jst.jaxrs" version="1.1"/>
</faceted-project> </faceted-project>
...@@ -71,6 +71,11 @@ ...@@ -71,6 +71,11 @@
<servlet-name>PlaceMap</servlet-name> <servlet-name>PlaceMap</servlet-name>
<servlet-class>fi.codecrew.moya.servlet.PlaceMap</servlet-class> <servlet-class>fi.codecrew.moya.servlet.PlaceMap</servlet-class>
</servlet> </servlet>
<servlet>
<description>JAX-RS Tools Generated - Do not modify</description>
<servlet-name>JAX-RS Servlet</servlet-name>
<servlet-class>com.sun.jersey.spi.container.servlet.ServletContainer</servlet-class>
</servlet>
<servlet-mapping> <servlet-mapping>
<servlet-name>Faces Servlet</servlet-name> <servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern> <url-pattern>*.jsf</url-pattern>
...@@ -141,4 +146,8 @@ ...@@ -141,4 +146,8 @@
<servlet-name>PlaceGroupPdf</servlet-name> <servlet-name>PlaceGroupPdf</servlet-name>
<url-pattern>/PlaceGroupPdf</url-pattern> <url-pattern>/PlaceGroupPdf</url-pattern>
</servlet-mapping> </servlet-mapping>
<servlet-mapping>
<servlet-name>JAX-RS Servlet</servlet-name>
<url-pattern>/rest/*</url-pattern>
</servlet-mapping>
</web-app> </web-app>
\ No newline at end of file
package fi.codecrew.moya.rest;
import java.util.List;
import javax.ejb.EJB;
import javax.enterprise.context.RequestScoped;
import javax.ws.rs.Consumes;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.PathParam;
import javax.ws.rs.Produces;
import javax.ws.rs.QueryParam;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.Response;
import javax.ws.rs.core.Response.ResponseBuilder;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import fi.codecrew.moya.beans.CardPrintBeanLocal;
import fi.codecrew.moya.beans.CardTemplateBeanLocal;
import fi.codecrew.moya.beans.UserBeanLocal;
import fi.codecrew.moya.enums.CardState;
import fi.codecrew.moya.model.PrintedCard;
import fi.codecrew.moya.rest.pojo.PrintedCardRestPojo;
@RequestScoped
@Path("/card")
@Consumes({ MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML })
@Produces({ MediaType.APPLICATION_JSON })
public class PrinterRestView {
@EJB
private CardTemplateBeanLocal cardbean;
@EJB
private CardPrintBeanLocal printbean;
@EJB
private UserBeanLocal userbean;
private static final Logger logger = LoggerFactory.getLogger(PrinterRestView.class);
@GET
@Path("/Printed/{id}/")
public PrintedCardRestPojo setCardPrinted(@PathParam("id") int cardId, @QueryParam("key") String hash) throws Exception {
PrintedCard card = cardbean.findCard(cardId);
card.setCardState(CardState.PRINTED);
card = cardbean.saveCard(card);
return new PrintedCardRestPojo(card);
}
@GET
@Path("/Get/{id}/")
public PrintedCardRestPojo getCard(@PathParam("id") int cardId, @QueryParam("key") String hash) throws Exception {
PrintedCard card = cardbean.findCard(cardId);
return new PrintedCardRestPojo(card);
}
@GET
@Path("/GetImage/{id}/")
public Response getUserCard(@PathParam("id") int cardId, @QueryParam("key") String hash) throws Exception {
ResponseBuilder ret = null;
PrintedCard card = null;
try {
card = cardbean.findCard(cardId);
ret = Response.ok(printbean.constructPNG(card), "image/png");
} catch (Throwable t) {
card.setCardState(CardState.DATA_MISSING);
cardbean.saveCard(card);
logger.warn("Error creating card for user cardId " + cardId, t);
ret = Response.status(Response.Status.NOT_ACCEPTABLE);
}
return ret.build();
}
@GET
@Path("/ListUnprinted")
public List<PrintedCardRestPojo> getUserCard(@QueryParam("key") String key) throws Exception {
List<PrintedCardRestPojo> ret = PrintedCardRestPojo.parseCards(cardbean.getCardsByState(CardState.PENDING_PRINT));
logger.info("Returning card pojos: {} for key {}", ret, key);
return ret;
}
@GET
@Path("/ListAll")
public List<PrintedCardRestPojo> getAllCards(@QueryParam("key") String key) throws Exception {
List<PrintedCardRestPojo> ret = PrintedCardRestPojo.parseCards(cardbean.getCardsByState());
logger.info("Returning card pojos: {} for key {}", ret, key);
return ret;
}
}
package fi.codecrew.moya.rest.pojo;
import java.util.ArrayList;
import java.util.List;
import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
import javax.xml.bind.annotation.XmlTransient;
import fi.codecrew.moya.model.PrintedCard;
@XmlRootElement(name = "cards")
public class PrintedCardRestPojo {
public PrintedCardRestPojo() {
card = null;
}
public PrintedCardRestPojo(PrintedCard card)
{
this.card = card;
}
@XmlTransient
private final PrintedCard card;
@XmlElement(name = "cardId")
public Integer getId()
{
return card.getId();
}
@XmlElement(name = "cardTemplate")
public String getTemplate()
{
return card.getTemplate().getName();
}
@XmlElement(name = "username")
public String getUsername()
{
return card.getUser().getNick();
}
@XmlElement(name = "wholeName")
public String getWholeName()
{
return card.getUser().getWholeName();
}
@XmlElement(name = "state")
public String getState() {
return card.getCardState().toString();
}
public static List<PrintedCardRestPojo> parseCards(List<PrintedCard> cards)
{
ArrayList<PrintedCardRestPojo> ret = new ArrayList<PrintedCardRestPojo>();
for (PrintedCard c : cards) {
ret.add(new PrintedCardRestPojo(c));
}
return ret;
}
}
...@@ -70,7 +70,8 @@ public class FileDownloadServlet extends GenericImageServlet { ...@@ -70,7 +70,8 @@ public class FileDownloadServlet extends GenericImageServlet {
if (urlparts.isEmpty()) { if (urlparts.isEmpty()) {
ret.setResponse(HttpServletResponse.SC_NOT_FOUND); ret.setResponse(HttpServletResponse.SC_NOT_FOUND);
} else if (urlparts.get(0).equals("logo")) { }
else if (urlparts.get(0).equals("logo")) {
LanEventProperty logo = orgbean.getProperty(LanEventPropertyKey.EVENT_LOGO); LanEventProperty logo = orgbean.getProperty(LanEventPropertyKey.EVENT_LOGO);
if (logo != null) { if (logo != null) {
ret.setData(logo.getByteValue()); ret.setData(logo.getByteValue());
......
...@@ -8,9 +8,11 @@ import org.slf4j.Logger; ...@@ -8,9 +8,11 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import fi.codecrew.moya.beans.CardPrintBeanLocal; import fi.codecrew.moya.beans.CardPrintBeanLocal;
import fi.codecrew.moya.beans.CardTemplateBeanLocal;
import fi.codecrew.moya.beans.PermissionBeanLocal; import fi.codecrew.moya.beans.PermissionBeanLocal;
import fi.codecrew.moya.beans.UserBeanLocal; import fi.codecrew.moya.beans.UserBeanLocal;
import fi.codecrew.moya.model.EventUser; import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.model.PrintedCard;
/** /**
* Servlet implementation class UploadServlet * Servlet implementation class UploadServlet
...@@ -37,6 +39,8 @@ public class UserPngImageServlet extends GenericImageServlet { ...@@ -37,6 +39,8 @@ public class UserPngImageServlet extends GenericImageServlet {
@EJB @EJB
private CardPrintBeanLocal cardprint; private CardPrintBeanLocal cardprint;
private CardTemplateBeanLocal cardbean;
private static final Logger logger = LoggerFactory.getLogger(UserPngImageServlet.class); private static final Logger logger = LoggerFactory.getLogger(UserPngImageServlet.class);
// /dydata/(userimage|...)/stuff... // /dydata/(userimage|...)/stuff...
...@@ -45,14 +49,12 @@ public class UserPngImageServlet extends GenericImageServlet { ...@@ -45,14 +49,12 @@ public class UserPngImageServlet extends GenericImageServlet {
protected ImageMover getImagedata() { protected ImageMover getImagedata() {
EventUser usr = permbean.getCurrentUser(); EventUser usr = permbean.getCurrentUser();
logger.info("Trying to print imagedata for user {}", usr); logger.info("Trying to print imagedata for user {}", usr);
ImageMover ret = new ImageMover(); ImageMover ret = new ImageMover();
if (usr != null) { if (usr != null) {
PrintedCard card = cardbean.checkPrintedCard(usr);
try { try {
byte[] img = cardprint.constructPNG(card);
byte[] img = cardprint.constructPNG(usr);
if (img.length > 0) if (img.length > 0)
{ {
ret.setData(img); ret.setData(img);
......
...@@ -24,7 +24,6 @@ import org.slf4j.LoggerFactory; ...@@ -24,7 +24,6 @@ import org.slf4j.LoggerFactory;
import fi.codecrew.moya.beans.CardPrintBeanLocal; import fi.codecrew.moya.beans.CardPrintBeanLocal;
import fi.codecrew.moya.beans.CardTemplateBeanLocal; import fi.codecrew.moya.beans.CardTemplateBeanLocal;
import fi.codecrew.moya.beans.EventBeanLocal; import fi.codecrew.moya.beans.EventBeanLocal;
import fi.codecrew.moya.beans.PrintedCardBeanLocal;
import fi.codecrew.moya.beans.ReaderBeanLocal; import fi.codecrew.moya.beans.ReaderBeanLocal;
import fi.codecrew.moya.beans.RoleBeanLocal; import fi.codecrew.moya.beans.RoleBeanLocal;
import fi.codecrew.moya.beans.UserBeanLocal; import fi.codecrew.moya.beans.UserBeanLocal;
...@@ -55,21 +54,20 @@ public class UserView extends GenericCDIView { ...@@ -55,21 +54,20 @@ public class UserView extends GenericCDIView {
@EJB @EJB
private transient UserBeanLocal userbean; private transient UserBeanLocal userbean;
@EJB @EJB
private transient ReaderBeanLocal readerbean; private transient ReaderBeanLocal readerbean;
private Integer userid; private Integer userid;
private transient UploadedFile image; private transient UploadedFile image;
private CroppedImage croppedImage; private CroppedImage croppedImage;
private EventUser user; private EventUser user;
@Inject @Inject
private transient Conversation conversation; private transient Conversation conversation;
@Inject @Inject
private transient ReaderView readerView; private transient ReaderView readerView;
...@@ -88,10 +86,7 @@ public class UserView extends GenericCDIView { ...@@ -88,10 +86,7 @@ public class UserView extends GenericCDIView {
@EJB @EJB
private transient CardTemplateBeanLocal cardBean; private transient CardTemplateBeanLocal cardBean;
@EJB
private transient PrintedCardBeanLocal printedCardBean;
private List<Role> usersRoles; private List<Role> usersRoles;
@EJB @EJB
private transient RoleBeanLocal rolebean; private transient RoleBeanLocal rolebean;
...@@ -105,7 +100,7 @@ public class UserView extends GenericCDIView { ...@@ -105,7 +100,7 @@ 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 = "";
@Produces @Produces
@LoggedIn @LoggedIn
public EventUser getCurrentUser() { public EventUser getCurrentUser() {
...@@ -117,7 +112,7 @@ public class UserView extends GenericCDIView { ...@@ -117,7 +112,7 @@ public class UserView extends GenericCDIView {
byte[] data = captureEvent.getData(); byte[] data = captureEvent.getData();
UserImage img = userbean.uploadImage(user, "image/png", data, "userimage.png", "Uploaded image"); UserImage img = userbean.uploadImage(user, "image/png", data, "userimage.png", "Uploaded image");
user = userbean.getEventUser(img.getUser()); user = userbean.getEventUser(img.getUser());
// super.navihandler.forward("/admin/adduser/capturesuccess"); // super.navihandler.forward("/admin/adduser/capturesuccess");
if (getCaptureForwardUrl().equals("")) if (getCaptureForwardUrl().equals(""))
super.navihandler.forward(getCaptureForwardUrl()); super.navihandler.forward(getCaptureForwardUrl());
} }
...@@ -184,7 +179,7 @@ public class UserView extends GenericCDIView { ...@@ -184,7 +179,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()));
...@@ -213,13 +208,13 @@ public class UserView extends GenericCDIView { ...@@ -213,13 +208,13 @@ public class UserView extends GenericCDIView {
} }
public String sendImage() { public String sendImage() {
if (getImage() == null) if (getImage() == null)
{ {
super.addFaceMessage("user.imageUpload.imageNotFound"); super.addFaceMessage("user.imageUpload.imageNotFound");
} else { } else {
UserImage userimage = userbean.uploadImage(user, getImage().getContentType(), getImage().getContents(), getImage().getFileName(), ""); UserImage userimage = userbean.uploadImage(user, getImage().getContentType(), getImage().getContents(), getImage().getFileName(), "");
user = userbean.getEventUser(userimage.getUser()); user = userbean.getEventUser(userimage.getUser());
super.addFaceMessage("user.imageUploaded"); super.addFaceMessage("user.imageUploaded");
...@@ -233,7 +228,7 @@ public class UserView extends GenericCDIView { ...@@ -233,7 +228,7 @@ public class UserView extends GenericCDIView {
super.beginConversation(); super.beginConversation();
} }
} }
public void initView() { public void initView() {
/* /*
...@@ -303,30 +298,31 @@ public class UserView extends GenericCDIView { ...@@ -303,30 +298,31 @@ public class UserView extends GenericCDIView {
{ {
return permbean.isCurrentUser(user); return permbean.isCurrentUser(user);
} }
/** /**
* attach barcode or rfid to card * attach barcode or rfid to card
*
* @return * @return
*/ */
public String attachBarcodeToCard() { public String attachBarcodeToCard() {
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());
printedCardBean.save(card); cardBean.saveCard(card);
} }
// todo: kato että liittäminen tukee kanssa "barcode" -lukijoita jne. // todo: kato että liittäminen tukee kanssa "barcode" -lukijoita jne.
// kato kanssa korttihaku, että se tuklee niitä, kuitenkin tarvitaa ne // kato kanssa korttihaku, että se tuklee niitä, kuitenkin tarvitaa ne
if(readerView.getReaderEvent() != null) { 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;
...@@ -336,12 +332,13 @@ public class UserView extends GenericCDIView { ...@@ -336,12 +332,13 @@ public class UserView extends GenericCDIView {
userbean.createNewUser(user, getPassword()); userbean.createNewUser(user, getPassword());
return "/user/created"; return "/user/created";
} }
public String createUserAdduserView() { public String createUserAdduserView() {
userbean.createNewUser(user, getPassword()); userbean.createNewUser(user, getPassword());
authView.executeAdduserAutoLogin(user, getPassword()); authView.executeAdduserAutoLogin(user, getPassword());
return "/admin/adduser/update"; return "/admin/adduser/update";
} }
public String createAdminUser() { public String createAdminUser() {
userbean.createNewUser(user, getPassword()); userbean.createNewUser(user, getPassword());
canSave = permbean.hasPermission(UserPermission.MODIFY); canSave = permbean.hasPermission(UserPermission.MODIFY);
...@@ -426,7 +423,7 @@ public class UserView extends GenericCDIView { ...@@ -426,7 +423,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;
} }
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!