Commit 4a46eba9 by Tuukka Kivilahti

sisääntulostuffia

1 parent f33fd8a4
package fi.codecrew.moya.beans; package fi.codecrew.moya.beans;
import java.io.OutputStream; import java.io.OutputStream;
import java.util.Calendar;
import java.util.List; import java.util.List;
import javax.annotation.security.DeclareRoles; import javax.annotation.security.DeclareRoles;
...@@ -287,4 +288,17 @@ public class PlaceGroupBean implements PlaceGroupBeanLocal { ...@@ -287,4 +288,17 @@ public class PlaceGroupBean implements PlaceGroupBeanLocal {
public List<PlaceGroup> getPlacegroups(EventUser user) { public List<PlaceGroup> getPlacegroups(EventUser user) {
return pgfacade.find(user); return pgfacade.find(user);
} }
@Override
public void markGrouMembershipEntered(GroupMembership membership) {
membership.setEnteredEvent(Calendar.getInstance());
membership = gmemfacade.merge(membership);
}
@Override
public void markGrouMembershipNotEntered(GroupMembership membership) {
membership.setEnteredEvent(null);
membership = gmemfacade.merge(membership);
}
} }
...@@ -22,6 +22,8 @@ public interface PlaceGroupBeanLocal { ...@@ -22,6 +22,8 @@ public interface PlaceGroupBeanLocal {
List<GroupMembership> getMembershipsAndCreations(EventUser user); List<GroupMembership> getMembershipsAndCreations(EventUser user);
List<GroupMembership> getMemberships(EventUser user); List<GroupMembership> getMemberships(EventUser user);
List<PlaceGroup> getPlacegroups(EventUser user); List<PlaceGroup> getPlacegroups(EventUser user);
...@@ -30,4 +32,8 @@ public interface PlaceGroupBeanLocal { ...@@ -30,4 +32,8 @@ public interface PlaceGroupBeanLocal {
boolean associateToToken(EventUser user, String token); boolean associateToToken(EventUser user, String token);
void markGrouMembershipEntered(GroupMembership row);
void markGrouMembershipNotEntered(GroupMembership row);
} }
...@@ -40,6 +40,47 @@ ...@@ -40,6 +40,47 @@
</h:panelGrid> </h:panelGrid>
<h:outputText rendered="#{empty incomingView.groupMemberships}" value="#{i18n['placegroupview.noMemberships']}" />
<h:form rendered="#{!empty incomingViewgroupMemberships}" id="placelistform">
<p:dataTable value="#{incomingView.groupMemberships}" var="member">
<p:column>
<f:facet name="header">
<h:outputText value="#{i18n['placegroupview.reservationName']}" />
</f:facet>
<h:outputText value="#{member.placeReservation.name}" />
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="#{i18n['placegroupview.reservationProduct']}" />
</f:facet>
<h:outputText value="#{member.placeReservation.product.name}" />
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="#{i18n['placegroupview.token']}" />
</f:facet>
<h:outputText rendered="#{empty member.user}" value="#{member.inviteToken}" />
<h:outputText rendered="#{!empty member.user}" value="#{member.user.firstnames} #{member.user.lastname} (#{member.user.nick})" />
</p:column>
<p:column>
<f:facet name="header">
<h:outputText value="#{i18n['placegroupview.groupCreator']}" />
</f:facet>
<h:outputText value="#{member.placeGroup.creator.firstnames} #{member.placeGroup.creator.lastname} (#{member.placeGroup.creator.nick})" />
</p:column>
<p:column>
<h:commandButton rendered="#{empty member.enteredEvent}" action="#{incomingView.givePlace}" value="#{i18n['incomingflow.giveplace']}" />
<h:commandButton rendered="#{!empty member.enteredEvent}" action="#{incomingView.ungivePlace}" value="#{i18n['incomingflow.ungiveplace']}" />
</p:column>
</p:dataTable>
</h:form>
<h1>#{i18n['incomingflow.search']}</h1> <h1>#{i18n['incomingflow.search']}</h1>
<h:form> <h:form>
<h:panelGrid columns="2"> <h:panelGrid columns="2">
......
...@@ -157,6 +157,8 @@ global.save = Save ...@@ -157,6 +157,8 @@ global.save = Save
httpsession.creationTime = Created httpsession.creationTime = Created
incomingflow.giveplace = Merkitse annetuksi
lanEventPrivateProperty.defaultValue = Default value lanEventPrivateProperty.defaultValue = Default value
lanEventPrivateProperty.editProperty = Edit property lanEventPrivateProperty.editProperty = Edit property
lanEventPrivateProperty.save = Save lanEventPrivateProperty.save = Save
......
...@@ -409,8 +409,10 @@ importuser.file = File ...@@ -409,8 +409,10 @@ importuser.file = File
importuser.template = Template importuser.template = Template
incomingflow.barcode = Barcode incomingflow.barcode = Barcode
incomingflow.giveplace = Mark given
incomingflow.multisearch = Multisearch incomingflow.multisearch = Multisearch
incomingflow.search = Search incomingflow.search = Search
incomingflow.ungiveplace = Mark not given
incomingflow.userdetails = User details incomingflow.userdetails = User details
infoview.back = Back infoview.back = Back
......
...@@ -418,8 +418,10 @@ importuser.file = Tiedosto ...@@ -418,8 +418,10 @@ importuser.file = Tiedosto
importuser.template = Malli importuser.template = Malli
incomingflow.barcode = Viivakoodi incomingflow.barcode = Viivakoodi
incomingflow.giveplace = Merkitse annetuksi
incomingflow.multisearch = Monihaku incomingflow.multisearch = Monihaku
incomingflow.search = Etsi incomingflow.search = Etsi
incomingflow.ungiveplace = Ei olekkaan annettu
incomingflow.userdetails = K\u00E4ytt\u00E4j\u00E4n tiedot incomingflow.userdetails = K\u00E4ytt\u00E4j\u00E4n tiedot
index.title = Etusivu index.title = Etusivu
......
package fi.codecrew.moya.web.flow; package fi.codecrew.moya.web.flow;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Calendar;
import java.util.List; 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;
...@@ -16,11 +18,14 @@ import fi.codecrew.moya.beans.BarcodeBeanLocal; ...@@ -16,11 +18,14 @@ import fi.codecrew.moya.beans.BarcodeBeanLocal;
import fi.codecrew.moya.beans.CardTemplateBeanLocal; import fi.codecrew.moya.beans.CardTemplateBeanLocal;
import fi.codecrew.moya.beans.PermissionBeanLocal; import fi.codecrew.moya.beans.PermissionBeanLocal;
import fi.codecrew.moya.beans.PlaceBeanLocal; import fi.codecrew.moya.beans.PlaceBeanLocal;
import fi.codecrew.moya.beans.PlaceGroupBeanLocal;
import fi.codecrew.moya.beans.UserBeanLocal; import fi.codecrew.moya.beans.UserBeanLocal;
import fi.codecrew.moya.enums.CardState; import fi.codecrew.moya.enums.CardState;
import fi.codecrew.moya.enums.apps.MapPermission;
import fi.codecrew.moya.enums.apps.UserPermission; import fi.codecrew.moya.enums.apps.UserPermission;
import fi.codecrew.moya.model.EventUser; import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.model.GroupMembership; import fi.codecrew.moya.model.GroupMembership;
import fi.codecrew.moya.model.PlaceGroup;
import fi.codecrew.moya.model.PrintedCard; import fi.codecrew.moya.model.PrintedCard;
import fi.codecrew.moya.util.UserSearchQuery; import fi.codecrew.moya.util.UserSearchQuery;
import fi.codecrew.moya.utilities.SearchResult; import fi.codecrew.moya.utilities.SearchResult;
...@@ -65,10 +70,16 @@ public class IncomingView extends GenericCDIView { ...@@ -65,10 +70,16 @@ public class IncomingView extends GenericCDIView {
@EJB @EJB
private UserBeanLocal userbean; private UserBeanLocal userbean;
@EJB
private transient PlaceGroupBeanLocal placegroupBean;
private String searchBarcode = ""; private String searchBarcode = "";
private EventUser searchMulti = null; private EventUser searchMulti = null;
ListDataModel<GroupMembership> memberlist = null;
public void initView() { public void initView() {
super.beginConversation(); super.beginConversation();
} }
...@@ -116,6 +127,7 @@ public class IncomingView extends GenericCDIView { ...@@ -116,6 +127,7 @@ public class IncomingView extends GenericCDIView {
private boolean initialized = false; private boolean initialized = false;
public void initPrintCardView() { public void initPrintCardView() {
memberlist = null;
if (!permbean.hasPermission(UserPermission.MODIFY) || namecontainer.getReaderId() == null || namecontainer.getReaderId() <= 0) { if (!permbean.hasPermission(UserPermission.MODIFY) || namecontainer.getReaderId() == null || namecontainer.getReaderId() <= 0) {
super.navihandler.redirectNavigation("index.jsf"); super.navihandler.redirectNavigation("index.jsf");
} }
...@@ -179,6 +191,7 @@ public class IncomingView extends GenericCDIView { ...@@ -179,6 +191,7 @@ public class IncomingView extends GenericCDIView {
public String selectUser() { public String selectUser() {
EventUser user = readerView.getUser(); EventUser user = readerView.getUser();
memberlist = null;
if (user == null) { if (user == null) {
logger.debug("got no user from barcode"); logger.debug("got no user from barcode");
...@@ -216,4 +229,36 @@ public class IncomingView extends GenericCDIView { ...@@ -216,4 +229,36 @@ public class IncomingView extends GenericCDIView {
this.searchMulti = searchMulti; this.searchMulti = searchMulti;
} }
public ListDataModel<GroupMembership> getGroupMemberships() {
memberlist = new ListDataModel<GroupMembership>(
placegroupBean.getMembershipsAndCreations(user));
return memberlist;
}
public String givePlace() {
GroupMembership row = memberlist.getRowData();
if (row != null) {
placegroupBean.markGrouMembershipEntered(row);
memberlist = null;
}
return null;
}
public String ungivePlace() {
GroupMembership row = memberlist.getRowData();
if (row != null) {
placegroupBean.markGrouMembershipNotEntered(row);
memberlist = null;
}
return null;
}
} }
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!