Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Riina Antikainen
/
Moya
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Wiki
Settings
Activity
Graph
Charts
Create a new issue
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit 4ef5e555
authored
Dec 13, 2014
by
Tuomas Riihimäki
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add placeslotlist ot users placegroups
1 parent
b29b2bde
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
99 additions
and
46 deletions
code/moya-web/WebContent/place/adminGroups.xhtml
code/moya-web/src/main/java/fi/codecrew/moya/web/cdiview/map/PlacegroupView.java
code/moya-web/src/main/resources/fi/codecrew/moya/resources/i18n_en.properties
code/moya-web/src/main/resources/fi/codecrew/moya/resources/i18n_fi.properties
code/moya-web/WebContent/place/adminGroups.xhtml
View file @
4ef5e55
<!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>
...
...
code/moya-web/src/main/java/fi/codecrew/moya/web/cdiview/map/PlacegroupView.java
View file @
4ef5e55
...
...
@@ -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
);
}
}
...
...
code/moya-web/src/main/resources/fi/codecrew/moya/resources/i18n_en.properties
View file @
4ef5e55
...
...
@@ -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
...
...
code/moya-web/src/main/resources/fi/codecrew/moya/resources/i18n_fi.properties
View file @
4ef5e55
...
...
@@ -933,6 +933,16 @@ placegroupview.reservationName = Paikka
placegroupview.reservationProduct
=
Lippu
placegroupview.token
=
Paikkakoodi / k
\u
00E4ytt
\u
00E4j
\u
00E4
placeslot.bill
=
Lasku
placeslot.place
=
Paikka
placeslot.product
=
Tuote
placeslot.showBill
=
N
\u
00E4yt
\u
00E4 lasku
placeslot.state
=
Tila
placeslot.state.notPaid
=
Ei maksettu
placeslot.state.paid
=
Maksettu
placeslot.stateExpired
=
Vanhentunut
placeslot.used
=
K
\u
00E4ytetty
placetoken.commit
=
Liit
\u
00E4
placetoken.pageHeader
=
Lis
\u
00E4
\u
00E4 konepaikkakoodi
placetoken.placelist
=
Omat paikat
...
...
Write
Preview
Markdown
is supported
Attach a file
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to post a comment