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 3a29778b
authored
Apr 11, 2014
by
Tuomas Riihimäki
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Rewrite of user listing.. Sorting, pagination from primefaces
1 parent
cc061898
Hide whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
313 additions
and
161 deletions
code/MoyaBeans/ejbModule/fi/codecrew/moya/beans/CardTemplateBean.java
code/MoyaBeans/ejbModule/fi/codecrew/moya/beans/ReaderBean.java
code/MoyaBeans/ejbModule/fi/codecrew/moya/beans/UserBean.java
code/MoyaBeans/ejbModule/fi/codecrew/moya/facade/EventUserFacade.java
code/MoyaBeans/ejbModule/fi/codecrew/moya/facade/UserFacade.java
code/MoyaBeans/ejbModule/fi/codecrew/moya/facade/callbacks/AndPredicateCreator.java
code/MoyaBeans/ejbModule/fi/codecrew/moya/facade/callbacks/EventLimiter.java
code/MoyaBeans/ejbModule/fi/codecrew/moya/facade/callbacks/EventUserAccountSaldoPredicate.java
code/MoyaBeans/ejbModule/fi/codecrew/moya/facade/callbacks/EventUserPlacegroupPredicate.java
code/MoyaBeans/ejbModule/fi/codecrew/moya/facade/callbacks/EventUserRolefilter.java
code/MoyaBeans/ejbModule/fi/codecrew/moya/facade/callbacks/EventuserToUserWrapper.java
code/MoyaBeans/ejbModule/fi/codecrew/moya/facade/callbacks/OrPredicateCreator.java
code/MoyaBeans/ejbModule/fi/codecrew/moya/facade/callbacks/OrderCallback.java
code/MoyaBeans/ejbModule/fi/codecrew/moya/facade/callbacks/PathStringSearchPredicateCreator.java
code/MoyaBeansClient/ejbModule/fi/codecrew/moya/beans/UserBeanLocal.java
code/MoyaUtilities/src/main/java/fi/codecrew/moya/utilities/jpa/FacadeCallback.java
code/MoyaWeb/WebContent/resources/cditools/user/eventuserlist.xhtml
code/MoyaWeb/WebContent/resources/cditools/user/list.xhtml
code/MoyaWeb/WebContent/useradmin/list.xhtml
code/MoyaWeb/src/fi/codecrew/moya/HostnameFilter.java
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/servlet/FileDownloadServlet.java
code/MoyaWeb/src/fi/codecrew/moya/web/cdiview/user/ImportView.java
code/MoyaWeb/src/fi/codecrew/moya/web/cdiview/user/UserSearchView.java
code/MoyaWeb/src/fi/codecrew/moya/web/cdiview/user/UserView.java
code/MoyaWeb/src/fi/codecrew/moya/web/helper/LayoutView.java
code/MoyaBeans/ejbModule/fi/codecrew/moya/beans/CardTemplateBean.java
View file @
3a29778
...
@@ -189,10 +189,10 @@ public class CardTemplateBean implements CardTemplateBeanLocal {
...
@@ -189,10 +189,10 @@ public class CardTemplateBean implements CardTemplateBeanLocal {
public
CardTemplate
getUsersCardtype
(
EventUser
user
)
{
public
CardTemplate
getUsersCardtype
(
EventUser
user
)
{
Set
<
Role
>
roles
=
userbean
.
localFindUsersRoles
(
user
);
Set
<
Role
>
roles
=
userbean
.
localFindUsersRoles
(
user
);
logger
.
info
(
"Checking roles {} against {}"
,
user
,
roles
);
//
logger.info("Checking roles {} against {}", user, roles);
CardTemplate
greatestTemplate
=
null
;
CardTemplate
greatestTemplate
=
null
;
for
(
Role
listrole
:
roles
)
{
for
(
Role
listrole
:
roles
)
{
logger
.
info
(
"Checking role {}"
,
listrole
);
//
logger.info("Checking role {}", listrole);
if
(
greatestTemplate
==
null
||
(
listrole
.
getCardTemplate
()
!=
null
&&
greatestTemplate
.
getPower
()
<
listrole
.
getCardTemplate
().
getPower
()))
{
if
(
greatestTemplate
==
null
||
(
listrole
.
getCardTemplate
()
!=
null
&&
greatestTemplate
.
getPower
()
<
listrole
.
getCardTemplate
().
getPower
()))
{
greatestTemplate
=
listrole
.
getCardTemplate
();
greatestTemplate
=
listrole
.
getCardTemplate
();
}
}
...
...
code/MoyaBeans/ejbModule/fi/codecrew/moya/beans/ReaderBean.java
View file @
3a29778
...
@@ -155,7 +155,7 @@ public class ReaderBean implements ReaderBeanLocal {
...
@@ -155,7 +155,7 @@ public class ReaderBean implements ReaderBeanLocal {
// reader is in autoproduct-mode, create dat product
// reader is in autoproduct-mode, create dat product
if
(
reader
.
isAutoproduct
())
{
if
(
reader
.
isAutoproduct
())
{
EventUser
eu
=
userbean
.
getEventUser
(
card
.
getUser
().
getUser
());
EventUser
eu
=
userbean
.
getEventUser
(
card
.
getUser
().
getUser
()
,
false
);
if
(
eu
!=
null
)
{
if
(
eu
!=
null
)
{
AccountEvent
createAc
=
productPBean
.
createAccountEvent
(
reader
.
getAutomaticProduct
(),
reader
.
getAutomaticProductCount
(),
eu
,
Calendar
.
getInstance
());
AccountEvent
createAc
=
productPBean
.
createAccountEvent
(
reader
.
getAutomaticProduct
(),
reader
.
getAutomaticProductCount
(),
eu
,
Calendar
.
getInstance
());
readerfacade
.
flush
();
readerfacade
.
flush
();
...
...
code/MoyaBeans/ejbModule/fi/codecrew/moya/beans/UserBean.java
View file @
3a29778
...
@@ -655,12 +655,11 @@ public class UserBean implements UserBeanLocal {
...
@@ -655,12 +655,11 @@ public class UserBean implements UserBeanLocal {
}
}
@Override
@Override
public
EventUser
findByUserId
(
Integer
userid
)
{
public
EventUser
findByUserId
(
Integer
userid
,
boolean
createEventuser
)
{
User
user
=
userFacade
.
find
(
userid
);
User
user
=
userFacade
.
find
(
userid
);
EventUser
ret
=
null
;
EventUser
ret
=
null
;
if
(
user
!=
null
)
if
(
user
!=
null
)
{
{
ret
=
this
.
getEventUser
(
user
,
createEventuser
);
ret
=
this
.
getEventUser
(
user
,
false
);
}
}
return
ret
;
return
ret
;
}
}
...
...
code/MoyaBeans/ejbModule/fi/codecrew/moya/facade/EventUserFacade.java
View file @
3a29778
...
@@ -13,6 +13,10 @@ import javax.persistence.criteria.CriteriaBuilder;
...
@@ -13,6 +13,10 @@ import javax.persistence.criteria.CriteriaBuilder;
import
javax.persistence.criteria.CriteriaQuery
;
import
javax.persistence.criteria.CriteriaQuery
;
import
javax.persistence.criteria.From
;
import
javax.persistence.criteria.From
;
import
javax.persistence.criteria.Root
;
import
javax.persistence.criteria.Root
;
import
javax.persistence.metamodel.SingularAttribute
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
fi.codecrew.moya.beans.EventBeanLocal
;
import
fi.codecrew.moya.beans.EventBeanLocal
;
import
fi.codecrew.moya.enums.DatabaseHasCompare
;
import
fi.codecrew.moya.enums.DatabaseHasCompare
;
...
@@ -22,6 +26,7 @@ import fi.codecrew.moya.facade.callbacks.EventUserAccountSaldoPredicate;
...
@@ -22,6 +26,7 @@ import fi.codecrew.moya.facade.callbacks.EventUserAccountSaldoPredicate;
import
fi.codecrew.moya.facade.callbacks.EventUserPlacegroupPredicate
;
import
fi.codecrew.moya.facade.callbacks.EventUserPlacegroupPredicate
;
import
fi.codecrew.moya.facade.callbacks.EventUserRolefilter
;
import
fi.codecrew.moya.facade.callbacks.EventUserRolefilter
;
import
fi.codecrew.moya.facade.callbacks.EventUserSearchPredicate
;
import
fi.codecrew.moya.facade.callbacks.EventUserSearchPredicate
;
import
fi.codecrew.moya.facade.callbacks.EventuserToUserWrapper
;
import
fi.codecrew.moya.facade.callbacks.OrderCallback
;
import
fi.codecrew.moya.facade.callbacks.OrderCallback
;
import
fi.codecrew.moya.model.EventUser
;
import
fi.codecrew.moya.model.EventUser
;
import
fi.codecrew.moya.model.EventUser_
;
import
fi.codecrew.moya.model.EventUser_
;
...
@@ -29,6 +34,7 @@ import fi.codecrew.moya.model.LanEvent;
...
@@ -29,6 +34,7 @@ import fi.codecrew.moya.model.LanEvent;
import
fi.codecrew.moya.model.User
;
import
fi.codecrew.moya.model.User
;
import
fi.codecrew.moya.model.User_
;
import
fi.codecrew.moya.model.User_
;
import
fi.codecrew.moya.util.UserSearchQuery
;
import
fi.codecrew.moya.util.UserSearchQuery
;
import
fi.codecrew.moya.utilities.SearchQuery.QuerySortOrder
;
import
fi.codecrew.moya.utilities.SearchResult
;
import
fi.codecrew.moya.utilities.SearchResult
;
import
fi.codecrew.moya.utilities.jpa.FacadeCallback
;
import
fi.codecrew.moya.utilities.jpa.FacadeCallback
;
...
@@ -47,6 +53,7 @@ public class EventUserFacade extends IntegerPkGenericFacade<EventUser> {
...
@@ -47,6 +53,7 @@ public class EventUserFacade extends IntegerPkGenericFacade<EventUser> {
}
}
private
final
Map
<
Integer
,
Map
<
String
,
Integer
>>
logincache
=
new
HashMap
<
Integer
,
Map
<
String
,
Integer
>>();
private
final
Map
<
Integer
,
Map
<
String
,
Integer
>>
logincache
=
new
HashMap
<
Integer
,
Map
<
String
,
Integer
>>();
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
EventUserFacade
.
class
);
public
EventUser
findByLogin
(
final
String
login
)
{
public
EventUser
findByLogin
(
final
String
login
)
{
LanEvent
event
=
eventBean
.
getCurrentEvent
();
LanEvent
event
=
eventBean
.
getCurrentEvent
();
...
@@ -108,14 +115,30 @@ public class EventUserFacade extends IntegerPkGenericFacade<EventUser> {
...
@@ -108,14 +115,30 @@ public class EventUserFacade extends IntegerPkGenericFacade<EventUser> {
public
SearchResult
<
EventUser
>
searchEventUsers
(
UserSearchQuery
query
)
{
public
SearchResult
<
EventUser
>
searchEventUsers
(
UserSearchQuery
query
)
{
ArrayList
<
FacadeCallback
<
EventUser
>>
callbacks
=
new
ArrayList
<
FacadeCallback
<
EventUser
>>();
ArrayList
<
FacadeCallback
<
EventUser
>>
callbacks
=
new
ArrayList
<
FacadeCallback
<
EventUser
>>();
callbacks
.
add
(
new
OrderCallback
<
EventUser
>(
false
,
EventUser_
.
id
));
CriteriaBuilder
cb
=
getEm
().
getCriteriaBuilder
();
callbacks
.
add
(
new
EventLimiter
(
eventBean
.
getCurrentEvent
()));
if
(
query
.
getSearch
()
!=
null
&&
!
query
.
getSearch
().
isEmpty
())
CriteriaQuery
<
EventUser
>
listCQuery
=
cb
.
createQuery
(
EventUser
.
class
);
CriteriaQuery
<
Long
>
countCQuery
=
cb
.
createQuery
(
Long
.
class
);
if
(
query
.
getSort
()
!=
null
)
{
{
boolean
asc
=
false
;
if
(
query
.
getSortDirection
()
!=
null
)
{
asc
=
QuerySortOrder
.
ASCENDING
.
equals
(
query
.
getSortDirection
());
}
SingularAttribute
<?
super
User
,
?>
sortfield
=
UserFacade
.
getUserField
(
query
.
getSort
());
logger
.
info
(
"Sortig with {}, asc {} "
,
sortfield
,
asc
);
callbacks
.
add
(
new
EventuserToUserWrapper
(
new
OrderCallback
<
User
>(
asc
,
sortfield
)));
}
else
{
callbacks
.
add
(
new
OrderCallback
<
EventUser
>(
false
,
EventUser_
.
id
));
}
callbacks
.
add
(
new
EventLimiter
(
eventBean
.
getCurrentEvent
()));
if
(
query
.
getSearch
()
!=
null
&&
!
query
.
getSearch
().
isEmpty
())
{
callbacks
.
add
(
new
EventUserSearchPredicate
(
query
.
getSearch
(),
UserFacade
.
getAttrlist
()));
callbacks
.
add
(
new
EventUserSearchPredicate
(
query
.
getSearch
(),
UserFacade
.
getAttrlist
()));
}
}
if
(
query
.
isPlaceAssoc
())
if
(
query
.
isPlaceAssoc
())
{
{
callbacks
.
add
(
new
EventUserPlacegroupPredicate
());
callbacks
.
add
(
new
EventUserPlacegroupPredicate
());
}
}
if
(
query
.
getFilterRoles
()
!=
null
&&
!
query
.
getFilterRoles
().
isEmpty
())
{
if
(
query
.
getFilterRoles
()
!=
null
&&
!
query
.
getFilterRoles
().
isEmpty
())
{
...
@@ -132,11 +155,6 @@ public class EventUserFacade extends IntegerPkGenericFacade<EventUser> {
...
@@ -132,11 +155,6 @@ public class EventUserFacade extends IntegerPkGenericFacade<EventUser> {
}
}
CriteriaBuilder
cb
=
getEm
().
getCriteriaBuilder
();
CriteriaQuery
<
EventUser
>
listCQuery
=
cb
.
createQuery
(
EventUser
.
class
);
CriteriaQuery
<
Long
>
countCQuery
=
cb
.
createQuery
(
Long
.
class
);
From
<?,
EventUser
>
listRoot
=
searchCallbacks
(
listCQuery
,
callbacks
,
EventUser
.
class
);
From
<?,
EventUser
>
listRoot
=
searchCallbacks
(
listCQuery
,
callbacks
,
EventUser
.
class
);
From
<?,
EventUser
>
countRoot
=
searchCallbacks
(
countCQuery
,
callbacks
,
EventUser
.
class
);
From
<?,
EventUser
>
countRoot
=
searchCallbacks
(
countCQuery
,
callbacks
,
EventUser
.
class
);
...
...
code/MoyaBeans/ejbModule/fi/codecrew/moya/facade/UserFacade.java
View file @
3a29778
...
@@ -15,12 +15,13 @@ import javax.persistence.metamodel.SingularAttribute;
...
@@ -15,12 +15,13 @@ import javax.persistence.metamodel.SingularAttribute;
import
org.slf4j.Logger
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
import
fi.codecrew.moya.beans.EventBeanLocal
;
import
fi.codecrew.moya.facade.callbacks.OrderCallback
;
import
fi.codecrew.moya.facade.callbacks.OrderCallback
;
import
fi.codecrew.moya.facade.callbacks.StringSearchPredicateCreator
;
import
fi.codecrew.moya.facade.callbacks.StringSearchPredicateCreator
;
import
fi.codecrew.moya.model.User_
;
import
fi.codecrew.moya.beans.EventBeanLocal
;
import
fi.codecrew.moya.model.User
;
import
fi.codecrew.moya.model.User
;
import
fi.codecrew.moya.model.User_
;
import
fi.codecrew.moya.utilities.SearchQuery
;
import
fi.codecrew.moya.utilities.SearchQuery
;
import
fi.codecrew.moya.utilities.SearchQuery.QuerySortOrder
;
import
fi.codecrew.moya.utilities.SearchResult
;
import
fi.codecrew.moya.utilities.SearchResult
;
import
fi.codecrew.moya.utilities.jpa.FacadeCallback
;
import
fi.codecrew.moya.utilities.jpa.FacadeCallback
;
...
@@ -102,11 +103,11 @@ public class UserFacade extends IntegerPkGenericFacade<User> {
...
@@ -102,11 +103,11 @@ public class UserFacade extends IntegerPkGenericFacade<User> {
public
SearchResult
<
User
>
searchAllUsers
(
SearchQuery
search
)
{
public
SearchResult
<
User
>
searchAllUsers
(
SearchQuery
search
)
{
List
<
FacadeCallback
<
User
>>
callbacks
=
new
ArrayList
<
FacadeCallback
<
User
>>();
List
<
FacadeCallback
<
User
>>
callbacks
=
new
ArrayList
<
FacadeCallback
<
User
>>();
if
(
search
.
getSort
()
==
null
||
search
.
getSort
().
isEmpty
())
{
callbacks
.
add
(
new
OrderCallback
<
User
>(
false
,
User_
.
id
));
// Ascending if null or not descending..
}
else
{
boolean
asc
=
search
.
getSortDirection
()
==
null
||
!
QuerySortOrder
.
DESCENDING
.
equals
(
search
.
getSortDirection
());
callbacks
.
add
(
new
OrderCallback
<
User
>(
false
,
search
.
getSort
()
));
SingularAttribute
<?
super
User
,
?>
sortfield
=
getUserField
(
search
.
getSort
(
));
}
callbacks
.
add
(
new
OrderCallback
<
User
>(
asc
,
sortfield
));
callbacks
.
add
(
new
StringSearchPredicateCreator
<
User
>(
search
.
getSearch
(),
getAttrlist
()));
callbacks
.
add
(
new
StringSearchPredicateCreator
<
User
>(
search
.
getSearch
(),
getAttrlist
()));
return
super
.
searcher
(
search
,
callbacks
);
return
super
.
searcher
(
search
,
callbacks
);
...
@@ -142,6 +143,68 @@ public class UserFacade extends IntegerPkGenericFacade<User> {
...
@@ -142,6 +143,68 @@ public class UserFacade extends IntegerPkGenericFacade<User> {
return
getEm
().
createQuery
(
cq
).
getResultList
();
return
getEm
().
createQuery
(
cq
).
getResultList
();
}
}
/**
* For example in sorting.
*
* @param fieldname
* @return By default return "id"
*/
public
static
SingularAttribute
<?
super
User
,
?>
getUserField
(
String
fieldname
)
{
SingularAttribute
<?
super
User
,
?>
sort
=
User_
.
id
;
if
(
fieldname
!=
null
)
{
switch
(
fieldname
)
{
case
"created"
:
sort
=
User_
.
created
;
break
;
case
"login"
:
sort
=
User_
.
login
;
break
;
case
"lastname"
:
sort
=
User_
.
lastname
;
break
;
case
"firstnames"
:
sort
=
User_
.
firstnames
;
break
;
case
"birthday"
:
sort
=
User_
.
birthday
;
break
;
case
"nick"
:
sort
=
User_
.
nick
;
break
;
case
"email"
:
sort
=
User_
.
email
;
break
;
case
"address"
:
sort
=
User_
.
address
;
break
;
case
"zip"
:
sort
=
User_
.
zip
;
break
;
case
"postalTown"
:
sort
=
User_
.
postalTown
;
break
;
case
"town"
:
sort
=
User_
.
town
;
break
;
case
"phone"
:
sort
=
User_
.
phone
;
break
;
case
"gender"
:
sort
=
User_
.
gender
;
break
;
case
"confirmTime"
:
sort
=
User_
.
confirmTime
;
break
;
case
"id"
:
default
:
sort
=
User_
.
id
;
}
}
return
sort
;
}
// public SearchResult<User> searchEventUsers(SearchQuery query)
// public SearchResult<User> searchEventUsers(SearchQuery query)
// {
// {
// ArrayList<FacadeCallback<EventUser>> callbacks = new
// ArrayList<FacadeCallback<EventUser>> callbacks = new
...
...
code/MoyaBeans/ejbModule/fi/codecrew/moya/facade/callbacks/AndPredicateCreator.java
View file @
3a29778
...
@@ -5,7 +5,7 @@ import java.util.List;
...
@@ -5,7 +5,7 @@ import java.util.List;
import
javax.persistence.criteria.CriteriaBuilder
;
import
javax.persistence.criteria.CriteriaBuilder
;
import
javax.persistence.criteria.CriteriaQuery
;
import
javax.persistence.criteria.CriteriaQuery
;
import
javax.persistence.criteria.
From
;
import
javax.persistence.criteria.
Path
;
import
javax.persistence.criteria.Predicate
;
import
javax.persistence.criteria.Predicate
;
import
javax.persistence.metamodel.SingularAttribute
;
import
javax.persistence.metamodel.SingularAttribute
;
...
@@ -27,7 +27,7 @@ public class AndPredicateCreator<A, T extends ModelInterface> implements FacadeC
...
@@ -27,7 +27,7 @@ public class AndPredicateCreator<A, T extends ModelInterface> implements FacadeC
}
}
@Override
@Override
public
void
exec
(
CriteriaBuilder
cb
,
CriteriaQuery
<?>
cq
,
From
<?,
T
>
root
,
List
<
Predicate
>
predicates
)
{
public
void
exec
(
CriteriaBuilder
cb
,
CriteriaQuery
<?>
cq
,
Path
<
T
>
root
,
List
<
Predicate
>
predicates
)
{
if
(
searchval
==
null
||
attributes
==
null
||
attributes
.
isEmpty
())
{
if
(
searchval
==
null
||
attributes
==
null
||
attributes
.
isEmpty
())
{
return
;
return
;
}
}
...
...
code/MoyaBeans/ejbModule/fi/codecrew/moya/facade/callbacks/EventLimiter.java
View file @
3a29778
...
@@ -4,11 +4,11 @@ import java.util.List;
...
@@ -4,11 +4,11 @@ import java.util.List;
import
javax.persistence.criteria.CriteriaBuilder
;
import
javax.persistence.criteria.CriteriaBuilder
;
import
javax.persistence.criteria.CriteriaQuery
;
import
javax.persistence.criteria.CriteriaQuery
;
import
javax.persistence.criteria.
From
;
import
javax.persistence.criteria.
Path
;
import
javax.persistence.criteria.Predicate
;
import
javax.persistence.criteria.Predicate
;
import
fi.codecrew.moya.model.EventUser_
;
import
fi.codecrew.moya.model.EventUser
;
import
fi.codecrew.moya.model.EventUser
;
import
fi.codecrew.moya.model.EventUser_
;
import
fi.codecrew.moya.model.LanEvent
;
import
fi.codecrew.moya.model.LanEvent
;
import
fi.codecrew.moya.utilities.jpa.FacadeCallback
;
import
fi.codecrew.moya.utilities.jpa.FacadeCallback
;
...
@@ -21,7 +21,7 @@ public class EventLimiter implements FacadeCallback<EventUser> {
...
@@ -21,7 +21,7 @@ public class EventLimiter implements FacadeCallback<EventUser> {
}
}
@Override
@Override
public
void
exec
(
CriteriaBuilder
cb
,
CriteriaQuery
<?>
cq
,
From
<?,
EventUser
>
root
,
List
<
Predicate
>
predicates
)
{
public
void
exec
(
CriteriaBuilder
cb
,
CriteriaQuery
<?>
cq
,
Path
<
EventUser
>
root
,
List
<
Predicate
>
predicates
)
{
predicates
.
add
(
cb
.
equal
(
root
.
get
(
EventUser_
.
event
),
ev
));
predicates
.
add
(
cb
.
equal
(
root
.
get
(
EventUser_
.
event
),
ev
));
}
}
...
...
code/MoyaBeans/ejbModule/fi/codecrew/moya/facade/callbacks/EventUserAccountSaldoPredicate.java
View file @
3a29778
...
@@ -5,14 +5,14 @@ import java.util.List;
...
@@ -5,14 +5,14 @@ import java.util.List;
import
javax.persistence.criteria.CriteriaBuilder
;
import
javax.persistence.criteria.CriteriaBuilder
;
import
javax.persistence.criteria.CriteriaQuery
;
import
javax.persistence.criteria.CriteriaQuery
;
import
javax.persistence.criteria.
From
;
import
javax.persistence.criteria.
Path
;
import
javax.persistence.criteria.Predicate
;
import
javax.persistence.criteria.Predicate
;
import
javax.persistence.criteria.Root
;
import
javax.persistence.criteria.Root
;
import
javax.persistence.criteria.Subquery
;
import
javax.persistence.criteria.Subquery
;
import
fi.codecrew.moya.model.AccountEvent_
;
import
fi.codecrew.moya.enums.DatabaseValueCompare
;
import
fi.codecrew.moya.enums.DatabaseValueCompare
;
import
fi.codecrew.moya.model.AccountEvent
;
import
fi.codecrew.moya.model.AccountEvent
;
import
fi.codecrew.moya.model.AccountEvent_
;
import
fi.codecrew.moya.model.EventUser
;
import
fi.codecrew.moya.model.EventUser
;
import
fi.codecrew.moya.utilities.jpa.FacadeCallback
;
import
fi.codecrew.moya.utilities.jpa.FacadeCallback
;
...
@@ -27,7 +27,7 @@ public class EventUserAccountSaldoPredicate implements FacadeCallback<EventUser>
...
@@ -27,7 +27,7 @@ public class EventUserAccountSaldoPredicate implements FacadeCallback<EventUser>
}
}
@Override
@Override
public
void
exec
(
CriteriaBuilder
cb
,
CriteriaQuery
<?>
cq
,
From
<?,
EventUser
>
root
,
List
<
Predicate
>
predicates
)
{
public
void
exec
(
CriteriaBuilder
cb
,
CriteriaQuery
<?>
cq
,
Path
<
EventUser
>
root
,
List
<
Predicate
>
predicates
)
{
Subquery
<
BigDecimal
>
subq
=
cq
.
subquery
(
BigDecimal
.
class
);
Subquery
<
BigDecimal
>
subq
=
cq
.
subquery
(
BigDecimal
.
class
);
Root
<
AccountEvent
>
acRoot
=
subq
.
from
(
AccountEvent
.
class
);
Root
<
AccountEvent
>
acRoot
=
subq
.
from
(
AccountEvent
.
class
);
subq
.
where
(
cb
.
equal
(
acRoot
.
get
(
AccountEvent_
.
user
),
root
));
subq
.
where
(
cb
.
equal
(
acRoot
.
get
(
AccountEvent_
.
user
),
root
));
...
...
code/MoyaBeans/ejbModule/fi/codecrew/moya/facade/callbacks/EventUserPlacegroupPredicate.java
View file @
3a29778
...
@@ -4,17 +4,17 @@ import java.util.List;
...
@@ -4,17 +4,17 @@ import java.util.List;
import
javax.persistence.criteria.CriteriaBuilder
;
import
javax.persistence.criteria.CriteriaBuilder
;
import
javax.persistence.criteria.CriteriaQuery
;
import
javax.persistence.criteria.CriteriaQuery
;
import
javax.persistence.criteria.
From
;
import
javax.persistence.criteria.
Path
;
import
javax.persistence.criteria.Predicate
;
import
javax.persistence.criteria.Predicate
;
import
fi.codecrew.moya.model.EventUser_
;
import
fi.codecrew.moya.model.EventUser
;
import
fi.codecrew.moya.model.EventUser
;
import
fi.codecrew.moya.model.EventUser_
;
import
fi.codecrew.moya.utilities.jpa.FacadeCallback
;
import
fi.codecrew.moya.utilities.jpa.FacadeCallback
;
public
class
EventUserPlacegroupPredicate
implements
FacadeCallback
<
EventUser
>
{
public
class
EventUserPlacegroupPredicate
implements
FacadeCallback
<
EventUser
>
{
@Override
@Override
public
void
exec
(
CriteriaBuilder
cb
,
CriteriaQuery
<?>
cq
,
From
<?,
EventUser
>
root
,
List
<
Predicate
>
predicates
)
{
public
void
exec
(
CriteriaBuilder
cb
,
CriteriaQuery
<?>
cq
,
Path
<
EventUser
>
root
,
List
<
Predicate
>
predicates
)
{
predicates
.
add
(
cb
.
isNotEmpty
(
root
.
get
(
EventUser_
.
groupMemberships
)));
predicates
.
add
(
cb
.
isNotEmpty
(
root
.
get
(
EventUser_
.
groupMemberships
)));
}
}
...
...
code/MoyaBeans/ejbModule/fi/codecrew/moya/facade/callbacks/EventUserRolefilter.java
View file @
3a29778
...
@@ -8,7 +8,6 @@ import java.util.Set;
...
@@ -8,7 +8,6 @@ import java.util.Set;
import
javax.persistence.criteria.CriteriaBuilder
;
import
javax.persistence.criteria.CriteriaBuilder
;
import
javax.persistence.criteria.CriteriaQuery
;
import
javax.persistence.criteria.CriteriaQuery
;
import
javax.persistence.criteria.From
;
import
javax.persistence.criteria.Path
;
import
javax.persistence.criteria.Path
;
import
javax.persistence.criteria.Predicate
;
import
javax.persistence.criteria.Predicate
;
import
javax.persistence.criteria.Root
;
import
javax.persistence.criteria.Root
;
...
@@ -18,13 +17,13 @@ import org.slf4j.Logger;
...
@@ -18,13 +17,13 @@ import org.slf4j.Logger;
import
org.slf4j.LoggerFactory
;
import
org.slf4j.LoggerFactory
;
import
fi.codecrew.moya.model.AccountEvent_
;
import
fi.codecrew.moya.model.AccountEvent_
;
import
fi.codecrew.moya.model.EventUser
;
import
fi.codecrew.moya.model.EventUser_
;
import
fi.codecrew.moya.model.EventUser_
;
import
fi.codecrew.moya.model.GroupMembership_
;
import
fi.codecrew.moya.model.GroupMembership_
;
import
fi.codecrew.moya.model.Place_
;
import
fi.codecrew.moya.model.Place_
;
import
fi.codecrew.moya.model.Product_
;
import
fi.codecrew.moya.model.Product_
;
import
fi.codecrew.moya.model.Role_
;
import
fi.codecrew.moya.model.EventUser
;
import
fi.codecrew.moya.model.Role
;
import
fi.codecrew.moya.model.Role
;
import
fi.codecrew.moya.model.Role_
;
import
fi.codecrew.moya.utilities.jpa.FacadeCallback
;
import
fi.codecrew.moya.utilities.jpa.FacadeCallback
;
public
class
EventUserRolefilter
implements
FacadeCallback
<
EventUser
>
{
public
class
EventUserRolefilter
implements
FacadeCallback
<
EventUser
>
{
...
@@ -49,7 +48,7 @@ public class EventUserRolefilter implements FacadeCallback<EventUser> {
...
@@ -49,7 +48,7 @@ public class EventUserRolefilter implements FacadeCallback<EventUser> {
return
checkedRoles
;
return
checkedRoles
;
}
}
public
void
exec
(
CriteriaBuilder
cb
,
CriteriaQuery
<?>
cq
,
From
<?,
EventUser
>
root
,
List
<
Predicate
>
predicates
)
{
public
void
exec
(
CriteriaBuilder
cb
,
CriteriaQuery
<?>
cq
,
Path
<
EventUser
>
root
,
List
<
Predicate
>
predicates
)
{
if
(
roles
!=
null
&&
!
roles
.
isEmpty
())
if
(
roles
!=
null
&&
!
roles
.
isEmpty
())
{
{
HashSet
<
Integer
>
roleids
=
new
HashSet
<
Integer
>();
HashSet
<
Integer
>
roleids
=
new
HashSet
<
Integer
>();
...
...
code/MoyaBeans/ejbModule/fi/codecrew/moya/facade/callbacks/EventuserToUserWrapper.java
0 → 100644
View file @
3a29778
package
fi
.
codecrew
.
moya
.
facade
.
callbacks
;
import
java.util.List
;
import
javax.persistence.criteria.CriteriaBuilder
;
import
javax.persistence.criteria.CriteriaQuery
;
import
javax.persistence.criteria.Path
;
import
javax.persistence.criteria.Predicate
;
import
fi.codecrew.moya.model.EventUser
;
import
fi.codecrew.moya.model.EventUser_
;
import
fi.codecrew.moya.model.User
;
import
fi.codecrew.moya.utilities.jpa.FacadeCallback
;
public
class
EventuserToUserWrapper
implements
FacadeCallback
<
EventUser
>
{
private
final
FacadeCallback
<
User
>[]
callbacks
;
@SafeVarargs
public
EventuserToUserWrapper
(
FacadeCallback
<
User
>...
wrapped
)
{
this
.
callbacks
=
wrapped
;
}
@Override
public
void
exec
(
CriteriaBuilder
cb
,
CriteriaQuery
<?>
cq
,
Path
<
EventUser
>
root
,
List
<
Predicate
>
predicates
)
{
for
(
FacadeCallback
<
User
>
subcallback
:
callbacks
)
{
subcallback
.
exec
(
cb
,
cq
,
root
.
get
(
EventUser_
.
user
),
predicates
);
}
}
}
code/MoyaBeans/ejbModule/fi/codecrew/moya/facade/callbacks/OrPredicateCreator.java
View file @
3a29778
...
@@ -4,7 +4,7 @@ import java.util.List;
...
@@ -4,7 +4,7 @@ import java.util.List;
import
javax.persistence.criteria.CriteriaBuilder
;
import
javax.persistence.criteria.CriteriaBuilder
;
import
javax.persistence.criteria.CriteriaQuery
;
import
javax.persistence.criteria.CriteriaQuery
;
import
javax.persistence.criteria.
From
;
import
javax.persistence.criteria.
Path
;
import
javax.persistence.criteria.Predicate
;
import
javax.persistence.criteria.Predicate
;
import
javax.persistence.metamodel.SingularAttribute
;
import
javax.persistence.metamodel.SingularAttribute
;
...
@@ -25,7 +25,7 @@ public class OrPredicateCreator<A, T extends ModelInterface> implements FacadeCa
...
@@ -25,7 +25,7 @@ public class OrPredicateCreator<A, T extends ModelInterface> implements FacadeCa
}
}
@Override
@Override
public
void
exec
(
CriteriaBuilder
cb
,
CriteriaQuery
<?>
cq
,
From
<?,
T
>
root
,
List
<
Predicate
>
predicates
)
{
public
void
exec
(
CriteriaBuilder
cb
,
CriteriaQuery
<?>
cq
,
Path
<
T
>
root
,
List
<
Predicate
>
predicates
)
{
if
(
searchstr
==
null
||
attributes
==
null
||
attributes
.
isEmpty
())
{
if
(
searchstr
==
null
||
attributes
==
null
||
attributes
.
isEmpty
())
{
return
;
return
;
}
}
...
...
code/MoyaBeans/ejbModule/fi/codecrew/moya/facade/callbacks/OrderCallback.java
View file @
3a29778
...
@@ -4,11 +4,14 @@ import java.util.List;
...
@@ -4,11 +4,14 @@ import java.util.List;
import
javax.persistence.criteria.CriteriaBuilder
;
import
javax.persistence.criteria.CriteriaBuilder
;
import
javax.persistence.criteria.CriteriaQuery
;
import
javax.persistence.criteria.CriteriaQuery
;
import
javax.persistence.criteria.
From
;
import
javax.persistence.criteria.
Expression
;
import
javax.persistence.criteria.Path
;
import
javax.persistence.criteria.Path
;
import
javax.persistence.criteria.Predicate
;
import
javax.persistence.criteria.Predicate
;
import
javax.persistence.metamodel.SingularAttribute
;
import
javax.persistence.metamodel.SingularAttribute
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
fi.codecrew.moya.utilities.jpa.FacadeCallback
;
import
fi.codecrew.moya.utilities.jpa.FacadeCallback
;
import
fi.codecrew.moya.utilities.jpa.ModelInterface
;
import
fi.codecrew.moya.utilities.jpa.ModelInterface
;
...
@@ -17,6 +20,7 @@ public class OrderCallback<T extends ModelInterface> implements FacadeCallback<T
...
@@ -17,6 +20,7 @@ public class OrderCallback<T extends ModelInterface> implements FacadeCallback<T
private
final
SingularAttribute
<?
super
T
,
?>
sort
;
private
final
SingularAttribute
<?
super
T
,
?>
sort
;
private
final
boolean
asc
;
private
final
boolean
asc
;
private
String
sortstr
;
private
String
sortstr
;
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
OrderCallback
.
class
);
public
OrderCallback
(
boolean
asc
,
SingularAttribute
<?
super
T
,
?>
sortAttr
)
{
public
OrderCallback
(
boolean
asc
,
SingularAttribute
<?
super
T
,
?>
sortAttr
)
{
sort
=
sortAttr
;
sort
=
sortAttr
;
...
@@ -31,16 +35,15 @@ public class OrderCallback<T extends ModelInterface> implements FacadeCallback<T
...
@@ -31,16 +35,15 @@ public class OrderCallback<T extends ModelInterface> implements FacadeCallback<T
}
}
@Override
@Override
public
void
exec
(
CriteriaBuilder
cb
,
CriteriaQuery
<?>
cq
,
From
<?,
T
>
root
,
List
<
Predicate
>
predicates
)
{
public
void
exec
(
CriteriaBuilder
cb
,
CriteriaQuery
<?>
cq
,
Path
<
T
>
root
,
List
<
Predicate
>
predicates
)
{
Class
<?>
rettype
=
cq
.
getResultType
();
Class
<?>
rettype
=
cq
.
getResultType
();
// Check if returntype is entity or are we for example counting results
// Check if returntype is entity or are we for example counting results
if
(!
ModelInterface
.
class
.
isAssignableFrom
(
rettype
))
if
(!
ModelInterface
.
class
.
isAssignableFrom
(
rettype
))
{
{
return
;
return
;
}
}
Path
<?>
path
=
null
;
Expression
<?>
path
=
null
;
if
(
sort
==
null
)
{
if
(
sort
==
null
)
{
if
(
sortstr
==
null
)
{
if
(
sortstr
==
null
)
{
return
;
return
;
...
@@ -56,6 +59,9 @@ public class OrderCallback<T extends ModelInterface> implements FacadeCallback<T
...
@@ -56,6 +59,9 @@ public class OrderCallback<T extends ModelInterface> implements FacadeCallback<T
if
(
path
==
null
)
{
if
(
path
==
null
)
{
return
;
return
;
}
}
if
(
path
.
getJavaType
().
equals
(
String
.
class
))
{
path
=
cb
.
lower
((
Expression
<
String
>)
path
);
}
if
(
asc
)
{
if
(
asc
)
{
cq
.
orderBy
(
cb
.
asc
(
path
));
cq
.
orderBy
(
cb
.
asc
(
path
));
...
...
code/MoyaBeans/ejbModule/fi/codecrew/moya/facade/callbacks/PathStringSearchPredicateCreator.java
View file @
3a29778
...
@@ -5,7 +5,6 @@ import java.util.List;
...
@@ -5,7 +5,6 @@ import java.util.List;
import
javax.persistence.criteria.CriteriaBuilder
;
import
javax.persistence.criteria.CriteriaBuilder
;
import
javax.persistence.criteria.CriteriaQuery
;
import
javax.persistence.criteria.CriteriaQuery
;
import
javax.persistence.criteria.From
;
import
javax.persistence.criteria.Path
;
import
javax.persistence.criteria.Path
;
import
javax.persistence.criteria.Predicate
;
import
javax.persistence.criteria.Predicate
;
import
javax.persistence.metamodel.SingularAttribute
;
import
javax.persistence.metamodel.SingularAttribute
;
...
@@ -44,7 +43,7 @@ public abstract class PathStringSearchPredicateCreator<T extends ModelInterface,
...
@@ -44,7 +43,7 @@ public abstract class PathStringSearchPredicateCreator<T extends ModelInterface,
}
}
@Override
@Override
public
void
exec
(
CriteriaBuilder
cb
,
CriteriaQuery
<?>
cq
,
From
<?,
T
>
path
,
List
<
Predicate
>
predicates
)
{
public
void
exec
(
CriteriaBuilder
cb
,
CriteriaQuery
<?>
cq
,
Path
<
T
>
path
,
List
<
Predicate
>
predicates
)
{
if
(
searchstr
==
null
||
attributes
==
null
||
attributes
.
isEmpty
())
{
if
(
searchstr
==
null
||
attributes
==
null
||
attributes
.
isEmpty
())
{
return
;
return
;
}
}
...
...
code/MoyaBeansClient/ejbModule/fi/codecrew/moya/beans/UserBeanLocal.java
View file @
3a29778
...
@@ -49,7 +49,7 @@ public interface UserBeanLocal {
...
@@ -49,7 +49,7 @@ public interface UserBeanLocal {
* ID of the User entity to be searcher
* ID of the User entity to be searcher
* @return
* @return
*/
*/
EventUser
findByUserId
(
Integer
userid
);
EventUser
findByUserId
(
Integer
userid
,
boolean
createEventuser
);
EventUser
findByEventUserId
(
Integer
integer
);
EventUser
findByEventUserId
(
Integer
integer
);
...
...
code/MoyaUtilities/src/main/java/fi/codecrew/moya/utilities/jpa/FacadeCallback.java
View file @
3a29778
...
@@ -4,14 +4,13 @@ import java.util.List;
...
@@ -4,14 +4,13 @@ import java.util.List;
import
javax.persistence.criteria.CriteriaBuilder
;
import
javax.persistence.criteria.CriteriaBuilder
;
import
javax.persistence.criteria.CriteriaQuery
;
import
javax.persistence.criteria.CriteriaQuery
;
import
javax.persistence.criteria.
From
;
import
javax.persistence.criteria.
Path
;
import
javax.persistence.criteria.Predicate
;
import
javax.persistence.criteria.Predicate
;
public
interface
FacadeCallback
<
C
extends
ModelInterface
>
{
public
interface
FacadeCallback
<
C
extends
ModelInterface
>
{
// void exec(CriteriaBuilder cb, CriteriaQuery<?> cq, Root<C> root,
// void exec(CriteriaBuilder cb, CriteriaQuery<?> cq, Root<C> root,
// List<Predicate> predicates);
// List<Predicate> predicates);
void
exec
(
CriteriaBuilder
cb
,
CriteriaQuery
<?>
cq
,
From
<?,
C
>
root
,
List
<
Predicate
>
predicates
);
void
exec
(
CriteriaBuilder
cb
,
CriteriaQuery
<?>
cq
,
Path
<
C
>
root
,
List
<
Predicate
>
predicates
);
}
}
code/MoyaWeb/WebContent/resources/cditools/user/eventuserlist.xhtml
View file @
3a29778
...
@@ -2,24 +2,20 @@
...
@@ -2,24 +2,20 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html
xmlns=
"http://www.w3.org/1999/xhtml"
xmlns:h=
"http://java.sun.com/jsf/html"
xmlns:f=
"http://java.sun.com/jsf/core"
xmlns:composite=
"http://java.sun.com/jsf/composite"
<html
xmlns=
"http://www.w3.org/1999/xhtml"
xmlns:h=
"http://java.sun.com/jsf/html"
xmlns:f=
"http://java.sun.com/jsf/core"
xmlns:composite=
"http://java.sun.com/jsf/composite"
xmlns:ui=
"http://java.sun.com/jsf/facelets"
xmlns:c=
"http://java.sun.com/jsp/jstl/core"
xmlns:tools=
"http://java.sun.com/jsf/composite/tools"
xmlns:p=
"http://primefaces.org/ui"
>
xmlns:ui=
"http://java.sun.com/jsf/facelets"
xmlns:c=
"http://java.sun.com/jsp/jstl/core"
xmlns:tools=
"http://java.sun.com/jsf/composite/tools"
xmlns:p=
"http://primefaces.org/ui"
>
<composite:interface>
<composite:interface>
</composite:interface>
</composite:interface>
<composite:implementation>
<composite:implementation>
<p:dataTable
styleClass=
"bordertable"
id=
"usertable"
value=
"#{userSearchView.eventuserModel}"
rows=
"20"
paginator=
"true"
lazy=
"true"
var=
"user"
>
<p:dataTable
styleClass=
"bordertable"
id=
"usertable"
value=
"#{userSearchView.eventuserModel}"
rows=
"20"
paginator=
"true"
lazy=
"true"
var=
"user"
>
<p:column>
<f:facet
name=
"header"
>
<p:column
headerText=
"#{i18n['user.nick']}"
sortBy=
"nick"
>
<h:link
value=
"#{i18n['user.nick']}"
includeViewParams=
"true"
>
<f:param
name=
"sort"
value=
"nick"
/>
</h:link>
</f:facet>
<h:outputText
styleClass=
"hoverable"
value=
"#{(empty user.nick)?'----':user.nick}"
/>
<h:outputText
styleClass=
"hoverable"
value=
"#{(empty user.nick)?'----':user.nick}"
/>
<div
class=
"userdata_popup"
>
<div
class=
"userdata_popup"
>
<h:panelGrid
columns=
"3"
>
<h:panelGrid
columns=
"3"
>
<img
style=
"width: 100px;"
src=
"#{request.contextPath}/dydata/userimage/#{user.currentImage.id}.img"
alt=
"image"
/>
<img
style=
"width: 100px;"
src=
"#{request.contextPath}/dydata/userimage/#{user.currentImage.id}.img"
alt=
"image"
/>
<h:panelGroup>
<h:panelGroup>
...
@@ -40,7 +36,7 @@
...
@@ -40,7 +36,7 @@
<h:outputText
value=
"#{user.email}"
/>
<h:outputText
value=
"#{user.email}"
/>
<br
/>
<br
/>
<h:outputText
value=
"#{i18n['user.accountBalance']}: "
/>
<h:outputText
value=
"#{i18n['user.accountBalance']}: "
/>
<h:outputText
value=
"#{user.accountBalance}"
>
<h:outputText
value=
"#{user.accountBalance}"
>
<f:convertNumber
maxFractionDigits=
"2"
minFractionDigits=
"0"
/>
<f:convertNumber
maxFractionDigits=
"2"
minFractionDigits=
"0"
/>
</h:outputText>
</h:outputText>
...
@@ -49,34 +45,23 @@
...
@@ -49,34 +45,23 @@
</div>
</div>
</p:column>
</p:column>
<p:column>
<p:column
sortBy=
"login"
headerText=
"#{i18n['user.login']}"
>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{wra.user.login}"
/>
<h:link
value=
"#{i18n['user.firstNames']}"
includeViewParams=
"true"
>
</p:column>
<f:param
name=
"sort"
value=
"firstnames"
/>
<p:column
headerText=
"#{i18n['user.firstNames']}"
sortBy=
"firstnames"
>
<f:param
name=
"page"
value=
"0"
/>
</h:link>
</f:facet>
<h:outputText
value=
"#{user.firstnames}"
/>
<h:outputText
value=
"#{user.firstnames}"
/>
</p:column>
</p:column>
<p:column>
<p:column
headerText=
"#{i18n['user.lastName']}"
sortBy=
"lastname"
>
<f:facet
name=
"header"
>
<h:link
value=
"#{i18n['user.lastName']}"
includeViewParams=
"true"
>
<f:param
name=
"sort"
value=
"lastname"
/>
</h:link>
</f:facet>
<h:outputText
value=
"#{user.lastname}"
/>
<h:outputText
value=
"#{user.lastname}"
/>
</p:column>
</p:column>
<p:column>
<p:column
headerText=
"#{i18n['user.email']}"
sortBy=
"email"
>
<f:facet
name=
"header"
>
<h:link
value=
"#{i18n['user.email']}"
includeViewParams=
"true"
>
<f:param
name=
"sort"
value=
"email"
/>
</h:link>
</f:facet>
<h:outputText
value=
"#{user.email}"
/>
<h:outputText
value=
"#{user.email}"
/>
</p:column>
</p:column>
<p:column>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['userlist.searchcount']}"
/>
:
<h:outputText
value=
"#{userSearchView.resultcount}"
/>
</f:facet>
<button
onclick=
"location.replace('#{request.contextPath}/useradmin/edit.jsf?userid=#{user.user.id}')"
>
#{i18n['user.edit']}
</button>
<button
onclick=
"location.replace('#{request.contextPath}/useradmin/edit.jsf?userid=#{user.user.id}')"
>
#{i18n['user.edit']}
</button>
</p:column>
</p:column>
...
@@ -85,15 +70,14 @@
...
@@ -85,15 +70,14 @@
</h:column> -->
</h:column> -->
</p:dataTable>
</p:dataTable>
<script>
<script>
jQuery
(
function
()
{
jQuery
(
function
()
{
jQuery
(
".hoverable"
).
hover
(
function
()
{
jQuery
(
".hoverable"
).
hover
(
function
()
{
jQuery
(
this
).
next
().
fadeIn
(
'fast'
);
jQuery
(
this
).
next
().
fadeIn
(
'fast'
);
},
},
function
()
{
function
()
{
jQuery
(
this
).
next
().
fadeOut
(
'fast'
);
jQuery
(
this
).
next
().
fadeOut
(
'fast'
);
});
});
});
});
</script>
</script>
</composite:implementation>
</composite:implementation>
</html>
</html>
...
...
code/MoyaWeb/WebContent/resources/cditools/user/list.xhtml
View file @
3a29778
...
@@ -7,48 +7,39 @@
...
@@ -7,48 +7,39 @@
</composite:interface>
</composite:interface>
<composite:implementation>
<composite:implementation>
<h:outputScript
library=
"primefaces"
name=
"jquery/jquery.js"
target=
"head"
/>
<h:outputScript
library=
"primefaces"
name=
"jquery/jquery.js"
target=
"head"
/>
<p:dataTable
id=
"user"
value=
"#{userSearchView.results}"
var=
"wra"
>
<p:dataTable
id=
"user"
value=
"#{userSearchView.userModel}"
rows=
"20"
var=
"wra"
paginator=
"true"
lazy=
"true"
>
<p:column>
<f:facet
name=
"header"
>
<p:column
sortBy=
"login"
headerText=
"#{i18n['user.login']}"
>
<h:link
value=
"#{i18n['user.nick']}"
includeViewParams=
"true"
>
<h:outputText
value=
"#{wra.user.login}"
/>
<f:param
name=
"sort"
value=
"nick"
/>
<f:param
name=
"page"
value=
"0"
/>
</h:link>
</f:facet>
<h:outputText
styleClass=
"hoverable"
value=
"#{(empty wra.user.nick)?'----':wra.user.nick}"
/>
</p:column>
</p:column>
<p:column>
<p:column
sortBy=
"nick"
headerText=
"#{i18n['user.nick']}"
>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{(empty wra.user.nick)?'----':wra.user.nick}"
/>
<h:link
value=
"#{i18n['user.firstnames']}"
includeViewParams=
"true"
>
</p:column>
<f:param
name=
"sort"
value=
"firstnames"
/>
<p:column
headerText=
"#{i18n['user.firstNames']}"
sortBy=
"firstnames"
>
<f:param
name=
"page"
value=
"0"
/>
</h:link>
</f:facet>
<h:outputText
value=
"#{wra.user.firstnames}"
/>
<h:outputText
value=
"#{wra.user.firstnames}"
/>
</p:column>
</p:column>
<p:column>
<p:column
headerText=
"#{i18n['user.lastName']}"
sortBy=
"lastname"
>
<f:facet
name=
"header"
>
<h:link
value=
"#{i18n['user.lastName']}"
includeViewParams=
"true"
>
<f:param
name=
"sort"
value=
"lastname"
/>
</h:link>
</f:facet>
<h:outputText
value=
"#{wra.user.lastname}"
/>
<h:outputText
value=
"#{wra.user.lastname}"
/>
</p:column>
</p:column>
<p:column
headerText=
"#{i18n['user.email']}"
sortBy=
"email"
>
<h:outputText
value=
"#{wra.user.email}"
/>
</p:column>
<p:column>
<p:column>
<f:facet
name=
"header"
>
<h:outputText
value=
"#{i18n['userlist.searchcount']}"
/>
:
<h:outputText
value=
"#{userSearchView.resultcount}"
/>
</f:facet>
<h:link
rendered=
"#{!empty wra.eventuser}"
outcome=
"/useradmin/edit"
value=
"#{i18n['user.edit']}"
>
<h:link
rendered=
"#{!empty wra.eventuser}"
outcome=
"/useradmin/edit"
value=
"#{i18n['user.edit']}"
>
<f:param
name=
"userid"
value=
"#{wra.user.id}"
/>
<f:param
name=
"userid"
value=
"#{wra.user.id}"
/>
</h:link>
</h:link>
<h:link
rendered=
"#{empty wra.eventuser}"
outcome=
"/useradmin/edit"
value=
"#{i18n['user.addToEvent']}"
onclick=
"return confirm('#{i18n['user.confirmUserToEventAdding']}')"
>
<h:link
rendered=
"#{empty wra.eventuser}"
outcome=
"/useradmin/edit"
value=
"#{i18n['user.addToEvent']}"
onclick=
"return confirm('#{i18n['user.confirmUserToEventAdding']}')"
>
<f:param
name=
"userid"
value=
"#{wra.user.id}"
/>
<f:param
name=
"userid"
value=
"#{wra.user.id}"
/>
</h:link>
</h:link>
<!-- <p:commandButton onClick="location.replace('#{request.contextPath}/useradmin/edit.jsf?userid=#{wra.user.id}')">#{i18n['user.edit']}</p:commandButton>
<!-- <p:commandButton onClick="location.replace('#{request.contextPath}/useradmin/edit.jsf?userid=#{wra.user.id}')">#{i18n['user.edit']}</p:commandButton>
<p:overlayPanel for="userinfoBtn">
<p:overlayPanel for="userinfoBtn">
<h:panelGrid columns="2">
<h:panelGrid columns="2">
<img style="width:100px;" src="#{request.contextPath}/dydata/userimage/#{wra.user.currentImage.id}.img" alt="image" />
<img style="width:100px;" src="#{request.contextPath}/dydata/userimage/#{wra.user.currentImage.id}.img" alt="image" />
...
@@ -65,15 +56,15 @@
...
@@ -65,15 +56,15 @@
</h:panelGroup>
</h:panelGroup>
</h:panelGrid>
</h:panelGrid>
</p:overlayPanel>
</p:overlayPanel>
-->
-->
</p:column>
</p:column>
<!-- <h:column>
<!-- <h:column>
<h:commandButton action="#{userView.shop()}" value="#{i18n['user.shop']}" />
<h:commandButton action="#{userView.shop()}" value="#{i18n['user.shop']}" />
</h:column> -->
</h:column> -->
</p:dataTable>
</p:dataTable>
<script>
<script>
jQuery
(
function
()
{
jQuery
(
function
()
{
jQuery
(
".hoverable"
).
hover
(
function
()
{
jQuery
(
".hoverable"
).
hover
(
function
()
{
...
...
code/MoyaWeb/WebContent/useradmin/list.xhtml
View file @
3a29778
...
@@ -69,7 +69,6 @@
...
@@ -69,7 +69,6 @@
</div>
</div>
</h:panelGroup>
</h:panelGroup>
</h:panelGrid>
</h:panelGrid>
<h:outputText
value=
"#{i18n['userlist.searchcount']}"
/>
:
<h:outputText
value=
"#{userSearchView.resultcount}"
/>
</h:form>
</h:form>
<p>
<p>
<users:list
rendered=
"#{!userSearchView.searchQuery.onlyThisEvent}"
/>
<users:list
rendered=
"#{!userSearchView.searchQuery.onlyThisEvent}"
/>
...
...
code/MoyaWeb/src/fi/codecrew/moya/HostnameFilter.java
View file @
3a29778
...
@@ -72,7 +72,7 @@ public class HostnameFilter implements Filter {
...
@@ -72,7 +72,7 @@ public class HostnameFilter implements Filter {
@Override
@Override
public
void
doFilter
(
ServletRequest
request
,
ServletResponse
response
,
public
void
doFilter
(
ServletRequest
request
,
ServletResponse
response
,
FilterChain
chain
)
throws
IOException
,
ServletException
{
FilterChain
chain
)
throws
IOException
,
ServletException
{
logger
.
info
(
"HostnameFilter called!"
);
//
logger.info("HostnameFilter called!");
HttpServletRequest
httpRequest
=
null
;
HttpServletRequest
httpRequest
=
null
;
if
(
request
!=
null
&&
request
instanceof
HttpServletRequest
)
{
if
(
request
!=
null
&&
request
instanceof
HttpServletRequest
)
{
...
@@ -161,14 +161,14 @@ public class HostnameFilter implements Filter {
...
@@ -161,14 +161,14 @@ public class HostnameFilter implements Filter {
protected
void
parseHostname
(
HttpServletRequest
httpRequest
)
protected
void
parseHostname
(
HttpServletRequest
httpRequest
)
{
{
logger
.
info
(
"Path info {}"
,
httpRequest
.
getPathInfo
());
//
logger.info("Path info {}", httpRequest.getPathInfo());
logger
.
info
(
"querystring {}"
,
httpRequest
.
getQueryString
());
//
logger.info("querystring {}", httpRequest.getQueryString());
logger
.
info
(
"ctxpath {}"
,
httpRequest
.
getContextPath
());
//
logger.info("ctxpath {}", httpRequest.getContextPath());
logger
.
info
(
"pathTranslated {}"
,
httpRequest
.
getPathTranslated
());
//
logger.info("pathTranslated {}", httpRequest.getPathTranslated());
logger
.
info
(
"requestUri {}"
,
httpRequest
.
getRequestURI
());
//
logger.info("requestUri {}", httpRequest.getRequestURI());
logger
.
info
(
"URL {}"
,
httpRequest
.
getRequestURL
().
toString
());
//
logger.info("URL {}", httpRequest.getRequestURL().toString());
logger
.
info
(
"servletpath {}"
,
httpRequest
.
getServletPath
());
//
logger.info("servletpath {}", httpRequest.getServletPath());
logger
.
info
(
"servletCtx {}"
,
httpRequest
.
getServletContext
());
//
logger.info("servletCtx {}", httpRequest.getServletContext());
StringBuffer
url
=
httpRequest
.
getRequestURL
();
StringBuffer
url
=
httpRequest
.
getRequestURL
();
// logger.info("Original hostname {}", url);
// logger.info("Original hostname {}", url);
// Subject subj = Subject.getSubject(AccessController.getContext());
// Subject subj = Subject.getSubject(AccessController.getContext());
...
...
code/MoyaWeb/src/fi/codecrew/moya/resources/i18n_en.properties
View file @
3a29778
...
@@ -1154,6 +1154,7 @@ tournaments.tournament_type = Tournament typ
...
@@ -1154,6 +1154,7 @@ tournaments.tournament_type = Tournament typ
user.accountBalance
=
Account balance
user.accountBalance
=
Account balance
user.accountEventHeader
=
Account events
user.accountEventHeader
=
Account events
user.accountevents
=
Account events
user.accountevents
=
Account events
user.addToEvent
=
Associate user to event
user.address
=
Address
user.address
=
Address
user.age
=
Age
user.age
=
Age
user.bank
=
Bank
user.bank
=
Bank
...
@@ -1163,6 +1164,7 @@ user.cardPower = Usertype
...
@@ -1163,6 +1164,7 @@ user.cardPower = Usertype
user.changePassword
=
Change password
user.changePassword
=
Change password
user.changepassword.forUser
=
For user
user.changepassword.forUser
=
For user
user.changepassword.title
=
Change password
user.changepassword.title
=
Change password
user.confirmUserToEventAdding
=
Are you sure you want to associate this user to this event?
user.create
=
Create user
user.create
=
Create user
user.createdmessage
=
User has been created successfully. You can now login.
user.createdmessage
=
User has been created successfully. You can now login.
user.cropImage
=
Crop image
user.cropImage
=
Crop image
...
...
code/MoyaWeb/src/fi/codecrew/moya/resources/i18n_fi.properties
View file @
3a29778
...
@@ -1139,6 +1139,7 @@ tournaments.tournament_type = Turnauksen tyy
...
@@ -1139,6 +1139,7 @@ tournaments.tournament_type = Turnauksen tyy
user.accountBalance
=
Tilin saldo
user.accountBalance
=
Tilin saldo
user.accountEventHeader
=
Tilitapahtumat
user.accountEventHeader
=
Tilitapahtumat
user.accountevents
=
Tilitapahtumat
user.accountevents
=
Tilitapahtumat
user.addToEvent
=
Liit
\u
00E4 k
\u
00E4ytt
\u
00E4j
\u
00E4 tapahtumaan
user.address
=
Osoite
user.address
=
Osoite
user.age
=
Ik
\u
00E4
user.age
=
Ik
\u
00E4
user.bank
=
Pankki
user.bank
=
Pankki
...
@@ -1148,6 +1149,7 @@ user.cardPower = K\u00E4ytt\u00E4j\u00E4tyyppi
...
@@ -1148,6 +1149,7 @@ user.cardPower = K\u00E4ytt\u00E4j\u00E4tyyppi
user.changePassword
=
Vaihda salasana
user.changePassword
=
Vaihda salasana
user.changepassword.forUser
=
K
\u
00E4ytt
\u
00E4j
\u
00E4lle
user.changepassword.forUser
=
K
\u
00E4ytt
\u
00E4j
\u
00E4lle
user.changepassword.title
=
Vaihda salasana
user.changepassword.title
=
Vaihda salasana
user.confirmUserToEventAdding
=
Oletko varma ett
\u
00E4 haluat liitt
\u
00E4
\u
00E4 t
\u
00E4m
\u
00E4n k
\u
00E4ytt
\u
00E4j
\u
00E4n t
\u
00E4h
\u
00E4n tapahtumaan?
user.create
=
Luo k
\u
00E4ytt
\u
00E4j
\u
00E4
user.create
=
Luo k
\u
00E4ytt
\u
00E4j
\u
00E4
user.createdmessage
=
K
\u
00E4ytt
\u
00E4j
\u
00E4tunnus on luotu onnistuneesti. Voit nyt kirjautua sis
\u
00E4
\u
00E4n.
user.createdmessage
=
K
\u
00E4ytt
\u
00E4j
\u
00E4tunnus on luotu onnistuneesti. Voit nyt kirjautua sis
\u
00E4
\u
00E4n.
user.cropImage
=
Rajaa
user.cropImage
=
Rajaa
...
...
code/MoyaWeb/src/fi/codecrew/moya/servlet/FileDownloadServlet.java
View file @
3a29778
...
@@ -60,13 +60,15 @@ public class FileDownloadServlet extends GenericImageServlet {
...
@@ -60,13 +60,15 @@ public class FileDownloadServlet extends GenericImageServlet {
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
FileDownloadServlet
.
class
);
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
FileDownloadServlet
.
class
);
/**
/**
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse response)
* @see HttpServlet#doPost(HttpServletRequest request, HttpServletResponse
* response)
*/
*/
private
static
final
Pattern
URLPATTERN
=
Pattern
.
compile
(
"([^./]+)"
);
private
static
final
Pattern
URLPATTERN
=
Pattern
.
compile
(
"([^./]+)"
);
/**
/**
* Usage MoyaWeb/dydata/format/ possible formats logo userimage/<eventuserid>.jpg cardtemplate/<cardtemplateid>.png usercard/
* Usage MoyaWeb/dydata/format/ possible formats logo
* userimage/<eventuserid>.jpg cardtemplate/<cardtemplateid>.png usercard/
*/
*/
@Override
@Override
protected
ImageMover
getImagedata
()
{
protected
ImageMover
getImagedata
()
{
...
@@ -132,7 +134,7 @@ public class FileDownloadServlet extends GenericImageServlet {
...
@@ -132,7 +134,7 @@ public class FileDownloadServlet extends GenericImageServlet {
{
{
int
userid
=
Integer
.
parseInt
(
urlparts
.
get
(
1
));
int
userid
=
Integer
.
parseInt
(
urlparts
.
get
(
1
));
EventUser
usr
=
userbean
.
findByUserId
(
userid
);
EventUser
usr
=
userbean
.
findByUserId
(
userid
,
false
);
logger
.
info
(
"Trying to print usercard for user {}"
,
usr
);
logger
.
info
(
"Trying to print usercard for user {}"
,
usr
);
if
(
usr
!=
null
)
{
if
(
usr
!=
null
)
{
...
...
code/MoyaWeb/src/fi/codecrew/moya/web/cdiview/user/ImportView.java
View file @
3a29778
...
@@ -164,11 +164,11 @@ public class ImportView extends GenericCDIView {
...
@@ -164,11 +164,11 @@ public class ImportView extends GenericCDIView {
// }
// }
//
//
public
ArrayList
<
Us
er
>
getUsers
()
{
public
ArrayList
<
ImportWrapp
er
>
getUsers
()
{
return
users
;
return
users
;
}
}
public
void
setUsers
(
ArrayList
<
Us
er
>
users
)
{
public
void
setUsers
(
ArrayList
<
ImportWrapp
er
>
users
)
{
this
.
users
=
users
;
this
.
users
=
users
;
}
}
...
...
code/MoyaWeb/src/fi/codecrew/moya/web/cdiview/user/UserSearchView.java
View file @
3a29778
...
@@ -11,6 +11,8 @@ import javax.inject.Named;
...
@@ -11,6 +11,8 @@ import javax.inject.Named;
import
org.primefaces.model.LazyDataModel
;
import
org.primefaces.model.LazyDataModel
;
import
org.primefaces.model.SortOrder
;
import
org.primefaces.model.SortOrder
;
import
org.slf4j.Logger
;
import
org.slf4j.LoggerFactory
;
import
fi.codecrew.moya.beans.UserBeanLocal
;
import
fi.codecrew.moya.beans.UserBeanLocal
;
import
fi.codecrew.moya.enums.apps.UserPermission
;
import
fi.codecrew.moya.enums.apps.UserPermission
;
...
@@ -29,6 +31,7 @@ public class UserSearchView extends PaginationView<UserWrapper> {
...
@@ -29,6 +31,7 @@ public class UserSearchView extends PaginationView<UserWrapper> {
public
static
class
UserWrapper
implements
ModelInterface
{
public
static
class
UserWrapper
implements
ModelInterface
{
private
static
final
long
serialVersionUID
=
8881170508994116964L
;
private
final
User
user
;
private
final
User
user
;
private
final
EventUser
eventuser
;
private
final
EventUser
eventuser
;
...
@@ -72,6 +75,9 @@ public class UserSearchView extends PaginationView<UserWrapper> {
...
@@ -72,6 +75,9 @@ public class UserSearchView extends PaginationView<UserWrapper> {
private
UserSearchQuery
usersearch
=
new
UserSearchQuery
();
private
UserSearchQuery
usersearch
=
new
UserSearchQuery
();
private
LazyDataModel
<
EventUser
>
eventuserModel
;
private
LazyDataModel
<
EventUser
>
eventuserModel
;
private
LazyDataModel
<
UserWrapper
>
userModel
;
private
static
final
Logger
logger
=
LoggerFactory
.
getLogger
(
UserSearchView
.
class
);
public
void
addToCart
()
public
void
addToCart
()
{
{
...
@@ -90,6 +96,7 @@ public class UserSearchView extends PaginationView<UserWrapper> {
...
@@ -90,6 +96,7 @@ public class UserSearchView extends PaginationView<UserWrapper> {
public
void
initView
()
{
public
void
initView
()
{
if
(
requirePermissions
(
permbean
.
hasPermission
(
UserPermission
.
VIEW_ALL
)))
{
if
(
requirePermissions
(
permbean
.
hasPermission
(
UserPermission
.
VIEW_ALL
)))
{
super
.
setSort
(
"id"
);
eventuserModel
=
new
LazyDataModel
<
EventUser
>()
{
eventuserModel
=
new
LazyDataModel
<
EventUser
>()
{
private
static
final
long
serialVersionUID
=
1L
;
private
static
final
long
serialVersionUID
=
1L
;
...
@@ -99,15 +106,18 @@ public class UserSearchView extends PaginationView<UserWrapper> {
...
@@ -99,15 +106,18 @@ public class UserSearchView extends PaginationView<UserWrapper> {
SortOrder
sortOrder
,
Map
<
String
,
String
>
filters
)
{
SortOrder
sortOrder
,
Map
<
String
,
String
>
filters
)
{
UserSearchQuery
sq
=
getSearchQuery
();
UserSearchQuery
sq
=
getSearchQuery
();
sq
.
setPagesize
(
pageSize
);
sq
.
setPagesize
(
pageSize
);
if
(
pageSize
>
0
)
if
(
pageSize
>
0
)
{
{
sq
.
setPage
(
first
/
pageSize
);
sq
.
setPage
(
first
/
pageSize
);
}
}
sq
.
setSort
(
sortField
);
sq
.
setSort
(
sortField
);
sq
.
setSortDirection
(
SortOrder
.
ASCENDING
.
equals
(
sortOrder
)
?
QuerySortOrder
.
ASCENDING
:
(
SortOrder
.
DESCENDING
.
equals
(
sortOrder
)
?
QuerySortOrder
.
DESCENDING
:
QuerySortOrder
.
UNSORTED
));
sq
.
setSortDirection
(
SortOrder
.
ASCENDING
.
equals
(
sortOrder
)
?
QuerySortOrder
.
ASCENDING
:
(
SortOrder
.
DESCENDING
.
equals
(
sortOrder
)
?
QuerySortOrder
.
DESCENDING
:
QuerySortOrder
.
UNSORTED
));
SearchResult
<
EventUser
>
sr
=
userbean
.
getThisEventsUsers
(
sq
);
SearchResult
<
EventUser
>
sr
=
userbean
.
getThisEventsUsers
(
sq
);
logger
.
info
(
"sortfield {}, order {}, querysort: {}"
,
sortField
,
sortOrder
,
sq
.
getSortDirection
());
this
.
setRowCount
(
new
Long
(
sr
.
getResultcount
()).
intValue
());
this
.
setRowCount
(
new
Long
(
sr
.
getResultcount
()).
intValue
());
this
.
setWrappedData
(
sr
.
getResults
());
setResultcount
(
sr
.
getResultcount
());
setResultcount
(
sr
.
getResultcount
());
setEventUserResults
(
sr
.
getResults
());
setEventUserResults
(
sr
.
getResults
());
...
@@ -125,28 +135,67 @@ public class UserSearchView extends PaginationView<UserWrapper> {
...
@@ -125,28 +135,67 @@ public class UserSearchView extends PaginationView<UserWrapper> {
};
};
if
(
usersearch
.
isOnlyThisEvent
()
||
usersearch
.
getSearch
()
==
null
||
usersearch
.
getSearch
().
isEmpty
())
userModel
=
new
LazyDataModel
<
UserWrapper
>()
{
{
usersearch
.
setOnlyThisEvent
(
true
);
private
static
final
long
serialVersionUID
=
1L
;
SearchResult
<
EventUser
>
eventusers
=
userbean
.
getThisEventsUsers
(
getSearchQuery
());
this
.
setResultcount
(
eventusers
.
getResultcount
());
@Override
this
.
setEventUserResults
(
eventusers
.
getResults
());
public
List
<
UserWrapper
>
load
(
int
first
,
int
pageSize
,
String
sortField
,
}
SortOrder
sortOrder
,
Map
<
String
,
String
>
filters
)
{
else
{
SearchResult
<
User
>
result
=
userbean
.
getUsers
(
getSearchQuery
());
UserSearchQuery
sq
=
getSearchQuery
();
setResultcount
(
result
.
getResultcount
());
sq
.
setPagesize
(
pageSize
);
ArrayList
<
UserWrapper
>
res
=
new
ArrayList
<
UserWrapper
>();
if
(
pageSize
>
0
)
{
for
(
User
u
:
result
.
getResults
())
{
sq
.
setPage
(
first
/
pageSize
);
res
.
add
(
new
UserWrapper
(
u
,
userbean
.
getEventUser
(
u
,
false
)));
}
if
(
sortField
==
null
||
sortField
.
isEmpty
())
{
sortField
=
"id"
;
}
sq
.
setSort
(
sortField
);
sq
.
setSortDirection
(
SortOrder
.
ASCENDING
.
equals
(
sortOrder
)
?
QuerySortOrder
.
ASCENDING
:
(
SortOrder
.
DESCENDING
.
equals
(
sortOrder
)
?
QuerySortOrder
.
DESCENDING
:
QuerySortOrder
.
UNSORTED
));
SearchResult
<
User
>
sr
=
userbean
.
getUsers
(
sq
);
this
.
setRowCount
(
new
Long
(
sr
.
getResultcount
()).
intValue
());
setResultcount
(
sr
.
getResultcount
());
List
<
UserWrapper
>
wrappers
=
getUserWrappers
(
sr
.
getResults
());
setResults
(
wrappers
);
this
.
setWrappedData
(
wrappers
);
return
wrappers
;
}
}
setResults
(
res
);
}
@Override
public
void
setRowIndex
(
int
rowIndex
)
{
if
(
getPageSize
()
==
0
)
{
rowIndex
=
-
1
;
}
super
.
setRowIndex
(
rowIndex
);
}
};
super
.
beginConversation
();
super
.
beginConversation
();
}
}
}
}
@Override
@Override
public
String
newSearch
()
{
String
ret
=
super
.
newSearch
();
return
ret
;
}
private
List
<
UserWrapper
>
getUserWrappers
(
List
<
User
>
users
)
{
ArrayList
<
UserWrapper
>
res
=
new
ArrayList
<
UserWrapper
>();
for
(
User
u
:
users
)
{
res
.
add
(
new
UserWrapper
(
u
,
userbean
.
getEventUser
(
u
,
false
)));
}
return
res
;
}
@Override
public
UserSearchQuery
getSearchQuery
()
public
UserSearchQuery
getSearchQuery
()
{
{
return
usersearch
;
return
usersearch
;
...
@@ -168,4 +217,12 @@ public class UserSearchView extends PaginationView<UserWrapper> {
...
@@ -168,4 +217,12 @@ public class UserSearchView extends PaginationView<UserWrapper> {
this
.
eventuserModel
=
eventuserModel
;
this
.
eventuserModel
=
eventuserModel
;
}
}
public
LazyDataModel
<
UserWrapper
>
getUserModel
()
{
return
userModel
;
}
public
void
setUserModel
(
LazyDataModel
<
UserWrapper
>
userModel
)
{
this
.
userModel
=
userModel
;
}
}
}
code/MoyaWeb/src/fi/codecrew/moya/web/cdiview/user/UserView.java
View file @
3a29778
...
@@ -153,7 +153,7 @@ public class UserView extends GenericCDIView {
...
@@ -153,7 +153,7 @@ public class UserView extends GenericCDIView {
public
EventUser
getSelectedUser
()
{
public
EventUser
getSelectedUser
()
{
if
(
user
==
null
)
{
if
(
user
==
null
)
{
if
(
userid
!=
null
&&
permbean
.
hasPermission
(
UserPermission
.
VIEW_ALL
))
{
if
(
userid
!=
null
&&
permbean
.
hasPermission
(
UserPermission
.
VIEW_ALL
))
{
user
=
userbean
.
findByUserId
(
userid
);
user
=
userbean
.
findByUserId
(
userid
,
true
);
}
else
{
}
else
{
user
=
getCurrentUser
();
user
=
getCurrentUser
();
}
}
...
...
code/MoyaWeb/src/fi/codecrew/moya/web/helper/LayoutView.java
View file @
3a29778
...
@@ -89,7 +89,7 @@ public class LayoutView implements Serializable {
...
@@ -89,7 +89,7 @@ public class LayoutView implements Serializable {
return
null
;
return
null
;
while
(
selectedTop
.
getParent
()
!=
null
)
{
while
(
selectedTop
.
getParent
()
!=
null
)
{
logger
.
info
(
"Traversing to top {}, key {}"
,
selectedTop
,
selectedTop
.
getKey
());
logger
.
debug
(
"Traversing to top {}, key {}"
,
selectedTop
,
selectedTop
.
getKey
());
selectedSet
.
add
(
selectedTop
);
selectedSet
.
add
(
selectedTop
);
selectedTop
=
selectedTop
.
getParent
();
selectedTop
=
selectedTop
.
getParent
();
}
}
...
...
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