Skip to content
Toggle navigation
Projects
Groups
Snippets
Help
Linnea Samila
/
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 56bce642
authored
May 13, 2012
by
Juho Juopperi
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'master' of dev.insomnia.fi:/data/bortal
2 parents
92c3f6d2
aa9ff53e
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
162 additions
and
24 deletions
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/ActionLogBean.java
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/ReaderBean.java
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/UserBean.java
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/facade/CompoFacade.java
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/facade/PrintedCardFacade.java
code/LanBortalBeansClient/ejbModule/fi/insomnia/bortal/beans/ReaderBeanLocal.java
code/LanBortalBeansClient/ejbModule/fi/insomnia/bortal/beans/UserBeanLocal.java
code/LanBortalDatabase/src/fi/insomnia/bortal/model/ReaderEvent.java
code/LanBortalWeb/WebContent/shop/assocToUser.xhtml
code/LanBortalWeb/WebContent/voting/compolist.xhtml
code/LanBortalWeb/src/fi/insomnia/bortal/resources/i18n_en.properties
code/LanBortalWeb/src/fi/insomnia/bortal/resources/i18n_fi.properties
code/LanBortalWeb/src/fi/insomnia/bortal/web/cdiview/shop/ReaderView.java
code/LanBortalWeb/src/fi/insomnia/bortal/web/cdiview/shop/UserCardWrapper.java
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/ActionLogBean.java
View file @
56bce64
...
...
@@ -71,6 +71,7 @@ public class ActionLogBean implements ActionLogBeanLocal {
@RolesAllowed
(
ContentPermission
.
S_MANAGE_ACTIONLOG
)
public
void
addActionLogMessageResponse
(
ActionLogMessage
alm
,
String
message
,
ActionLogMessageState
state
)
{
if
(
alm
.
getState
()
!=
state
&&
state
!=
null
)
{
alm
=
actionLogFacade
.
merge
(
alm
);
alm
.
setState
(
state
);
}
...
...
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/ReaderBean.java
View file @
56bce64
...
...
@@ -15,6 +15,7 @@ import fi.insomnia.bortal.facade.ReaderFacade;
import
fi.insomnia.bortal.model.PrintedCard
;
import
fi.insomnia.bortal.model.Reader
;
import
fi.insomnia.bortal.model.ReaderEvent
;
import
fi.insomnia.bortal.model.User
;
/**
* Session Bean implementation class ReaderBean
...
...
@@ -179,4 +180,9 @@ public class ReaderBean implements ReaderBeanLocal {
}
return
ret
;
}
@Override
public
User
findTagFromAnyEvent
(
String
value
)
{
return
cardfacade
.
findLatestByRfidFromAny
(
value
).
getUser
().
getUser
();
}
}
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/UserBean.java
View file @
56bce64
...
...
@@ -425,6 +425,9 @@ public class UserBean implements UserBeanLocal {
@Override
public
EventUser
getEventUser
(
User
user
)
{
if
(
user
!=
null
&&
user
.
getId
()
!=
null
)
{
user
=
userFacade
.
find
(
user
.
getId
());
}
EventUser
ret
=
eventUserFacade
.
find
(
user
);
if
(
ret
==
null
)
...
...
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/facade/CompoFacade.java
View file @
56bce64
...
...
@@ -30,7 +30,7 @@ public class CompoFacade extends IntegerPkGenericFacade<Compo> {
CriteriaQuery
<
Compo
>
cq
=
cb
.
createQuery
(
Compo
.
class
);
Root
<
Compo
>
root
=
cq
.
from
(
Compo
.
class
);
cq
.
where
(
cb
.
equal
(
root
.
get
(
Compo_
.
event
),
eventbean
.
getCurrentEvent
()));
cq
.
orderBy
(
cb
.
desc
(
root
.
get
(
Compo_
.
startTime
)));
List
<
Compo
>
ret
=
getEm
().
createQuery
(
cq
).
getResultList
();
return
ret
;
}
...
...
code/LanBortalBeans/ejbModule/fi/insomnia/bortal/facade/PrintedCardFacade.java
View file @
56bce64
...
...
@@ -5,12 +5,13 @@ import java.util.List;
import
javax.ejb.EJB
;
import
javax.ejb.LocalBean
;
import
javax.ejb.Stateless
;
import
javax.persistence.TypedQuery
;
import
javax.persistence.criteria.CriteriaBuilder
;
import
javax.persistence.criteria.CriteriaQuery
;
import
javax.persistence.criteria.Root
;
import
fi.insomnia.bortal.beans.EventBeanLocal
;
import
fi.insomnia.bortal.model.
I
User
;
import
fi.insomnia.bortal.model.
Event
User
;
import
fi.insomnia.bortal.model.LanEvent
;
import
fi.insomnia.bortal.model.PrintedCard
;
import
fi.insomnia.bortal.model.PrintedCard_
;
...
...
@@ -51,7 +52,7 @@ public class PrintedCardFacade extends IntegerPkGenericFacade<PrintedCard> {
}
public
List
<
PrintedCard
>
getCards
(
I
User
user
)
{
public
List
<
PrintedCard
>
getCards
(
Event
User
user
)
{
CriteriaBuilder
cb
=
getEm
().
getCriteriaBuilder
();
CriteriaQuery
<
PrintedCard
>
cq
=
cb
.
createQuery
(
PrintedCard
.
class
);
Root
<
PrintedCard
>
root
=
cq
.
from
(
PrintedCard
.
class
);
...
...
@@ -61,4 +62,19 @@ public class PrintedCardFacade extends IntegerPkGenericFacade<PrintedCard> {
return
getEm
().
createQuery
(
cq
).
getResultList
();
}
public
PrintedCard
findLatestByRfidFromAny
(
String
uid
)
{
CriteriaBuilder
cb
=
getEm
().
getCriteriaBuilder
();
CriteriaQuery
<
PrintedCard
>
cq
=
cb
.
createQuery
(
PrintedCard
.
class
);
Root
<
PrintedCard
>
root
=
cq
.
from
(
PrintedCard
.
class
);
cq
.
where
(
cb
.
equal
(
root
.
get
(
PrintedCard_
.
rfidUid
),
uid
));
cq
.
orderBy
(
cb
.
desc
(
root
.
get
(
PrintedCard_
.
printTime
)));
TypedQuery
<
PrintedCard
>
q
=
getEm
().
createQuery
(
cq
);
q
.
setMaxResults
(
1
);
return
getSingleNullableResult
(
q
);
}
}
code/LanBortalBeansClient/ejbModule/fi/insomnia/bortal/beans/ReaderBeanLocal.java
View file @
56bce64
...
...
@@ -7,6 +7,7 @@ import javax.ejb.Local;
import
fi.insomnia.bortal.model.PrintedCard
;
import
fi.insomnia.bortal.model.Reader
;
import
fi.insomnia.bortal.model.ReaderEvent
;
import
fi.insomnia.bortal.model.User
;
@Local
public
interface
ReaderBeanLocal
{
...
...
@@ -25,4 +26,6 @@ public interface ReaderBeanLocal {
ReaderEvent
getEvent
(
Integer
eventid
);
User
findTagFromAnyEvent
(
String
value
);
}
code/LanBortalBeansClient/ejbModule/fi/insomnia/bortal/beans/UserBeanLocal.java
View file @
56bce64
...
...
@@ -55,6 +55,13 @@ public interface UserBeanLocal {
List
<
Role
>
findUsersRoles
(
EventUser
u
);
/**
* NOTICE! If the user parameter is a persisted object the returned
* EventUser has a reloaded user, eg changes to the User object are lost!
*
* @param user
* @return
*/
EventUser
getEventUser
(
User
user
);
}
code/LanBortalDatabase/src/fi/insomnia/bortal/model/ReaderEvent.java
View file @
56bce64
...
...
@@ -127,4 +127,5 @@ public class ReaderEvent extends GenericEntity {
ret
.
append
(
secs
).
append
(
" sec"
);
return
ret
.
toString
();
}
}
code/LanBortalWeb/WebContent/shop/assocToUser.xhtml
View file @
56bce64
...
...
@@ -12,6 +12,26 @@
<ui:define
name=
"content"
>
<ui:fragment
rendered=
"#{!empty readerView.neighborUser}"
>
<h1>
Neighbor event user found:
</h1>
<h:outputText
value=
"#{readerView.neighborUser.user.wholeName}"
/>
<h:form>
<h:dataTable
var=
"card"
value=
"#{readerView.neighborUser.printedCards}"
>
<h:column>
<h:outputText
value=
"#{card.template.name}"
/>
</h:column>
<h:column>
<h:outputText
value=
"#{card.printCount}"
/>
</h:column>
<h:column>
<h:commandButton
action=
"#{readerView.assocToNeighborCard()}"
value=
"#{i18n['readerView.assocToNeighborCard']}"
/>
</h:column>
</h:dataTable>
<h:commandButton
action=
"#{readerView.assocToNeighbor()}"
value=
"#{i18n['readerView.assocToNeighbor']}"
/>
</h:form>
</ui:fragment>
<h:outputText
rendered=
"#{empty readerView.event}"
value=
"#{i18n['rfidevent.empty']}"
/>
<h:panelGrid
columns=
"2"
rendered=
"#{!empty readerView.event}"
>
<h:outputLabel
value=
"#{i18n['rfidevent.reader']}:"
/>
...
...
@@ -41,7 +61,7 @@
<f:facet
name=
"header"
>
<h:outputText
value=
"Id"
/>
</f:facet>
<h:outputText
value=
"#{user.user.id}"
/>
<h:outputText
value=
"#{user.user.
user.
id}"
/>
</h:column>
<h:column>
<f:facet
name=
"header"
>
...
...
@@ -77,7 +97,7 @@
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['readerview.cards']}"
/>
</f:facet>
<h:dataTable
value=
"#{user.
c
ards}"
var=
"card"
>
<h:dataTable
value=
"#{user.
printedC
ards}"
var=
"card"
>
<h:column>
<h:outputText
value=
"#{card.template.name}"
/>
</h:column>
...
...
@@ -88,6 +108,7 @@
<h:commandButton
action=
"#{readerView.assocToCard()}"
value=
"#{i18n['reader.assocToCard']}"
/>
</h:column>
</h:dataTable>
<h:commandButton
action=
"#{readerView.createCardForUser()}"
value=
"#{i18n['reader.createNewCard']}"
/>
</h:column>
</h:dataTable>
...
...
code/LanBortalWeb/WebContent/voting/compolist.xhtml
View file @
56bce64
...
...
@@ -23,31 +23,31 @@
<h:dataTable
styleClass=
"bordertable"
rowClasses=
"roweven,rowodd"
id=
"compolisttable"
value=
"#{votingCompoListView.compos}"
var=
"compo"
>
<h:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"
Name
"
/>
<h:outputText
value=
"
#{i18n['voting.allcompos.name']}
"
/>
</f:facet>
<h:outputText
value=
"#{compo.name}"
/>
</h:column>
<h:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"
Kuvaus
"
/>
<h:outputText
value=
"
#{i18n['voting.allcompos.descri']}
"
/>
</f:facet>
<h:outputText
value=
"#{compo.description}"
/>
</h:column>
<h:column
rendered=
"#{votingCompoListView.curEntries}"
>
<f:facet
name=
"header"
>
<h:outputText
value=
"
current entries
"
/>
<h:outputText
value=
"
#{i18n['voting.allcompos.curEntries']}
"
/>
</f:facet>
<h:outputText
value=
"#{compo.compoEntries.size()}"
/>
</h:column>
<h:column
rendered=
"#{votingCompoListView.maxParts}"
>
<f:facet
name=
"header"
>
<h:outputText
value=
"
Max parts
"
/>
<h:outputText
value=
"
#{i18n['voting.allcompos.maxParts']}
"
/>
</f:facet>
<h:outputText
value=
"#{compo.maxParticipantCount}"
/>
</h:column>
<h:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"
Start time
"
/>
<h:outputText
value=
"
#{i18n['voting.allcompos.startTime']}
"
/>
</f:facet>
<h:outputText
value=
"#{compo.startTime.time}"
>
<f:convertDateTime
type=
"both"
pattern=
"dd.MM.yyyy HH:mm"
/>
...
...
@@ -55,7 +55,7 @@
</h:column>
<h:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"
End time
"
/>
<h:outputText
value=
"
#{i18n['voting.allcompos.endTime']}
"
/>
</f:facet>
<h:outputText
value=
"#{compo.endTime.time}"
>
<f:convertDateTime
type=
"both"
pattern=
"dd.MM.yyyy HH:mm"
/>
...
...
@@ -63,7 +63,7 @@
</h:column>
<h:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"
Vote start
"
/>
<h:outputText
value=
"
#{i18n['voting.allcompos.voteStart']}
"
/>
</f:facet>
<h:outputText
value=
"#{compo.voteStart.time}"
>
<f:convertDateTime
type=
"both"
pattern=
"dd.MM.yyyy HH:mm"
/>
...
...
@@ -71,7 +71,7 @@
</h:column>
<h:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"
Vote end
"
/>
<h:outputText
value=
"
#{i18n['voting.allcompos.voteEnd']}
"
/>
</f:facet>
<h:outputText
value=
"#{compo.voteEnd.time}"
>
<f:convertDateTime
type=
"both"
pattern=
"dd.MM.yyyy HH:mm"
/>
...
...
@@ -79,7 +79,7 @@
</h:column>
<h:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"
Submit start
"
/>
<h:outputText
value=
"
#{i18n['voting.allcompos.submitStart']}
"
/>
</f:facet>
<h:outputText
value=
"#{compo.submitStart.time}"
>
<f:convertDateTime
type=
"both"
pattern=
"dd.MM.yyyy HH:mm"
/>
...
...
@@ -87,7 +87,7 @@
</h:column>
<h:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"
Submit end
"
/>
<h:outputText
value=
"
#{i18n['voting.allcompos.submitEnd']}
"
/>
</f:facet>
<h:outputText
value=
"#{compo.submitEnd.time}"
>
<f:convertDateTime
type=
"both"
pattern=
"dd.MM.yyyy HH:mm"
/>
...
...
@@ -95,11 +95,11 @@
</h:column>
<h:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"
Submit entry"
/>
<h:outputText
value=
"
"
/>
</f:facet>
<h:link
outcome=
"addentry"
>
<h:link
outcome=
"addentry"
rendered=
"#{compo.maxParticipantCount gt compo.compoEntries.size()}"
>
<f:param
name=
"compoId"
value=
"#{compo.id}"
/>
Submit entry
#{i18n['voting.allcompos.submitEntry']}
</h:link>
</h:column>
</h:dataTable>
...
...
code/LanBortalWeb/src/fi/insomnia/bortal/resources/i18n_en.properties
View file @
56bce64
...
...
@@ -526,8 +526,19 @@ userview.userExists = Username already exists! please select another.
viewexpired.body
=
Please login again.
viewexpired.title
=
Login expired. Please login again.
voting.allcompos.description
=
List of all compos and NIIDEN information.
voting.allcompos.curEntries
=
# of entries
voting.allcompos.descri = Description
voting.allcompos.description
=
List of all compos and theirs information.
voting.allcompos.endTime
=
End time
voting.allcompos.header
=
All compos
voting.allcompos.maxParts
=
Max participants
voting.allcompos.name
=
Name
voting.allcompos.startTime
=
Start time
voting.allcompos.submitEnd
=
Submit end
voting.allcompos.submitEntry
=
Submit entry
voting.allcompos.submitStart
=
Submit start
voting.allcompos.voteEnd
=
Vote end
voting.allcompos.voteStart
=
Vote start
voting.create.compoEnd
=
End time
voting.create.compoStart
=
Start time
voting.create.createButton
=
Create
...
...
code/LanBortalWeb/src/fi/insomnia/bortal/resources/i18n_fi.properties
View file @
56bce64
...
...
@@ -516,8 +516,19 @@ userview.userExists = K\u00E4ytt\u00E4j\u00E4tunnus on jo olemassa. Ole
viewexpired.body
=
Ole hyv
\u
00E4 ja kirjaudu sis
\u
00E4
\u
00E4n uudelleen.
viewexpired.title
=
N
\u
00E4kym
\u
00E4 on vanhentunut
voting.allcompos.curEntries
=
Entryja
voting.allcompos.descri
=
Kuvaus
voting.allcompos.description
=
Compojen informaatiot.
voting.allcompos.endTime
=
Lopetusaika
voting.allcompos.header
=
Kaikki compot
voting.allcompos.maxParts
=
Max osallistujam
\u
00E4
\u
00E4r
\u
00E4
voting.allcompos.name
=
Nimi
voting.allcompos.startTime
=
Aloitusaika
voting.allcompos.submitEnd
=
Lis
\u
00E4ys kiinni
voting.allcompos.submitEntry
=
L
\u
00E4het
\u
00E4 entry
voting.allcompos.submitStart
=
Lis
\u
00E4ys auki
voting.allcompos.voteEnd
=
\u
00C4
\u
00E4nestys kiinni
voting.allcompos.voteStart
=
\u
00C4
\u
00E4nestys auki
voting.create.compoEnd
=
Lopetusaika
voting.create.compoStart
=
Aloitusaika
voting.create.createButton
=
Luo
...
...
code/LanBortalWeb/src/fi/insomnia/bortal/web/cdiview/shop/ReaderView.java
View file @
56bce64
...
...
@@ -27,7 +27,7 @@ public class ReaderView extends GenericCDIView {
private
String
placecode
;
private
String
usersearch
;
private
ListDataModel
<
User
>
userlist
;
private
ListDataModel
<
User
CardWrapper
>
userlist
;
@Inject
private
ReaderNameContainer
namecontainer
;
...
...
@@ -40,9 +40,15 @@ public class ReaderView extends GenericCDIView {
@EJB
private
UserBeanLocal
userbean
;
private
UserCardWrapper
neighborUser
;
public
void
initUserassocView
()
{
if
(
super
.
requirePermissions
(
UserPermission
.
CREATE_NEW
))
{
if
(
super
.
requirePermissions
(
UserPermission
.
CREATE_NEW
)
&&
event
==
null
)
{
event
=
readerbean
.
getEvent
(
eventid
);
if
(
event
.
getPrintedCard
()
==
null
)
{
User
neigUser
=
readerbean
.
findTagFromAnyEvent
(
event
.
getValue
());
setNeighborUser
(
new
UserCardWrapper
(
neigUser
,
userbean
));
}
super
.
beginConversation
();
}
}
...
...
@@ -52,7 +58,7 @@ public class ReaderView extends GenericCDIView {
if
(
usersearch
==
null
||
usersearch
.
length
()
<
2
)
{
super
.
addFaceMessage
(
"user.tooShortSearch"
);
}
else
{
userlist
=
new
ListDataModel
<
User
>(
userbean
.
getUsers
(
0
,
0
,
null
,
usersearch
).
getResults
()
);
userlist
=
UserCardWrapper
.
initWrapper
(
userbean
.
getUsers
(
0
,
0
,
null
,
usersearch
).
getResults
(),
userbean
);
}
return
null
;
...
...
@@ -109,12 +115,20 @@ public class ReaderView extends GenericCDIView {
this
.
usersearch
=
usersearch
;
}
public
ListDataModel
<
User
>
getUserlist
()
{
public
ListDataModel
<
User
CardWrapper
>
getUserlist
()
{
return
userlist
;
}
public
void
setUserlist
(
ListDataModel
<
User
>
userlist
)
{
public
void
setUserlist
(
ListDataModel
<
User
CardWrapper
>
userlist
)
{
this
.
userlist
=
userlist
;
}
public
UserCardWrapper
getNeighborUser
()
{
return
neighborUser
;
}
public
void
setNeighborUser
(
UserCardWrapper
neighborUser
)
{
this
.
neighborUser
=
neighborUser
;
}
}
code/LanBortalWeb/src/fi/insomnia/bortal/web/cdiview/shop/UserCardWrapper.java
0 → 100644
View file @
56bce64
package
fi
.
insomnia
.
bortal
.
web
.
cdiview
.
shop
;
import
java.io.Serializable
;
import
java.util.ArrayList
;
import
java.util.List
;
import
javax.faces.model.ListDataModel
;
import
fi.insomnia.bortal.beans.UserBeanLocal
;
import
fi.insomnia.bortal.model.EventUser
;
import
fi.insomnia.bortal.model.PrintedCard
;
import
fi.insomnia.bortal.model.User
;
public
class
UserCardWrapper
implements
Serializable
{
private
static
final
long
serialVersionUID
=
-
2755200540851855878L
;
private
final
EventUser
user
;
private
final
ListDataModel
<
PrintedCard
>
printedCards
;
public
UserCardWrapper
(
User
u
,
UserBeanLocal
userbean
)
{
user
=
userbean
.
getEventUser
(
u
);
printedCards
=
new
ListDataModel
<
PrintedCard
>(
user
.
getPrintedCards
());
}
public
static
ListDataModel
<
UserCardWrapper
>
initWrapper
(
List
<
User
>
users
,
UserBeanLocal
userbean
)
{
List
<
UserCardWrapper
>
ret
=
new
ArrayList
<
UserCardWrapper
>();
for
(
User
u
:
users
)
{
ret
.
add
(
new
UserCardWrapper
(
u
,
userbean
));
}
return
new
ListDataModel
<
UserCardWrapper
>(
ret
);
}
public
EventUser
getUser
()
{
return
user
;
}
public
ListDataModel
<
PrintedCard
>
getPrintedCards
()
{
return
printedCards
;
}
}
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