UserSearchView.java
3.5 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
121
122
123
124
125
126
127
128
129
130
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.SearchQuery.QuerySortOrder;
import fi.codecrew.moya.utilities.SearchResult;
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();
}
@Override
public void setRowIndex(int rowIndex) {
if (getPageSize() == 0) {
rowIndex = -1;
}
super.setRowIndex(rowIndex);
}
};
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.getUsers(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;
}
}