Commit eeb3fc26 by Tuukka Kivilahti

moar of info, viilailua, korjailua jne. Hieno fieldsetsetin asetus sessioon :)

1 parent 107fc909
......@@ -21,6 +21,7 @@ import org.slf4j.LoggerFactory;
import fi.codecrew.moya.enums.CardState;
import fi.codecrew.moya.enums.apps.UserPermission;
import fi.codecrew.moya.facade.CardCodeFacade;
import fi.codecrew.moya.facade.CardObjectDataFacade;
import fi.codecrew.moya.facade.CardTemplateFacade;
import fi.codecrew.moya.facade.CardTextDataFacade;
......@@ -28,6 +29,7 @@ import fi.codecrew.moya.facade.EventUserFacade;
import fi.codecrew.moya.facade.GroupMembershipFacade;
import fi.codecrew.moya.facade.LanEventPropertyFacade;
import fi.codecrew.moya.facade.PrintedCardFacade;
import fi.codecrew.moya.model.CardCode;
import fi.codecrew.moya.model.CardObjectData;
import fi.codecrew.moya.model.CardTemplate;
import fi.codecrew.moya.model.CardTextData;
......@@ -85,6 +87,9 @@ public class CardTemplateBean implements CardTemplateBeanLocal {
@EJB
private CardObjectDataFacade codFacade;
@EJB
private CardCodeFacade cardCodeFacade;
......@@ -354,16 +359,20 @@ public class CardTemplateBean implements CardTemplateBeanLocal {
return card;
}
@Override
public EventUser giveCard(EventUser user, boolean markUserPlacesDelivered) {
user = eventUserFacade.reload(user);
PrintedCard card = checkPrintedCard(user);
if (card.getCardState() != CardState.DELIVERED) {
card.setCardState(CardState.DELIVERED);
card = printedcardfacade.merge(card);
} else {
logger.info("Not marking card to delivered: " + card.getCardState() + " : " + card.getId());
}
......@@ -371,10 +380,22 @@ public class CardTemplateBean implements CardTemplateBeanLocal {
if (markUserPlacesDelivered) {
for (GroupMembership membership : gmFacade.findMemberships(user)) {
membership.setEnteredEvent(Calendar.getInstance());
membership = gmFacade.merge(membership);
gmFacade.merge(membership);
}
}
return eventUserFacade.reload(user);
return user;
}
@Override
public void removeCardCode(CardCode code) {
code = cardCodeFacade.merge(code);
if(code.getPrintedCard().getCardCodes().contains(code)) {
code.getPrintedCard().getCardCodes().remove(code);
cardCodeFacade.remove(code);
}
}
}
......@@ -173,10 +173,13 @@ public class ReaderBean implements ReaderBeanLocal {
@Override
public ReaderEvent assocCodeToCard(ReaderEvent readerEvent, PrintedCard card) {
card = cardfacade.reload(card);
CardCode code = new CardCode(card, readerEvent.getReader().getType(), readerEvent.getValue(), eventbean.getCurrentEvent());
code = cardCodeFacade.create(code);
card = cardfacade.reload(card);
card.getCardCodes().add(code);
card = cardfacade.merge(card);
return readerEvent;
}
......
......@@ -6,12 +6,12 @@ import java.util.List;
import javax.ejb.Local;
import fi.codecrew.moya.enums.CardState;
import fi.codecrew.moya.model.CardCode;
import fi.codecrew.moya.model.CardObjectData;
import fi.codecrew.moya.model.CardTemplate;
import fi.codecrew.moya.model.CardTextData;
import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.model.PrintedCard;
import fi.codecrew.moya.model.ReaderEvent;
import fi.codecrew.moya.utilities.jsf.EntityFinderBean;
@Local
......@@ -62,5 +62,6 @@ public interface CardTemplateBeanLocal extends EntityFinderBean<CardTemplate> {
PrintedCard setCardState(Integer cardId, CardState printed) throws Exception;
EventUser giveCard(EventUser user, boolean markUserPlacesDelivered);
void removeCardCode(CardCode code);
}
......@@ -31,10 +31,6 @@
<ui:define name="content">
<infoview:userselector />
<br />
<br />
<!-- reader:backendReader selectvalue="#{i18n['barcodeReader.readBarcode']}" selectaction="#{infoView.selectUser}" / -->
</ui:define>
......
......@@ -108,10 +108,15 @@ bortalApplication.user.WRITE_ROLES = Modify roles
card.massprint.title = Print all
cardCode.code = Koodi
cardCode.type = Tyyppi
cardTemplate.emptyCardTemplate = ----
code.inputfield = Sy\u00F6t\u00E4 viivakoodi
delete = Poista
error.contact = If this happens again, contact Info with the following code:
error.error = You have encountered an error.
......@@ -160,15 +165,23 @@ global.save = Save
httpsession.creationTime = Created
incomingView.attach = Liit\u00E4
incomingView.attachDialogTitle = Liit\u00E4 koodi k\u00E4ytt\u00E4j\u00E4\u00E4n
incomingView.cancel = Peruuta
incomingflow.alreadyShowingUser.message = Piipattu k\u00E4ytt\u00E4j\u00E4 on jo n\u00E4kyviss\u00E4
incomingflow.alreadyShowingUser.title = Valmiiksi valittu
incomingflow.cardCodes = Kortin koodit
incomingflow.codeattached.message = Piipattu koodi liitetty n\u00E4ytett\u00E4v\u00E4\u00E4n korttiin
incomingflow.codeattached.title = Koodi liittetty
incomingflow.giveplace = Merkitse annetuksi
incomingflow.groupmemberships = Paikkakoodit
incomingflow.invalidbarcode.message = Viivakoodilla ei l\u00F6ytynyt mit\u00E4\u00E4n
incomingflow.invalidbarcode.title = virheellinen koodi
incomingflow.printedCard = Kortti
incomingflow.usereditor = K\u00E4ytt\u00E4j\u00E4
incomingflow.usereditor.info = Tiedot
incomingflow.usereditor.picture = Kuvanotto
lanEventPrivateProperty.defaultValue = Default value
lanEventPrivateProperty.editProperty = Edit property
......
......@@ -192,6 +192,9 @@ bortalApplication.user.WRITE_ROLES = Modify roles
card.massprint.title = Print all
cardCode.code = Code
cardCode.type = Type
cardObjectData.create = Add object data
cardObjectData.edit = Edit
cardObjectData.save = Save
......@@ -280,6 +283,8 @@ compofile.uploadTime = Upload time
content.showContentEditLinks = Show content edit links
delete = Delete
discount.active = Active
discount.amountMax = Max amount
discount.amountMin = Min amount
......@@ -462,13 +467,19 @@ imagefile.file = Imagefile
importuser.file = File
importuser.template = Template
incomingView.attach = Attach
incomingView.attachDialogTitle = Attach code to user
incomingView.cancel = Cancel
incomingflow.alreadyShowingUser.message = We are already showing selected user
incomingflow.alreadyShowingUser.title = Already selected
incomingflow.barcode = Barcode
incomingflow.cardCodes = Barcodes in card
incomingflow.changereader = Change Reader
incomingflow.codeattached.message = Code attached to current user's card
incomingflow.codeattached.title = Code attached
incomingflow.giveplace = Mark given
incomingflow.groupmemberships = Group memberships
incomingflow.invalidbarcode.message = Nothing found with barcode, you can now add it to the user
incomingflow.invalidbarcode.title = Invalid code
incomingflow.multisearch = Multisearch
......@@ -477,6 +488,8 @@ incomingflow.search = Search
incomingflow.ungiveplace = Mark not given
incomingflow.userdetails = User details
incomingflow.usereditor = User
incomingflow.usereditor.info = User
incomingflow.usereditor.picture = Picturetake
infoview.back = Back
infoview.computerplace = Computer places
......
......@@ -193,6 +193,9 @@ bortalApplication.user.WRITE_ROLES = Saa muokata rooleja
card.massprint.title = Tulosta kaikki
cardCode.code = Koodi
cardCode.type = Tyyppi
cardObjectData.create = Liit\u00E4 kuvia
cardObjectData.edit = Muokkaa
cardObjectData.save = Tallenna
......@@ -281,6 +284,8 @@ compofile.uploadTime = Tallennusaika
content.showContentEditLinks = N\u00E4yt\u00E4 sis\u00E4ll\u00F6nmuokkauslinkit
delete = Poista
discount.active = Aktiivinen
discount.amountMax = Enimm\u00E4ism\u00E4\u00E4r\u00E4
discount.amountMin = V\u00E4himm\u00E4ism\u00E4\u00E4r\u00E4
......@@ -470,13 +475,19 @@ imagefile.file = Kuvatiedosto
importuser.file = Tiedosto
importuser.template = Malli
incomingView.attach = Liit\u00E4
incomingView.attachDialogTitle = Liit\u00E4 koodi k\u00E4ytt\u00E4j\u00E4\u00E4n
incomingView.cancel = Peruuta
incomingflow.alreadyShowingUser.message = Piipattu k\u00E4ytt\u00E4j\u00E4 on jo n\u00E4kyviss\u00E4
incomingflow.alreadyShowingUser.title = Valmiiksi valittu
incomingflow.barcode = Viivakoodi
incomingflow.cardCodes = Korttiin liitetyt koodit
incomingflow.changereader = Vaihda lukijaa
incomingflow.codeattached.message = Piipattu koodi liitetty aktiiviseen k\u00E4ytt\u00E4j\u00E4\u00E4n
incomingflow.codeattached.title = Koodi liitetty
incomingflow.giveplace = Merkitse annetuksi
incomingflow.groupmemberships = Konepaikat sek\u00E4 liput
incomingflow.invalidbarcode.message = Piipatulla koodilla ei l\u00F6ytynyt mit\u00E4\u00E4n, voit lis\u00E4t\u00E4 koodin k\u00E4ytt\u00E4j\u00E4\u00E4n
incomingflow.invalidbarcode.title = Virheellinen koodi
incomingflow.multisearch = Monihaku
......@@ -485,6 +496,8 @@ incomingflow.search = Etsi
incomingflow.ungiveplace = Ei olekkaan annettu
incomingflow.userdetails = K\u00E4ytt\u00E4j\u00E4n tiedot
incomingflow.usereditor = K\u00E4ytt\u00E4j\u00E4
incomingflow.usereditor.info = K\u00E4vij\u00E4
incomingflow.usereditor.picture = Kuvanotto
index.title = Etusivu
......
......@@ -122,9 +122,9 @@ public class UserView extends GenericCDIView {
printedCard = card;
}
/**
* This is the user that is currently logged in.
* This is the user that is currently logged in.
*
* @return
*/
@Produces
......@@ -148,15 +148,16 @@ public class UserView extends GenericCDIView {
ByteArrayInputStream data = new ByteArrayInputStream(captureEvent.getData());
UserImage img = userbean.uploadImage(user, "image/png", data, "userimage.png", "Uploaded image");
user = userbean.getEventUser(img.getUser(), false);
// super.navihandler.forward("/admin/adduser/capturesuccess");
// super.navihandler.forward("/admin/adduser/capturesuccess");
if (getCaptureForwardUrl() != null && !getCaptureForwardUrl().isEmpty())
super.navihandler.forward(getCaptureForwardUrl());
}
/**
* This is the user we are currently editing, if that is not found we user current user
* This is the user we are currently editing, if that is not found we user
* current user
*
* @return
*/
@Produces
......@@ -170,8 +171,7 @@ public class UserView extends GenericCDIView {
}
canSave = getCurrentUser().equals(user) || permbean.hasPermission(UserPermission.MODIFY);
}
return user;
}
......@@ -376,8 +376,10 @@ public class UserView extends GenericCDIView {
return null;
}
PrintedCard card = null;
// still there, we can get real card and update it's barcodes
PrintedCard card = cardBean.checkPrintedCard(user);
card = cardBean.checkPrintedCard(user);
readerbean.assocCodeToCard(event, card);
......@@ -391,7 +393,7 @@ public class UserView extends GenericCDIView {
public String createUserAdduserView() {
userbean.createNewUser(user, getPassword());
//authView.executeAdduserAutoLogin(user, getPassword());
// authView.executeAdduserAutoLogin(user, getPassword());
return "/admin/adduser/update";
}
......@@ -413,9 +415,10 @@ public class UserView extends GenericCDIView {
this.user = user;
}
/**
* This is user what is currently on "user" -variable, you should almost newer use this.
* Use getCurrentUser() -instead.
/**
* This is user what is currently on "user" -variable, you should almost
* newer use this. Use getCurrentUser() -instead.
*
* @return
*/
public EventUser getUser() {
......
......@@ -20,6 +20,7 @@ import fi.codecrew.moya.beans.PlaceGroupBeanLocal;
import fi.codecrew.moya.beans.UserBeanLocal;
import fi.codecrew.moya.enums.CardState;
import fi.codecrew.moya.enums.apps.UserPermission;
import fi.codecrew.moya.model.CardCode;
import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.model.GroupMembership;
import fi.codecrew.moya.model.PrintedCard;
......@@ -36,8 +37,7 @@ public class IncomingView extends GenericCDIView {
private static final long serialVersionUID = 802344850073689859L;
private static final Logger logger = LoggerFactory
.getLogger(IncomingView.class);
private static final Logger logger = LoggerFactory.getLogger(IncomingView.class);
/*
* @Inject
*
......@@ -73,9 +73,13 @@ public class IncomingView extends GenericCDIView {
@EJB
private PlaceGroupBeanLocal placegroupBean;
@EJB
private CardTemplateBeanLocal cardTemplateBean;
// private String searchBarcode = "";
private ListDataModel<GroupMembership> memberlist = null;
private ListDataModel<CardCode> cardCodes;
public void initView() {
super.beginConversation();
......@@ -179,16 +183,23 @@ public class IncomingView extends GenericCDIView {
return;
}
cardBean.giveCard(userview.getSelectedUser(), autoGivePlaces);
userview.attachCodeToCard(eventToAttach);
eventToAttach = null;
showAttachDialog = false;
userview.setUser(null); // refresh user
userview.setPrintedCard(null); // refresh card
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(I18n.get("incomingflow.codeattached.title"), I18n.get("incomingflow.codeattached.message")));
}
public boolean isShowAttachDialog() {
return showAttachDialog;
......@@ -198,23 +209,27 @@ public class IncomingView extends GenericCDIView {
showAttachDialog = false;
}
/*
* public String selectUser() {
*
* ReaderEvent event = readerView.getReaderEvent();
*
* if(event == null) return null;
*
* EventUser user = event.getUser(); memberlist = null;
*
* if (user == null) { logger.debug("got no user from barcode"); return
* null; }
*
* logger.debug("got user from barcode");
*
* userview.setUser(user); //userview.prepareCardDownload(); return
* "incoming"; }
*/
public String selectUser() {
ReaderEvent event = readerView.getReaderEvent();
if (event == null)
return null;
EventUser user = event.getUser();
memberlist = null;
if (user == null) {
logger.debug("got no user from barcode");
return null;
}
logger.debug("got user from barcode");
userview.setUser(user);
userview.prepareCardDownload();
return "incoming";
}
public CardState getPrintedStatus() {
PrintedCard card = cardBean.checkPrintedCard(userview.getSelectedUser());
......@@ -237,6 +252,22 @@ public class IncomingView extends GenericCDIView {
return memberlist;
}
public ListDataModel<CardCode> getCardCodes() {
cardCodes = new ListDataModel<CardCode>(userview.getPrintedCard().getCardCodes());
return cardCodes;
}
public void deleteSelectedCode() {
if (cardCodes != null && cardCodes.isRowAvailable()) {
CardCode code = cardCodes.getRowData();
cardTemplateBean.removeCardCode(code);
// flush that fucker
userview.setPrintedCard(null);
}
}
public String givePlace() {
GroupMembership row = memberlist.getRowData();
if (row != null) {
......
package fi.codecrew.moya.web.helper;
import java.util.HashMap;
import javax.enterprise.context.SessionScoped;
import javax.inject.Named;
import org.primefaces.event.ToggleEvent;
import org.primefaces.model.Visibility;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import fi.codecrew.moya.web.cdiview.GenericCDIView;
@Named
@SessionScoped
public class fieldsetView extends GenericCDIView {
private static final Logger logger = LoggerFactory.getLogger(fieldsetView.class);
private static final long serialVersionUID = 5L;
private HashMap<String, Boolean> collapseStates = new HashMap<String, Boolean>();
public boolean isCollapsed(String id) {
if(collapseStates.containsKey(id) && collapseStates.get(id).booleanValue()) {
return true;
}
return false;
}
public void handleToggle(ToggleEvent event) {
logger.info("setting collapsed for id "+event.getComponent().getId());
logger.info("collapsed value is "+event.getVisibility());
collapseStates.put(event.getComponent().getId(), Boolean.valueOf(event.getVisibility() == Visibility.HIDDEN));
}
}
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!