Commit b5eedaea by Tuomas Riihimäki

override place fetching so that it checks that we are fetching place for current event.

1 parent ffbd7562
...@@ -64,6 +64,20 @@ public class PlaceFacade extends IntegerPkGenericFacade<Place> { ...@@ -64,6 +64,20 @@ public class PlaceFacade extends IntegerPkGenericFacade<Place> {
super(Place.class); super(Place.class);
} }
@Override
public Place find(Integer id) {
CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<Place> cq = cb.createQuery(Place.class);
Root<Place> root = cq.from(Place.class);
cq.where(
cb.equal(root.get(Place_.id), id),
cb.equal(root.get(Place_.map).get(EventMap_.event), eventBean.getCurrentEvent())
);
return super.getSingleNullableResult(getEm().createQuery(cq));
}
public void timeoutPlaces() { public void timeoutPlaces() {
CriteriaBuilder cb = getEm().getCriteriaBuilder(); CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<Place> cq = cb.createQuery(Place.class); CriteriaQuery<Place> cq = cb.createQuery(Place.class);
...@@ -114,7 +128,6 @@ public class PlaceFacade extends IntegerPkGenericFacade<Place> { ...@@ -114,7 +128,6 @@ public class PlaceFacade extends IntegerPkGenericFacade<Place> {
return q.getResultList(); return q.getResultList();
} }
public List<Place> findUsersUnlocketSelected(EventUser user) { public List<Place> findUsersUnlocketSelected(EventUser user) {
CriteriaBuilder cb = getEm().getCriteriaBuilder(); CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<Place> cq = cb.createQuery(Place.class); CriteriaQuery<Place> cq = cb.createQuery(Place.class);
...@@ -127,14 +140,12 @@ public class PlaceFacade extends IntegerPkGenericFacade<Place> { ...@@ -127,14 +140,12 @@ public class PlaceFacade extends IntegerPkGenericFacade<Place> {
cb.equal(root.get(Place_.map).get(EventMap_.event), user.getEvent()), cb.equal(root.get(Place_.map).get(EventMap_.event), user.getEvent()),
cb.equal(root.get(Place_.currentUser), user), cb.equal(root.get(Place_.currentUser), user),
cb.isNull(root.get(Place_.group)) cb.isNull(root.get(Place_.group))
)); ));
TypedQuery<Place> q = getEm().createQuery(cq); TypedQuery<Place> q = getEm().createQuery(cq);
return q.getResultList(); return q.getResultList();
} }
public int setBuyable(EventMap map, String like, boolean b) { public int setBuyable(EventMap map, String like, boolean b) {
CriteriaBuilder cb = getEm().getCriteriaBuilder(); CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<Place> cq = cb.createQuery(Place.class); CriteriaQuery<Place> cq = cb.createQuery(Place.class);
...@@ -236,8 +247,7 @@ public class PlaceFacade extends IntegerPkGenericFacade<Place> { ...@@ -236,8 +247,7 @@ public class PlaceFacade extends IntegerPkGenericFacade<Place> {
// TKwtf lisäsi: // TKwtf lisäsi:
cb.isTrue(root.get(Place_.buyable)) cb.isTrue(root.get(Place_.buyable))
); );
return getSingleNullableResult(getEm().createQuery(cq)); return getSingleNullableResult(getEm().createQuery(cq));
...@@ -303,7 +313,7 @@ public class PlaceFacade extends IntegerPkGenericFacade<Place> { ...@@ -303,7 +313,7 @@ public class PlaceFacade extends IntegerPkGenericFacade<Place> {
subq.where( subq.where(
placeJoin.get(Place_.id).isNotNull(), placeJoin.get(Place_.id).isNotNull(),
cb.equal(placeJoin.get(Place_.map).get(EventMap_.event), eventBean.getCurrentEvent()) cb.equal(placeJoin.get(Place_.map).get(EventMap_.event), eventBean.getCurrentEvent())
); );
cq.where(root.get(Product_.id).in(subq)); cq.where(root.get(Product_.id).in(subq));
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!