Commit 4ef5e555 by Tuomas Riihimäki

Add placeslotlist ot users placegroups

1 parent b29b2bde
<!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" <html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html" xmlns:h="http://java.sun.com/jsf/html"
xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:users="http://java.sun.com/jsf/composite/cditools/user" xmlns:users="http://java.sun.com/jsf/composite/cditools/user"
xmlns:f="http://java.sun.com/jsf/core" xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui"> xmlns:p="http://primefaces.org/ui">
<h:body> <h:body>
...@@ -25,8 +25,10 @@ ...@@ -25,8 +25,10 @@
</ui:define> </ui:define>
<ui:define name="content"> <ui:define name="content">
<h:outputText rendered="#{empty placeGroupView.groupMemberships}" value="#{i18n['placegroupview.noMemberships']}" /> <h:outputText rendered="#{empty placeGroupView.groupMemberships}"
<h:form rendered="#{!empty placeGroupView.groupMemberships}" id="placelistform"> value="#{i18n['placegroupview.noMemberships']}" />
<h:form rendered="#{!empty placeGroupView.groupMemberships}"
id="placelistform">
<h:dataTable value="#{placeGroupView.groupMemberships}" var="member"> <h:dataTable value="#{placeGroupView.groupMemberships}" var="member">
<h:column> <h:column>
...@@ -39,27 +41,34 @@ ...@@ -39,27 +41,34 @@
<f:facet name="header"> <f:facet name="header">
<h:outputText value="#{i18n['placegroupview.token']}" /> <h:outputText value="#{i18n['placegroupview.token']}" />
</f:facet> </f:facet>
<h:outputText rendered="#{empty member.user}" value="#{member.inviteToken}" /> <h:outputText rendered="#{empty member.user}"
<h:outputText rendered="#{!empty member.user}" value="#{member.user.firstnames} #{member.user.lastname} (#{member.user.nick})" /> value="#{member.inviteToken}" />
<h:outputText rendered="#{!empty member.user}"
value="#{member.user.firstnames} #{member.user.lastname} (#{member.user.nick})" />
</h:column> </h:column>
<h:column> <h:column>
<f:facet name="header"> <f:facet name="header">
<h:outputText value="#{i18n['placegroupview.groupCreator']}" /> <h:outputText value="#{i18n['placegroupview.groupCreator']}" />
</f:facet> </f:facet>
<h:outputText value="#{member.placeGroup.creator.firstnames} #{member.placeGroup.creator.lastname} (#{member.placeGroup.creator.nick})" /> <h:outputText
value="#{member.placeGroup.creator.firstnames} #{member.placeGroup.creator.lastname} (#{member.placeGroup.creator.nick})" />
</h:column> </h:column>
<h:column> <h:column>
<h:commandButton rendered="#{placeGroupView.canModifyCurrent and placeGroupView.currentMemberUserNotNull}" action="#{placeGroupView.releasePlace()}" <h:commandButton
rendered="#{placeGroupView.canModifyCurrent and placeGroupView.currentMemberUserNotNull}"
action="#{placeGroupView.releasePlace()}"
value="#{i18n['placegroupview.releasePlace']}" /> value="#{i18n['placegroupview.releasePlace']}" />
</h:column> </h:column>
</h:dataTable> </h:dataTable>
</h:form> </h:form>
<p> <p>
<input type="button" onclick="location.replace('#{request.contextPath}/PlaceGroupPdf?eventuserId=#{placeGroupView.user.id}');" value="#{i18n['placegroup.printPdf']}" /> <input type="button"
onclick="location.replace('#{request.contextPath}/PlaceGroupPdf?eventuserId=#{placeGroupView.user.id}');"
value="#{i18n['placegroup.printPdf']}" />
</p> </p>
<h2>#{i18n['placetoken.pageHeader']}</h2> <h2>#{i18n['placetoken.pageHeader']}</h2>
...@@ -67,12 +76,35 @@ ...@@ -67,12 +76,35 @@
<h:form id="placeTokenForm"> <h:form id="placeTokenForm">
<h:outputLabel value="#{i18n['placetoken.token']}:" /> <h:outputLabel value="#{i18n['placetoken.token']}:" />
<h:inputText value="#{tokenView.token}" /> <h:inputText value="#{tokenView.token}" />
<h:commandButton id="commitbtn" action="#{tokenView.saveToken()}" value="#{i18n['placetoken.commit']}" /> <h:commandButton id="commitbtn" action="#{tokenView.saveToken()}"
value="#{i18n['placetoken.commit']}" />
</h:form> </h:form>
<h2>Place slots</h2> <h2>Place slots</h2>
<p:dataTable var="slot" value="#{placeGroupView.placeslots}> <p:dataTable var="slot" value="#{placeGroupView.placeslots}">
<p:column headerText="#{i18n['placeslot.state']}">
<h:outputText
value="#{slot.bill.expired ? i18n['placeslot.state.expired'] : ( slot.bill.paid ? i18n['placeslot.state.paid'] : i18n['placeslot.state.notPaid'])}" />
</p:column>
<p:column headerText="#{i18n['placeslot.product']}">
<h:outputText value="#{slot.product.name}" />
</p:column>
<p:column headerText="#{i18n['placeslot.place']}">
<h:outputText rendered="#{!empty slot.place}"
value="#{slot.place.name}" />
</p:column>
<p:column headerText="#{i18n['placeslot.used']}">
<h:outputText value="#{slot.used}">
<f:convertDateTime timeZone="#{sessionHandler.timezone}"
pattern="#{sessionHandler.shortDatetimeFormat}" />
</h:outputText>
</p:column>
<p:column headerText="#{i18n['placeslot.bill']}">
<h:link outcome="/bill/showBill"
value="#{i18n['bill.billNumber']}: #{slot.bill.id}">
<f:param name="billid" value="#{slot.bill.id}" />
</h:link>
</p:column>
</p:dataTable> </p:dataTable>
......
...@@ -30,6 +30,7 @@ import javax.inject.Inject; ...@@ -30,6 +30,7 @@ import javax.inject.Inject;
import javax.inject.Named; import javax.inject.Named;
import fi.codecrew.moya.beans.EventBeanLocal; import fi.codecrew.moya.beans.EventBeanLocal;
import fi.codecrew.moya.beans.PlaceBeanLocal;
import fi.codecrew.moya.beans.PlaceGroupBeanLocal; import fi.codecrew.moya.beans.PlaceGroupBeanLocal;
import fi.codecrew.moya.beans.UserBeanLocal; import fi.codecrew.moya.beans.UserBeanLocal;
import fi.codecrew.moya.enums.apps.MapPermission; import fi.codecrew.moya.enums.apps.MapPermission;
...@@ -58,10 +59,10 @@ public class PlacegroupView extends GenericCDIView { ...@@ -58,10 +59,10 @@ public class PlacegroupView extends GenericCDIView {
private transient PlaceGroupBeanLocal placegroupBean; private transient PlaceGroupBeanLocal placegroupBean;
@EJB @EJB
UserBeanLocal userBean; private UserBeanLocal userBean;
@EJB @EJB
EventBeanLocal eventBean; private EventBeanLocal eventBean;
@Inject @Inject
private InviteView inviteView; private InviteView inviteView;
...@@ -75,6 +76,8 @@ public class PlacegroupView extends GenericCDIView { ...@@ -75,6 +76,8 @@ public class PlacegroupView extends GenericCDIView {
private transient ListDataModel<GroupMembership> memberlist; private transient ListDataModel<GroupMembership> memberlist;
private Map<Integer, String> inviteMails = new HashMap<>(); private Map<Integer, String> inviteMails = new HashMap<>();
@EJB
private PlaceBeanLocal placeslotBean;
public String editGroup() { public String editGroup() {
setGroup(placegroups.getRowData()); setGroup(placegroups.getRowData());
...@@ -83,7 +86,6 @@ public class PlacegroupView extends GenericCDIView { ...@@ -83,7 +86,6 @@ public class PlacegroupView extends GenericCDIView {
return "/place/editGroup"; return "/place/editGroup";
} }
public boolean isUseEticket() { public boolean isUseEticket() {
return eventBean.getPropertyBoolean(LanEventPropertyKey.USE_ETICKET); return eventBean.getPropertyBoolean(LanEventPropertyKey.USE_ETICKET);
} }
...@@ -99,12 +101,12 @@ public class PlacegroupView extends GenericCDIView { ...@@ -99,12 +101,12 @@ public class PlacegroupView extends GenericCDIView {
return false; return false;
// if you are sitting on place, or can modify other users, then you can possibly modify this place // if you are sitting on place, or can modify other users, then you can possibly modify this place
if(permbean.isCurrentUser(row.getUser()) || permbean.hasPermission(MapPermission.MANAGE_OTHERS) ) if (permbean.isCurrentUser(row.getUser()) || permbean.hasPermission(MapPermission.MANAGE_OTHERS))
return true; return true;
// or you are the creator, and no-one is sitting on the place // or you are the creator, and no-one is sitting on the place
if(row.getUser() == null && permbean.isCurrentUser(row.getPlaceGroup().getCreator())) if (row.getUser() == null && permbean.isCurrentUser(row.getPlaceGroup().getCreator()))
return true; return true;
return false; return false;
...@@ -112,13 +114,13 @@ public class PlacegroupView extends GenericCDIView { ...@@ -112,13 +114,13 @@ public class PlacegroupView extends GenericCDIView {
public boolean isShowCancelInviteCurrent() { public boolean isShowCancelInviteCurrent() {
GroupMembership row = memberlist.getRowData(); GroupMembership row = memberlist.getRowData();
if(row == null) if (row == null)
return false; return false;
if(!isCanModifyCurrent()) if (!isCanModifyCurrent())
return false; return false;
if((row.getInviteEmail() != null && !row.getInviteEmail().trim().isEmpty())) if ((row.getInviteEmail() != null && !row.getInviteEmail().trim().isEmpty()))
return true; return true;
return false; return false;
...@@ -126,65 +128,65 @@ public class PlacegroupView extends GenericCDIView { ...@@ -126,65 +128,65 @@ public class PlacegroupView extends GenericCDIView {
public boolean isCanSendInviteCurrent() { public boolean isCanSendInviteCurrent() {
GroupMembership row = memberlist.getRowData(); GroupMembership row = memberlist.getRowData();
if(row == null) if (row == null)
return false; return false;
if(!isCanModifyCurrent()) if (!isCanModifyCurrent())
return false; return false;
if(isCurrentReleaseAllowed()) if (isCurrentReleaseAllowed())
return false; return false;
if(row.getInviteEmail() == null || row.getInviteEmail().trim().isEmpty()) if (row.getInviteEmail() == null || row.getInviteEmail().trim().isEmpty())
return true; return true;
return false; return false;
} }
public boolean isCurrentMemberUserNotNull() { public boolean isCurrentMemberUserNotNull() {
GroupMembership row = memberlist.getRowData(); GroupMembership row = memberlist.getRowData();
if (row != null && row.getUser() != null) if (row != null && row.getUser() != null)
return true; return true;
return false; return false;
} }
public List<PlaceSlot> getPlaceslots()
{
return placeslotBean.getPlaceslots(user);
}
public boolean isCurrentReleaseAllowed() { public boolean isCurrentReleaseAllowed() {
//placeGroupView.canModifyCurrent and placeGroupView.currentMemberUserNotNull and //placeGroupView.canModifyCurrent and placeGroupView.currentMemberUserNotNull and
GroupMembership row = memberlist.getRowData(); GroupMembership row = memberlist.getRowData();
if(row == null || row.getUser() == null) if (row == null || row.getUser() == null)
return false; return false;
if(!isCanModifyCurrent()) if (!isCanModifyCurrent())
return false; return false;
if(row.getEnteredEvent() != null && !permbean.hasPermission(MapPermission.MANAGE_OTHERS)) if (row.getEnteredEvent() != null && !permbean.hasPermission(MapPermission.MANAGE_OTHERS))
return false; return false;
// change for assembly // change for assembly
// TODO: kun lantrekit on ohi niin kato tää logiikka niin että koko "vapauta" -napin konseptista luovutaan ja pelkästään maililla paikansiirto. // TODO: kun lantrekit on ohi niin kato tää logiikka niin että koko "vapauta" -napin konseptista luovutaan ja pelkästään maililla paikansiirto.
if(isPrintOnlyOwn()) if (isPrintOnlyOwn())
return false; return false;
// And ofcourse you can free it, if you are superadmin // And ofcourse you can free it, if you are superadmin
if(permbean.hasPermission(MapPermission.MANAGE_OTHERS)) if (permbean.hasPermission(MapPermission.MANAGE_OTHERS))
return true; return true;
// if it's your own place, and you are sitting on it, you can free it // if it's your own place, and you are sitting on it, you can free it
if(permbean.isCurrentUser(row.getPlaceGroup().getCreator()) && permbean.isCurrentUser(row.getUser())) if (permbean.isCurrentUser(row.getPlaceGroup().getCreator()) && permbean.isCurrentUser(row.getUser()))
return true; return true;
return false; return false;
} }
public ListDataModel<GroupMembership> getGroupMemberships() { public ListDataModel<GroupMembership> getGroupMemberships() {
memberlist = new ListDataModel<GroupMembership>(placegroupBean.getMembershipsAndCreations(user)); memberlist = new ListDataModel<GroupMembership>(placegroupBean.getMembershipsAndCreations(user));
return memberlist; return memberlist;
...@@ -194,9 +196,9 @@ public class PlacegroupView extends GenericCDIView { ...@@ -194,9 +196,9 @@ public class PlacegroupView extends GenericCDIView {
GroupMembership row = memberlist.getRowData(); GroupMembership row = memberlist.getRowData();
if (row != null) { if (row != null) {
if (permbean.isCurrentUser(row.getPlaceGroup().getCreator()) || permbean.hasPermission(MapPermission.MANAGE_OTHERS)) { if (permbean.isCurrentUser(row.getPlaceGroup().getCreator()) || permbean.hasPermission(MapPermission.MANAGE_OTHERS)) {
placegroupBean.releaseAndGenerateToken(row); placegroupBean.releaseAndGenerateToken(row);
this.addFaceMessage("placegroupview.placeReleased", row.getPlaceReservation().getName()); this.addFaceMessage("placegroupview.placeReleased", row.getPlaceReservation().getName());
} else { } else {
this.addFaceMessage("placegroupview.placeReleaseFailed", row.getPlaceReservation().getName()); this.addFaceMessage("placegroupview.placeReleaseFailed", row.getPlaceReservation().getName());
...@@ -261,7 +263,7 @@ public class PlacegroupView extends GenericCDIView { ...@@ -261,7 +263,7 @@ public class PlacegroupView extends GenericCDIView {
public void sendInvite() { public void sendInvite() {
GroupMembership row = memberlist.getRowData(); GroupMembership row = memberlist.getRowData();
if(!isCanModifyCurrent()) { if (!isCanModifyCurrent()) {
this.addFaceMessage("invite.permissionDenied"); this.addFaceMessage("invite.permissionDenied");
} }
...@@ -285,18 +287,17 @@ public class PlacegroupView extends GenericCDIView { ...@@ -285,18 +287,17 @@ public class PlacegroupView extends GenericCDIView {
GroupMembership row = memberlist.getRowData(); GroupMembership row = memberlist.getRowData();
if(row != null) { if (row != null) {
return inviteMails.get(row.getId()); return inviteMails.get(row.getId());
} }
return null; return null;
} }
public void setInviteMail(String inviteMail) { public void setInviteMail(String inviteMail) {
GroupMembership row = memberlist.getRowData(); GroupMembership row = memberlist.getRowData();
if(row != null) { if (row != null) {
inviteMails.put(row.getId(), inviteMail); inviteMails.put(row.getId(), inviteMail);
} }
} }
......
...@@ -950,6 +950,16 @@ placegroupview.reservationName = Place ...@@ -950,6 +950,16 @@ placegroupview.reservationName = Place
placegroupview.reservationProduct = Ticket placegroupview.reservationProduct = Ticket
placegroupview.token = Placecode / user placegroupview.token = Placecode / user
placeslot.bill = Bill
placeslot.place = Place
placeslot.product = Slot product
placeslot.showBill = Show bill
placeslot.state = State
placeslot.state.notPaid = Not paid
placeslot.state.paid = Paid
placeslot.stateExpired = Expired
placeslot.used = Used
placetoken.commit = Associate token placetoken.commit = Associate token
placetoken.pageHeader = Add token placetoken.pageHeader = Add token
placetoken.placelist = My places placetoken.placelist = My places
......
...@@ -933,6 +933,16 @@ placegroupview.reservationName = Paikka ...@@ -933,6 +933,16 @@ placegroupview.reservationName = Paikka
placegroupview.reservationProduct = Lippu placegroupview.reservationProduct = Lippu
placegroupview.token = Paikkakoodi / k\u00E4ytt\u00E4j\u00E4 placegroupview.token = Paikkakoodi / k\u00E4ytt\u00E4j\u00E4
placeslot.bill = Lasku
placeslot.place = Paikka
placeslot.product = Tuote
placeslot.showBill = N\u00E4yt\u00E4 lasku
placeslot.state = Tila
placeslot.state.notPaid = Ei maksettu
placeslot.state.paid = Maksettu
placeslot.stateExpired = Vanhentunut
placeslot.used = K\u00E4ytetty
placetoken.commit = Liit\u00E4 placetoken.commit = Liit\u00E4
placetoken.pageHeader = Lis\u00E4\u00E4 konepaikkakoodi placetoken.pageHeader = Lis\u00E4\u00E4 konepaikkakoodi
placetoken.placelist = Omat paikat placetoken.placelist = Omat paikat
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!