Commit 4ef5e555 by Tuomas Riihimäki

Add placeslotlist ot users placegroups

1 parent b29b2bde
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
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:p="http://primefaces.org/ui">
<h:body>
......@@ -25,8 +25,10 @@
</ui:define>
<ui:define name="content">
<h:outputText rendered="#{empty placeGroupView.groupMemberships}" value="#{i18n['placegroupview.noMemberships']}" />
<h:form rendered="#{!empty placeGroupView.groupMemberships}" id="placelistform">
<h:outputText rendered="#{empty placeGroupView.groupMemberships}"
value="#{i18n['placegroupview.noMemberships']}" />
<h:form rendered="#{!empty placeGroupView.groupMemberships}"
id="placelistform">
<h:dataTable value="#{placeGroupView.groupMemberships}" var="member">
<h:column>
......@@ -39,27 +41,34 @@
<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})" />
<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})" />
</h:column>
<h: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})" />
<h:outputText
value="#{member.placeGroup.creator.firstnames} #{member.placeGroup.creator.lastname} (#{member.placeGroup.creator.nick})" />
</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']}" />
</h:column>
</h:dataTable>
</h:form>
<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>
<h2>#{i18n['placetoken.pageHeader']}</h2>
......@@ -67,12 +76,35 @@
<h:form id="placeTokenForm">
<h:outputLabel value="#{i18n['placetoken.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>
<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>
......
......@@ -30,6 +30,7 @@ import javax.inject.Inject;
import javax.inject.Named;
import fi.codecrew.moya.beans.EventBeanLocal;
import fi.codecrew.moya.beans.PlaceBeanLocal;
import fi.codecrew.moya.beans.PlaceGroupBeanLocal;
import fi.codecrew.moya.beans.UserBeanLocal;
import fi.codecrew.moya.enums.apps.MapPermission;
......@@ -58,10 +59,10 @@ public class PlacegroupView extends GenericCDIView {
private transient PlaceGroupBeanLocal placegroupBean;
@EJB
UserBeanLocal userBean;
private UserBeanLocal userBean;
@EJB
EventBeanLocal eventBean;
private EventBeanLocal eventBean;
@Inject
private InviteView inviteView;
......@@ -75,6 +76,8 @@ public class PlacegroupView extends GenericCDIView {
private transient ListDataModel<GroupMembership> memberlist;
private Map<Integer, String> inviteMails = new HashMap<>();
@EJB
private PlaceBeanLocal placeslotBean;
public String editGroup() {
setGroup(placegroups.getRowData());
......@@ -83,7 +86,6 @@ public class PlacegroupView extends GenericCDIView {
return "/place/editGroup";
}
public boolean isUseEticket() {
return eventBean.getPropertyBoolean(LanEventPropertyKey.USE_ETICKET);
}
......@@ -99,12 +101,12 @@ public class PlacegroupView extends GenericCDIView {
return false;
// 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;
// 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 false;
......@@ -112,13 +114,13 @@ public class PlacegroupView extends GenericCDIView {
public boolean isShowCancelInviteCurrent() {
GroupMembership row = memberlist.getRowData();
if(row == null)
if (row == null)
return false;
if(!isCanModifyCurrent())
if (!isCanModifyCurrent())
return false;
if((row.getInviteEmail() != null && !row.getInviteEmail().trim().isEmpty()))
if ((row.getInviteEmail() != null && !row.getInviteEmail().trim().isEmpty()))
return true;
return false;
......@@ -126,65 +128,65 @@ public class PlacegroupView extends GenericCDIView {
public boolean isCanSendInviteCurrent() {
GroupMembership row = memberlist.getRowData();
if(row == null)
if (row == null)
return false;
if(!isCanModifyCurrent())
if (!isCanModifyCurrent())
return false;
if(isCurrentReleaseAllowed())
if (isCurrentReleaseAllowed())
return false;
if(row.getInviteEmail() == null || row.getInviteEmail().trim().isEmpty())
if (row.getInviteEmail() == null || row.getInviteEmail().trim().isEmpty())
return true;
return false;
}
public boolean isCurrentMemberUserNotNull() {
GroupMembership row = memberlist.getRowData();
if (row != null && row.getUser() != null)
return true;
return false;
}
public List<PlaceSlot> getPlaceslots()
{
return placeslotBean.getPlaceslots(user);
}
public boolean isCurrentReleaseAllowed() {
//placeGroupView.canModifyCurrent and placeGroupView.currentMemberUserNotNull and
GroupMembership row = memberlist.getRowData();
if(row == null || row.getUser() == null)
if (row == null || row.getUser() == null)
return false;
if(!isCanModifyCurrent())
if (!isCanModifyCurrent())
return false;
if(row.getEnteredEvent() != null && !permbean.hasPermission(MapPermission.MANAGE_OTHERS))
if (row.getEnteredEvent() != null && !permbean.hasPermission(MapPermission.MANAGE_OTHERS))
return false;
// 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.
if(isPrintOnlyOwn())
if (isPrintOnlyOwn())
return false;
// And ofcourse you can free it, if you are superadmin
if(permbean.hasPermission(MapPermission.MANAGE_OTHERS))
if (permbean.hasPermission(MapPermission.MANAGE_OTHERS))
return true;
// 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 false;
}
public ListDataModel<GroupMembership> getGroupMemberships() {
memberlist = new ListDataModel<GroupMembership>(placegroupBean.getMembershipsAndCreations(user));
return memberlist;
......@@ -194,9 +196,9 @@ public class PlacegroupView extends GenericCDIView {
GroupMembership row = memberlist.getRowData();
if (row != null) {
if (permbean.isCurrentUser(row.getPlaceGroup().getCreator()) || permbean.hasPermission(MapPermission.MANAGE_OTHERS)) {
placegroupBean.releaseAndGenerateToken(row);
this.addFaceMessage("placegroupview.placeReleased", row.getPlaceReservation().getName());
} else {
this.addFaceMessage("placegroupview.placeReleaseFailed", row.getPlaceReservation().getName());
......@@ -261,7 +263,7 @@ public class PlacegroupView extends GenericCDIView {
public void sendInvite() {
GroupMembership row = memberlist.getRowData();
if(!isCanModifyCurrent()) {
if (!isCanModifyCurrent()) {
this.addFaceMessage("invite.permissionDenied");
}
......@@ -285,18 +287,17 @@ public class PlacegroupView extends GenericCDIView {
GroupMembership row = memberlist.getRowData();
if(row != null) {
if (row != null) {
return inviteMails.get(row.getId());
}
return null;
}
public void setInviteMail(String inviteMail) {
GroupMembership row = memberlist.getRowData();
if(row != null) {
if (row != null) {
inviteMails.put(row.getId(), inviteMail);
}
}
......
......@@ -950,6 +950,16 @@ placegroupview.reservationName = Place
placegroupview.reservationProduct = Ticket
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.pageHeader = Add token
placetoken.placelist = My places
......
......@@ -933,6 +933,16 @@ placegroupview.reservationName = Paikka
placegroupview.reservationProduct = Lippu
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.pageHeader = Lis\u00E4\u00E4 konepaikkakoodi
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!