Commit 4a6f4d4a by Builder

something working

1 parent 395e23af
...@@ -26,6 +26,8 @@ import javax.persistence.PersistenceContext; ...@@ -26,6 +26,8 @@ import javax.persistence.PersistenceContext;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import fi.codecrew.moya.enums.apps.SpecialPermission;
import fi.codecrew.moya.enums.apps.UserPermission;
import fi.codecrew.moya.facade.EventUserFacade; import fi.codecrew.moya.facade.EventUserFacade;
import fi.codecrew.moya.facade.FeedbackFacade; import fi.codecrew.moya.facade.FeedbackFacade;
import fi.codecrew.moya.facade.GroupMembershipFacade; import fi.codecrew.moya.facade.GroupMembershipFacade;
...@@ -33,16 +35,6 @@ import fi.codecrew.moya.facade.PlaceGroupFacade; ...@@ -33,16 +35,6 @@ import fi.codecrew.moya.facade.PlaceGroupFacade;
import fi.codecrew.moya.facade.RoleFacade; import fi.codecrew.moya.facade.RoleFacade;
import fi.codecrew.moya.facade.UserFacade; import fi.codecrew.moya.facade.UserFacade;
import fi.codecrew.moya.facade.UserImageFacade; import fi.codecrew.moya.facade.UserImageFacade;
import fi.codecrew.moya.beans.AccountEventBeanLocal;
import fi.codecrew.moya.beans.CardTemplateBeanLocal;
import fi.codecrew.moya.beans.EventBeanLocal;
import fi.codecrew.moya.beans.LoggingBeanLocal;
import fi.codecrew.moya.beans.PermissionBeanLocal;
import fi.codecrew.moya.beans.SecurityLogType;
import fi.codecrew.moya.beans.UserBeanLocal;
import fi.codecrew.moya.beans.UtilBeanLocal;
import fi.codecrew.moya.enums.apps.SpecialPermission;
import fi.codecrew.moya.enums.apps.UserPermission;
import fi.codecrew.moya.model.EventUser; import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.model.Feedback; import fi.codecrew.moya.model.Feedback;
import fi.codecrew.moya.model.GroupMembership; import fi.codecrew.moya.model.GroupMembership;
...@@ -50,6 +42,7 @@ import fi.codecrew.moya.model.IUser; ...@@ -50,6 +42,7 @@ import fi.codecrew.moya.model.IUser;
import fi.codecrew.moya.model.LanEvent; import fi.codecrew.moya.model.LanEvent;
import fi.codecrew.moya.model.LanEventPropertyKey; import fi.codecrew.moya.model.LanEventPropertyKey;
import fi.codecrew.moya.model.PlaceGroup; import fi.codecrew.moya.model.PlaceGroup;
import fi.codecrew.moya.model.PrintedCard;
import fi.codecrew.moya.model.Role; import fi.codecrew.moya.model.Role;
import fi.codecrew.moya.model.User; import fi.codecrew.moya.model.User;
import fi.codecrew.moya.model.UserImage; import fi.codecrew.moya.model.UserImage;
...@@ -97,6 +90,10 @@ public class UserBean implements UserBeanLocal { ...@@ -97,6 +90,10 @@ public class UserBean implements UserBeanLocal {
@EJB @EJB
private CardTemplateBeanLocal ctbean; private CardTemplateBeanLocal ctbean;
@EJB
private BarcodeBeanLocal barcodeBean;
@EJB @EJB
private AccountEventBeanLocal acbean; private AccountEventBeanLocal acbean;
...@@ -509,8 +506,9 @@ public class UserBean implements UserBeanLocal { ...@@ -509,8 +506,9 @@ public class UserBean implements UserBeanLocal {
@Override @Override
@RolesAllowed(UserPermission.S_VIEW_ALL) @RolesAllowed(UserPermission.S_VIEW_ALL)
public EventUser getUserByBarcode(String barcode) { public EventUser getUserByBarcode(String barcode) {
EventUser user = eventUserFacade.findByBarcode(barcode); PrintedCard tmpCard = barcodeBean.getPrintedCard(barcode);
return user;
return (tmpCard == null) ? null : tmpCard.getUser();
} }
@Override @Override
...@@ -527,7 +525,22 @@ public class UserBean implements UserBeanLocal { ...@@ -527,7 +525,22 @@ public class UserBean implements UserBeanLocal {
@Override @Override
public SearchResult<EventUser> getThisEventsUsers(UserSearchQuery searchQuery) { public SearchResult<EventUser> getThisEventsUsers(UserSearchQuery searchQuery) {
return eventUserFacade.searchEventUsers(searchQuery); SearchResult<EventUser> returnUsers = eventUserFacade.searchEventUsers(searchQuery);
// search users by barcode, if found, return it first
EventUser user = getUserByBarcode(searchQuery.getSearch());
if (user != null) {
List<EventUser> newSearchList = new ArrayList<EventUser>();
newSearchList.add(user);
newSearchList.addAll(returnUsers.getResults());
returnUsers = new SearchResult<EventUser>(newSearchList, (long) newSearchList.size());
}
return returnUsers;
} }
@Override @Override
......
...@@ -79,19 +79,6 @@ public class EventUserFacade extends IntegerPkGenericFacade<EventUser> { ...@@ -79,19 +79,6 @@ public class EventUserFacade extends IntegerPkGenericFacade<EventUser> {
return getEm().createQuery(cq).getResultList(); return getEm().createQuery(cq).getResultList();
} }
public EventUser findByBarcode(String barcode) {
CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<EventUser> cq = cb.createQuery(EventUser.class);
Root<PrintedCard> root = cq.from(PrintedCard.class);
cq.select(root.get(PrintedCard_.user));
cq.where(
cb.equal(root.get(PrintedCard_.barcode), barcode),
cb.equal(root.get(PrintedCard_.event), eventBean.getCurrentEvent())
);
return getSingleNullableResult(getEm().createQuery(cq));
}
public SearchResult<EventUser> searchEventUsers(UserSearchQuery query) { public SearchResult<EventUser> searchEventUsers(UserSearchQuery query) {
ArrayList<FacadeCallback<EventUser>> callbacks = new ArrayList<FacadeCallback<EventUser>>(); ArrayList<FacadeCallback<EventUser>> callbacks = new ArrayList<FacadeCallback<EventUser>>();
callbacks.add(new OrderCallback<EventUser>(false, EventUser_.id)); callbacks.add(new OrderCallback<EventUser>(false, EventUser_.id));
......
...@@ -25,5 +25,6 @@ ...@@ -25,5 +25,6 @@
</ui:repeat> </ui:repeat>
</ui:define> </ui:define>
</ui:composition> </ui:composition>
</h:body> </h:body>
</html> </html>
\ No newline at end of file
...@@ -272,6 +272,12 @@ public class ReaderView extends GenericCDIView { ...@@ -272,6 +272,12 @@ public class ReaderView extends GenericCDIView {
} }
public String getBarcode() { public String getBarcode() {
if(readerEventList != null && readerEventList.isRowAvailable()) {
if(readerEventList.getRowData().getReader().getType() == ReaderType.BARCODE) {
return readerEventList.getRowData().getValue();
}
}
return barcode; return barcode;
} }
......
...@@ -216,11 +216,13 @@ public class UserView extends GenericCDIView { ...@@ -216,11 +216,13 @@ public class UserView extends GenericCDIView {
} }
public String sendImage() { public String sendImage() {
logger.debug("sending image");
if (getImage() == null) if (getImage() == null)
{ {
logger.debug("NO image to send!");
super.addFaceMessage("user.imageUpload.imageNotFound"); super.addFaceMessage("user.imageUpload.imageNotFound");
} else { } else {
logger.debug("uploading image");
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");
...@@ -323,7 +325,8 @@ public class UserView extends GenericCDIView { ...@@ -323,7 +325,8 @@ public class UserView extends GenericCDIView {
card.setBarcode(readerView.getBarcode()); card.setBarcode(readerView.getBarcode());
printedCardBean.save(card); printedCardBean.save(card);
} }
// todo: kato että liittäminen tukee kanssa "barcode" -lukijoita jne.
// 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);
} }
...@@ -387,6 +390,7 @@ public class UserView extends GenericCDIView { ...@@ -387,6 +390,7 @@ public class UserView extends GenericCDIView {
} }
public void setImage(UploadedFile image) { public void setImage(UploadedFile image) {
logger.debug("setting image");
this.image = image; this.image = image;
} }
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!