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 79149978
authored
Oct 24, 2013
by
Antti Tonkyra
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
incoming flow stuff
1 parent
7efd3a8a
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
138 additions
and
2 deletions
code/MoyaBeans/ejbModule/fi/codecrew/moya/beans/PlaceBean.java
code/MoyaBeans/ejbModule/fi/codecrew/moya/facade/GroupMembershipFacade.java
code/MoyaBeansClient/ejbModule/fi/codecrew/moya/beans/PlaceBeanLocal.java
code/MoyaDatabase/src/fi/codecrew/moya/model/EventUser.java
code/MoyaWeb/WebContent/admin/incoming/printCard.xhtml
code/MoyaWeb/src/fi/codecrew/moya/resources/i18n_en.properties
code/MoyaWeb/src/fi/codecrew/moya/resources/i18n_fi.properties
code/MoyaWeb/src/fi/codecrew/moya/web/flow/IncomingView.java
code/MoyaBeans/ejbModule/fi/codecrew/moya/beans/PlaceBean.java
View file @
7914997
...
...
@@ -511,6 +511,18 @@ public class PlaceBean implements PlaceBeanLocal {
}
return
place
;
}
@Override
@RolesAllowed
(
MapPermission
.
S_MANAGE_MAPS
)
public
List
<
GroupMembership
>
matchGroupMembershipsByInviteToken
(
String
token
)
{
List
<
GroupMembership
>
gms
=
gmemfacade
.
matchByToken
(
token
);
return
gms
;
}
@Override
public
GroupMembership
findGroupMembershipsByToken
(
String
token
)
{
return
gmemfacade
.
findByToken
(
token
);
}
private
byte
[]
generatePlacesPdf
(
float
width
,
float
height
,
double
font1
,
double
font2
,
List
<
Place
>
places
)
throws
Exception
{
ByteArrayOutputStream
outputStream
=
new
ByteArrayOutputStream
();
...
...
code/MoyaBeans/ejbModule/fi/codecrew/moya/facade/GroupMembershipFacade.java
View file @
7914997
...
...
@@ -65,6 +65,22 @@ public class GroupMembershipFacade extends IntegerPkGenericFacade<GroupMembershi
// q.setParameter("token", token);
return
getSingleNullableResult
(
getEm
().
createQuery
(
cq
));
}
public
List
<
GroupMembership
>
matchByToken
(
String
token
)
{
CriteriaBuilder
cb
=
getEm
().
getCriteriaBuilder
();
CriteriaQuery
<
GroupMembership
>
cq
=
cb
.
createQuery
(
GroupMembership
.
class
);
Root
<
GroupMembership
>
root
=
cq
.
from
(
GroupMembership
.
class
);
cq
.
where
(
cb
.
like
(
root
.
get
(
GroupMembership_
.
inviteToken
),
"%"
+
token
+
"%"
),
cb
.
equal
(
root
.
get
(
GroupMembership_
.
placeGroup
).
get
(
PlaceGroup_
.
event
),
eventbean
.
getCurrentEvent
())
);
// TypedQuery<GroupMembership> q =
// em.createQuery("Select gm from GroupMembership gm where gm.inviteToken = :token ",
// GroupMembership.class);
// q.setParameter("token", token);
return
getEm
().
createQuery
(
cq
).
getResultList
();
}
public
List
<
GroupMembership
>
findMemberOrCreator
(
EventUser
user
)
{
CriteriaBuilder
cb
=
getEm
().
getCriteriaBuilder
();
...
...
code/MoyaBeansClient/ejbModule/fi/codecrew/moya/beans/PlaceBeanLocal.java
View file @
7914997
...
...
@@ -6,12 +6,14 @@
package
fi
.
codecrew
.
moya
.
beans
;
import
java.math.BigDecimal
;
import
java.util.List
;
import
javax.ejb.Local
;
import
fi.codecrew.moya.exceptions.BortalCatchableException
;
import
fi.codecrew.moya.model.EventMap
;
import
fi.codecrew.moya.model.EventUser
;
import
fi.codecrew.moya.model.GroupMembership
;
import
fi.codecrew.moya.model.Place
;
import
fi.codecrew.moya.model.PlaceGroup
;
...
...
@@ -63,4 +65,8 @@ public interface PlaceBeanLocal {
byte
[]
generatePlacesPdf
(
float
width
,
float
height
,
double
font1
,
double
font2
);
// public byte[] generatePlacesPdf(double width, double height, double font1, double font2);
List
<
GroupMembership
>
matchGroupMembershipsByInviteToken
(
String
token
);
GroupMembership
findGroupMembershipsByToken
(
String
token
);
}
code/MoyaDatabase/src/fi/codecrew/moya/model/EventUser.java
View file @
7914997
...
...
@@ -449,5 +449,11 @@ public class EventUser extends GenericEntity {
return
ret
;
}
public
String
getShortUserDescriptor
()
{
StringBuilder
sb
=
new
StringBuilder
();
sb
.
append
(
getNick
()).
append
(
" // "
).
append
(
getWholeName
()).
append
(
" // "
).
append
(
getEmail
());
return
sb
.
toString
();
}
}
code/MoyaWeb/WebContent/admin/incoming/printCard.xhtml
View file @
7914997
...
...
@@ -13,8 +13,9 @@
<ui:define
name=
"content"
>
<h:outputScript
library=
"primefaces"
name=
"jquery/jquery.js"
target=
"head"
/>
<h:form>
<p:poll
interval=
"1"
listener=
"#{incomingView.polledRead}"
/>
<p:poll
interval=
"1"
listener=
"#{incomingView.polledRead}"
/>
</h:form>
<h1>
#{i18n['incomingflow.userdetails']}
</h1>
<h:panelGrid
columns=
"3"
>
...
...
@@ -41,6 +42,22 @@
</h:panelGrid>
<h1>
#{i18n['incomingflow.search']}
</h1>
<h:form>
<h:panelGrid
columns=
"2"
>
<h:outputText
value=
"#{i18n['incomingflow.barcode']}"
/>
<h:outputText
value=
"#{i18n['incomingflow.multisearch']}"
/>
<p:autoComplete
id=
"acs"
value=
"#{incomingView.searchBarcode}"
completeMethod=
"#{incomingView.matchBarcode}"
>
<p:ajax
event=
"itemSelect"
listener=
"#{incomingView.changeUser}"
/>
</p:autoComplete>
<p:autoComplete
id=
"acsb"
value=
"#{incomingView.searchMulti}"
completeMethod=
"#{incomingView.matchMulti}"
converter=
"#{eventUserConverter}"
var=
"usrx"
itemLabel=
"#{usrx.shortUserDescriptor}"
itemValue=
"#{usrx}"
>
<p:ajax
event=
"itemSelect"
listener=
"#{incomingView.changeUser}"
/>
</p:autoComplete>
</h:panelGrid>
</h:form>
</ui:define>
<ui:define
name=
"sidebar"
>
...
...
code/MoyaWeb/src/fi/codecrew/moya/resources/i18n_en.properties
View file @
7914997
...
...
@@ -399,6 +399,11 @@ imagefile.file = Imagefile
importuser.file
=
File
importuser.template
=
Template
incomingflow.barcode
=
Barcode
incomingflow.multisearch
=
Multisearch
incomingflow.search
=
Search
incomingflow.userdetails
=
User details
infoview.back
=
Back
infoview.computerplace
=
Computer places
infoview.shop
=
Shop
...
...
code/MoyaWeb/src/fi/codecrew/moya/resources/i18n_fi.properties
View file @
7914997
...
...
@@ -408,6 +408,11 @@ imagefile.file = Kuvatiedosto
importuser.file
=
Tiedosto
importuser.template
=
Malli
incomingflow.barcode
=
Viivakoodi
incomingflow.multisearch
=
Monihaku
incomingflow.search
=
Etsi
incomingflow.userdetails
=
K
\u
00E4ytt
\u
00E4j
\u
00E4n tiedot
index.title
=
Etusivu
infoview.back
=
Takaisin
...
...
code/MoyaWeb/src/fi/codecrew/moya/web/flow/IncomingView.java
View file @
7914997
package
fi
.
codecrew
.
moya
.
web
.
flow
;
import
java.util.ArrayList
;
import
java.util.List
;
import
javax.ejb.EJB
;
import
javax.enterprise.context.ConversationScoped
;
import
javax.inject.Inject
;
import
javax.inject.Named
;
import
org.primefaces.event.SelectEvent
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
fi.codecrew.moya.beans.BarcodeBeanLocal
;
import
fi.codecrew.moya.beans.CardTemplateBeanLocal
;
import
fi.codecrew.moya.beans.PermissionBeanLocal
;
import
fi.codecrew.moya.beans.PlaceBeanLocal
;
import
fi.codecrew.moya.beans.ReaderBeanLocal
;
import
fi.codecrew.moya.beans.UserBeanLocal
;
import
fi.codecrew.moya.enums.CardState
;
import
fi.codecrew.moya.enums.apps.UserPermission
;
import
fi.codecrew.moya.model.EventUser
;
import
fi.codecrew.moya.model.GroupMembership
;
import
fi.codecrew.moya.model.PrintedCard
;
import
fi.codecrew.moya.util.UserSearchQuery
;
import
fi.codecrew.moya.utilities.SearchResult
;
import
fi.codecrew.moya.web.annotations.SelectedUser
;
import
fi.codecrew.moya.web.cdiview.GenericCDIView
;
import
fi.codecrew.moya.web.cdiview.reader.ReaderNameContainer
;
...
...
@@ -42,16 +52,67 @@ public class IncomingView extends GenericCDIView {
private
ReaderNameContainer
namecontainer
;
@EJB
private
BarcodeBeanLocal
barcodeBean
;
@EJB
private
CardTemplateBeanLocal
cardBean
;
@EJB
private
PermissionBeanLocal
permBean
;
@EJB
private
PlaceBeanLocal
placeBean
;
@EJB
private
UserBeanLocal
userbean
;
private
String
searchBarcode
=
""
;
private
EventUser
searchMulti
=
null
;
public
void
initView
()
{
super
.
beginConversation
();
}
public
String
getSearchBarcode
()
{
return
searchBarcode
;
}
public
void
setSearchBarcode
(
String
searchBarcode
)
{
this
.
searchBarcode
=
searchBarcode
;
}
public
List
<
String
>
matchBarcode
(
String
matchWhat
)
{
List
<
GroupMembership
>
gms
=
placeBean
.
matchGroupMembershipsByInviteToken
(
matchWhat
);
ArrayList
<
String
>
arl
=
new
ArrayList
<>();
for
(
GroupMembership
gm
:
gms
)
{
arl
.
add
(
gm
.
getInviteToken
());
}
return
arl
;
}
public
List
<
EventUser
>
matchMulti
(
String
what
)
{
UserSearchQuery
usq
=
new
UserSearchQuery
();
usq
.
setSearch
(
what
);
SearchResult
<
EventUser
>
sr
=
userbean
.
getThisEventsUsers
(
usq
);
return
sr
.
getResults
();
}
public
void
changeUser
(
SelectEvent
event
)
{
if
(!
searchBarcode
.
equals
(
""
))
{
// TODO: if user barcode is place code thingy, do this, otherwise do other..
GroupMembership
gm
=
placeBean
.
findGroupMembershipsByToken
(
this
.
searchBarcode
);
if
(
gm
!=
null
)
{
super
.
navihandler
.
redirectNavigation
(
"printCard.jsf?userid="
+
gm
.
getUser
().
getUser
().
getId
());
}
}
else
if
(
searchMulti
!=
null
)
{
super
.
navihandler
.
redirectNavigation
(
"printCard.jsf?userid="
+
searchMulti
.
getUser
().
getId
());
searchMulti
=
null
;
}
}
private
boolean
initialized
=
false
;
...
...
@@ -131,6 +192,14 @@ public class IncomingView extends GenericCDIView {
return
null
;
}
public
EventUser
getSearchMulti
()
{
return
searchMulti
;
}
public
void
setSearchMulti
(
EventUser
searchMulti
)
{
this
.
searchMulti
=
searchMulti
;
}
}
...
...
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