PlaceGroupView.java
3.42 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
131
132
133
134
135
136
137
138
139
140
141
package fi.insomnia.bortal.view;
import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.model.ListDataModel;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import fi.insomnia.bortal.beans.PlaceBeanLocal;
import fi.insomnia.bortal.beans.PlaceGroupBeanLocal;
import fi.insomnia.bortal.beans.UserBeanLocal;
import fi.insomnia.bortal.enums.Permission;
import fi.insomnia.bortal.enums.RolePermission;
import fi.insomnia.bortal.model.GroupMembership;
import fi.insomnia.bortal.model.Place;
import fi.insomnia.bortal.model.PlaceGroup;
import fi.insomnia.bortal.model.User;
@ManagedBean(name = "placeGroupView_old")
@SessionScoped
public class PlaceGroupView extends GenericView {
private static final Logger logger = LoggerFactory.getLogger(PlaceGroupView.class);
private User user;
@EJB
private UserBeanLocal userBean;
@EJB
private PlaceGroupBeanLocal placegroupBean;
private ListDataModel<GroupMembership> memberlist;
@EJB
private PlaceBeanLocal placebean;
@EJB
private PlaceGroupBeanLocal placegroupBean;
private PlaceGroup group;
private String token;
private ListDataModel<Place> placelist;
private Place place;
public void editSelf() {
userBean.fatalNotLoggedIn();
setUser(userBean.getCurrentUser());
}
public void initPlacegroupsPlacelist() {
setPlacelist(new ListDataModel<Place>(group.getPlaces()));
}
public void setUser(User user) {
this.user = user;
}
public User getUser() {
userBean.fatalNotLoggedIn();
if (user != null) {
logger.debug("User {}", user.getPlaceGroups().size());
}
return user;
}
public ListDataModel<GroupMembership> getGroupMemberships() {
userBean.fatalNotLoggedIn();
memberlist = new ListDataModel<GroupMembership>(placegroupBean.getMembershipsAndCreations(user));
return memberlist;
}
public void setToken(String token) {
this.token = token;
}
public String getToken() {
return token;
}
public boolean canModify(GroupMembership row) {
boolean ret = false;
if (row != null && (
userBean.getCurrentUser().equals(row.getPlaceGroup().getCreator()) ||
userBean.hasPermission(Permission.MAP, RolePermission.WRITE))) {
ret = true;
}
return ret;
}
public String releasePlace() {
GroupMembership row = memberlist.getRowData();
if (row != null && (userBean.getCurrentUser().equals(row.getPlaceGroup().getCreator()) ||
userBean.hasPermission(Permission.MAP, RolePermission.WRITE))) {
placegroupBean.releaseAndGenerateToken(row);
this.addFaceMessage("placegroupview.placeReleased", row.getPlaceReservation().getName());
} else {
this.addFaceMessage("placegroupview.placeReleaseFailed", row.getPlaceReservation().getName());
}
return null;
}
public String removePlaceFromGroup() {
userBean.fatalPermission(Permission.MAP, RolePermission.WRITE, "No right to release place ", place);
place.getGroup().getPlaces().remove(place);
place.setGroup(null);
place = placebean.mergeChanges(place);
return null;
}
public String editPlace() {
place = placelist.getRowData();
return null;
}
public void setGroup(PlaceGroup group) {
this.group = group;
}
public PlaceGroup getGroup() {
return group;
}
public void setPlacelist(ListDataModel<Place> placelist) {
this.placelist = placelist;
}
public ListDataModel<Place> getPlacelist() {
return placelist;
}
public void setPlace(Place place) {
this.place = place;
}
public Place getPlace() {
return place;
}
}