Commit 75a86224 by Tuomas Riihimäki

Eh.. jotain, vielä kun muistais mitä...

1 parent f2af2991
...@@ -67,7 +67,7 @@ public class PollBean implements PollBeanLocal { ...@@ -67,7 +67,7 @@ public class PollBean implements PollBeanLocal {
@RolesAllowed(PollPermission.S_VIEW_RESULTS) @RolesAllowed(PollPermission.S_VIEW_RESULTS)
public List<Poll> findAllPolls() { public List<Poll> findAllPolls() {
return pollFacade.findAll(eventBean.getCurrentEvent()); return pollFacade.findAll();
} }
......
...@@ -3,12 +3,14 @@ package fi.insomnia.bortal.facade; ...@@ -3,12 +3,14 @@ package fi.insomnia.bortal.facade;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
import javax.ejb.EJB;
import javax.ejb.LocalBean; import javax.ejb.LocalBean;
import javax.ejb.Stateless; import javax.ejb.Stateless;
import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root; import javax.persistence.criteria.Root;
import fi.insomnia.bortal.beans.EventBeanLocal;
import fi.insomnia.bortal.model.LanEvent; import fi.insomnia.bortal.model.LanEvent;
import fi.insomnia.bortal.model.Poll; import fi.insomnia.bortal.model.Poll;
import fi.insomnia.bortal.model.Poll_; import fi.insomnia.bortal.model.Poll_;
...@@ -17,6 +19,9 @@ import fi.insomnia.bortal.model.Poll_; ...@@ -17,6 +19,9 @@ import fi.insomnia.bortal.model.Poll_;
@LocalBean @LocalBean
public class PollFacade extends IntegerPkGenericFacade<Poll> { public class PollFacade extends IntegerPkGenericFacade<Poll> {
@EJB
private EventBeanLocal eventBean;
public PollFacade() { public PollFacade() {
super(Poll.class); super(Poll.class);
...@@ -50,6 +55,17 @@ public class PollFacade extends IntegerPkGenericFacade<Poll> { ...@@ -50,6 +55,17 @@ public class PollFacade extends IntegerPkGenericFacade<Poll> {
// return false; // return false;
// } // }
@Override
public Poll find(Integer id)
{
CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<Poll> cq = cb.createQuery(Poll.class);
Root<Poll> root = cq.from(Poll.class);
cq.where(cb.equal(root.get(Poll_.id), id),
cb.equal(root.get(Poll_.event), eventBean.getCurrentEvent()));
return super.getSingleNullableResult(getEm().createQuery(cq));
}
public List<Poll> findAllUsable(LanEvent currentEvent) { public List<Poll> findAllUsable(LanEvent currentEvent) {
Date now = new Date(); Date now = new Date();
...@@ -66,13 +82,12 @@ public class PollFacade extends IntegerPkGenericFacade<Poll> { ...@@ -66,13 +82,12 @@ public class PollFacade extends IntegerPkGenericFacade<Poll> {
} }
public List<Poll> findAll(LanEvent currentEvent) { public List<Poll> findAll() {
CriteriaBuilder cb = getEm().getCriteriaBuilder(); CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<Poll> cq = cb.createQuery(Poll.class); CriteriaQuery<Poll> cq = cb.createQuery(Poll.class);
Root<Poll> root = cq.from(Poll.class); Root<Poll> root = cq.from(Poll.class);
cq.where(cb.equal(root.get(Poll_.event), eventBean.getCurrentEvent()));
cq.where(cb.equal(root.get(Poll_.event), currentEvent));
return getEm().createQuery(cq).getResultList(); return getEm().createQuery(cq).getResultList();
} }
......
...@@ -26,6 +26,7 @@ public class ReaderEventFacade extends IntegerPkGenericFacade<ReaderEvent> { ...@@ -26,6 +26,7 @@ public class ReaderEventFacade extends IntegerPkGenericFacade<ReaderEvent> {
CriteriaBuilder cb = getEm().getCriteriaBuilder(); CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<ReaderEvent> cq = cb.createQuery(ReaderEvent.class); CriteriaQuery<ReaderEvent> cq = cb.createQuery(ReaderEvent.class);
Root<ReaderEvent> root = cq.from(ReaderEvent.class); Root<ReaderEvent> root = cq.from(ReaderEvent.class);
cq.where(cb.equal(root.get(ReaderEvent_.reader), reader)); cq.where(cb.equal(root.get(ReaderEvent_.reader), reader));
cq.orderBy(cb.desc(root.get(ReaderEvent_.time))); cq.orderBy(cb.desc(root.get(ReaderEvent_.time)));
......
...@@ -77,7 +77,10 @@ public class PollView extends GenericCDIView { ...@@ -77,7 +77,10 @@ public class PollView extends GenericCDIView {
if (super.requirePermissions(PollPermission.ANSWER) && poll == null) { if (super.requirePermissions(PollPermission.ANSWER) && poll == null) {
thisPage = 1; thisPage = 1;
poll = pollBean.find(pollId); poll = pollBean.find(pollId);
if (super.requirePermissions(poll != null))
{
return;
}
pages = new HashMap<Integer, List<QuestionWrapper>>(); pages = new HashMap<Integer, List<QuestionWrapper>>();
logger.info("initializing poll {}", poll); logger.info("initializing poll {}", poll);
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!