UserSearchView.java
3.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
package fi.codecrew.moya.web.cdiview.user;
import java.util.List;
import java.util.Map;
import javax.ejb.EJB;
import javax.enterprise.context.ConversationScoped;
import javax.inject.Inject;
import javax.inject.Named;
import org.primefaces.model.LazyDataModel;
import org.primefaces.model.SortOrder;
import fi.codecrew.moya.beans.UserBeanLocal;
import fi.codecrew.moya.enums.apps.UserPermission;
import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.model.User;
import fi.codecrew.moya.util.UserSearchQuery;
import fi.codecrew.moya.utilities.SearchResult;
import fi.codecrew.moya.utilities.SearchQuery.QuerySortOrder;
import fi.codecrew.moya.web.cdiview.PaginationView;
@Named
@ConversationScoped
public class UserSearchView extends PaginationView<User> {
/**
*
*/
private static final long serialVersionUID = -7131921062890234604L;
@EJB
private transient UserBeanLocal userbean;
private List<EventUser> eventUserResults;
@Inject
private UserCartView usercart;
private UserSearchQuery usersearch = new UserSearchQuery();
private LazyDataModel<EventUser> eventuserModel;
public void addToCart()
{
int pagesize = usersearch.getPagesize();
int page = usersearch.getPage();
usersearch.setPagesize(999999999);
usersearch.setPage(0);
SearchResult<EventUser> eventusers = userbean.getThisEventsUsers(usersearch);
usercart.addUsers(eventusers.getResults());
usersearch.setPagesize(pagesize);
usersearch.setPage(page);
super.beginConversation();
}
public void initView() {
if (requirePermissions(permbean.hasPermission(UserPermission.VIEW_ALL))) {
eventuserModel = new LazyDataModel<EventUser>() {
private static final long serialVersionUID = 1L;
@Override
public List<EventUser> load(int first, int pageSize, String sortField,
SortOrder sortOrder, Map<String, String> filters) {
UserSearchQuery sq = getSearchQuery();
sq.setPagesize(pageSize);
if (pageSize > 0)
{
sq.setPage(first / pageSize);
}
sq.setSort(sortField);
sq.setSortDirection(SortOrder.ASCENDING.equals(sortOrder) ? QuerySortOrder.ASCENDING : (SortOrder.DESCENDING.equals(sortOrder) ? QuerySortOrder.DESCENDING : QuerySortOrder.UNSORTED));
SearchResult<EventUser> sr = userbean.getThisEventsUsers(sq);
this.setRowCount(new Long(sr.getResultcount()).intValue());
setResultcount(sr.getResultcount());
setEventUserResults(sr.getResults());
return sr.getResults();
}
};
if (usersearch.isOnlyThisEvent() || usersearch.getSearch() == null || usersearch.getSearch().isEmpty())
{
usersearch.setOnlyThisEvent(true);
SearchResult<EventUser> eventusers = userbean.getThisEventsUsers(getSearchQuery());
this.setResultcount(eventusers.getResultcount());
this.setEventUserResults(eventusers.getResults());
}
else {
super.setResult(userbean.getEventUsers(getSearchQuery()));
}
super.beginConversation();
}
}
@Override
public UserSearchQuery getSearchQuery()
{
return usersearch;
}
public List<EventUser> getEventUserResults() {
return eventUserResults;
}
public void setEventUserResults(List<EventUser> eventUserResults) {
this.eventUserResults = eventUserResults;
}
public LazyDataModel<EventUser> getEventuserModel() {
return eventuserModel;
}
public void setEventuserModel(LazyDataModel<EventUser> eventuserModel) {
this.eventuserModel = eventuserModel;
}
}