Commit cd4e1970 by Tuomas Riihimäki

Pollstuff

1 parent 699596dd
...@@ -90,6 +90,9 @@ public class MenuBean implements MenuBeanLocal { ...@@ -90,6 +90,9 @@ public class MenuBean implements MenuBeanLocal {
MenuNavigation userEvent = usermenu.addPage(null, null); MenuNavigation userEvent = usermenu.addPage(null, null);
userEvent.setKey("topnavi.userevent"); userEvent.setKey("topnavi.userevent");
userEvent.addPage(menuitemfacade.findOrCreate("/poll/index"), PollPermission.ANSWER); userEvent.addPage(menuitemfacade.findOrCreate("/poll/index"), PollPermission.ANSWER);
userEvent.addPage(menuitemfacade.findOrCreate("/poll/answerToPoll"), PollPermission.ANSWER).setVisible(false);
;
userEvent.addPage(menuitemfacade.findOrCreate("/user/invite"), UserPermission.INVITE_USERS); userEvent.addPage(menuitemfacade.findOrCreate("/user/invite"), UserPermission.INVITE_USERS);
userEvent.addPage(menuitemfacade.findOrCreate("/feedback/index"), UserPermission.VITUTTAAKO); userEvent.addPage(menuitemfacade.findOrCreate("/feedback/index"), UserPermission.VITUTTAAKO);
......
...@@ -10,6 +10,7 @@ import javax.persistence.JoinColumn; ...@@ -10,6 +10,7 @@ import javax.persistence.JoinColumn;
import javax.persistence.Lob; import javax.persistence.Lob;
import javax.persistence.ManyToOne; import javax.persistence.ManyToOne;
import javax.persistence.OneToMany; import javax.persistence.OneToMany;
import javax.persistence.OrderBy;
import javax.persistence.Table; import javax.persistence.Table;
import org.eclipse.persistence.annotations.OptimisticLocking; import org.eclipse.persistence.annotations.OptimisticLocking;
...@@ -39,6 +40,7 @@ public class PollQuestion extends GenericEntity { ...@@ -39,6 +40,7 @@ public class PollQuestion extends GenericEntity {
private Poll poll; private Poll poll;
@OneToMany(mappedBy = "question", cascade = CascadeType.ALL) @OneToMany(mappedBy = "question", cascade = CascadeType.ALL)
@OrderBy("sort")
private List<PossibleAnswer> answers = new ArrayList<PossibleAnswer>(); private List<PossibleAnswer> answers = new ArrayList<PossibleAnswer>();
public static final String EVENT_ID_COLUMN = "event_id"; public static final String EVENT_ID_COLUMN = "event_id";
......
...@@ -7,7 +7,9 @@ public enum ProductFlag { ...@@ -7,7 +7,9 @@ public enum ProductFlag {
// vaiheessa --tuomari // vaiheessa --tuomari
CREATE_NEW_PLACE_WHEN_BOUGHT, CREATE_NEW_PLACE_WHEN_BOUGHT,
RESERVE_PLACE_WHEN_BOUGHT, RESERVE_PLACE_WHEN_BOUGHT,
PREPAID_INSTANT_CREATE, USER_SHOPPABLE; PREPAID_INSTANT_CREATE,
HIDE_FROM_INFOSHOP,
USER_SHOPPABLE;
private static final String KEY_PREFIX = "productFlag."; private static final String KEY_PREFIX = "productFlag.";
private final String key; private final String key;
......
...@@ -4,7 +4,9 @@ ...@@ -4,7 +4,9 @@
xmlns:h="http://java.sun.com/jsf/html" xmlns:h="http://java.sun.com/jsf/html"
xmlns:tools="http://java.sun.com/jsf/composite/cditools" xmlns:tools="http://java.sun.com/jsf/composite/cditools"
xmlns:f="http://java.sun.com/jsf/core" xmlns:f="http://java.sun.com/jsf/core"
xmlns:p="http://primefaces.org/ui" > xmlns:p="http://primefaces.org/ui"
xmlns:login="http://java.sun.com/jsf/composite/cditools/login"
>
<h:body> <h:body>
<ui:composition template="#{sessionHandler.template}"> <ui:composition template="#{sessionHandler.template}">
...@@ -13,6 +15,7 @@ ...@@ -13,6 +15,7 @@
<p> <p>
<h:outputText rendered="#{not sessionHandler.loggedIn}" value="#{i18n['permissiondenied.notLoggedIn']}" /> <h:outputText rendered="#{not sessionHandler.loggedIn}" value="#{i18n['permissiondenied.notLoggedIn']}" />
<h:outputText rendered="#{sessionHandler.loggedIn}" value="#{i18n['permissiondenied.alreadyLoggedIn']}" /> <h:outputText rendered="#{sessionHandler.loggedIn}" value="#{i18n['permissiondenied.alreadyLoggedIn']}" />
<login:login rendered="#{not sessionHandler.loggedIn}"/>
</p> </p>
</ui:define> </ui:define>
</ui:composition> </ui:composition>
......
...@@ -12,11 +12,24 @@ ...@@ -12,11 +12,24 @@
<f:event type="preRenderView" listener="#{pollView.initPoll}" /> <f:event type="preRenderView" listener="#{pollView.initPoll}" />
</f:metadata> </f:metadata>
<ui:define name="headerdata">
</ui:define>
<ui:define name="content"> <ui:define name="content">
<style type="text/css">
.questionform tr td {
border-color: black;
border-width: 1px 0 0 0;
border-style: solid;
}
.questionform tr td td {
border-style: none;
}
</style>
<h:messages /> <h:messages />
<h1>#{pollView.poll.name}</h1> <h1>#{pollView.poll.name}</h1>
<p>#{pollView.poll.description}</p> <p>#{pollView.poll.description}</p>
<h:form id="answerForm"> <h:form id="answerForm" styleClass="questionform">
<h:dataTable border="0" id="questions" value="#{pollView.currentPage}" var="question"> <h:dataTable border="0" id="questions" value="#{pollView.currentPage}" var="question">
<h:column> <h:column>
<h:outputText escape="false" value="#{question.question.question}" /> <h:outputText escape="false" value="#{question.question.question}" />
......
...@@ -205,23 +205,44 @@ public class TestDataView { ...@@ -205,23 +205,44 @@ public class TestDataView {
public void createPalaute() { public void createPalaute() {
Poll poll = new Poll(); Poll poll = new Poll();
poll.setName("Tapahtumapalaute"); poll.setName("Tapahtumapalaute");
poll.setDescription("Verkkopelitapahtuma Insomnia järjestetään pelaajia varten ja pyrimme kehittämään tapahtumaa vuosi vuodelta. Palautteesi on meille ensiarvoisen tärkeää ja palautetta antaneiden kesken arvotaan pro-konepaikkoja ensi vuoden Insomniaan! Palautelomake on auki 6.11. asti ja konepaikka-arvonta suoritetaan 7.11. Voittajille ilmoitetaan henkilökohtaisesti."); poll.setDescription("Verkkopelitapahtuma Insomnia järjestetään pelaajia varten ja pyrimme kehittämään tapahtumaa vuosi vuodelta. " +
"Palautteesi on meille ensiarvoisen tärkeää ja palautetta antaneiden kesken arvotaan konepaikkoja ensi vuoden Insomniaan! " +
"Palautelomake on auki 3.11. asti ja konepaikka-arvonta suoritetaan 4.11. Voittajille ilmoitetaan henkilökohtaisesti.");
Calendar end = Calendar.getInstance(); Calendar end = Calendar.getInstance();
end.add(Calendar.MONTH, 1); end.set(Calendar.MONTH, 11);
end.set(Calendar.DAY_OF_MONTH, 3);
end.set(Calendar.MINUTE, 59);
end.set(Calendar.HOUR, 23);
poll.setEnd(end.getTime()); poll.setEnd(end.getTime());
createTextQuestion(poll, 10, createMulticoice(poll, 10, "Minkä kouluarvosanan antaisit tapahtumalle?", "4", "5", "6", "7", "8", "9", "10");
"Millainen fiilis sinulla oli tapahtumassa?"); createMulticoice(poll, 20, "Tämän vuoden tapahtuma oli parempi kuin viime vuonna?",
"täysin samaa mieltä",
"jokseenkin samaa mieltä",
"en osaa sanoa",
"jokseenkin eri mieltä",
"täysin eri mieltä");
createTextQuestion(poll, 20, createMulticoice(poll, 30, "Monessako Insomnia-tapahtumassa olet käynyt? ", "Ensimmäinen tapahtumani", "2", "3", "4", "5", "Enemmän kuin 5");
"Miten mielestäsi onnistuimme peliturnauksissa pelattavien pelien valinnassa?"); createMulticoice(poll, 40, "Mistä kuulit Insomnia XV -tapahtumasta?", "kaverilta", "uutisesta", "irkistä", "Assembly-tapahtumasta", "Muualta, mistä?");
createTextQuestion(poll, 50, "Mistä kuulit Insomnia XV -tapahtumasta (muualta, mistä)");
createTextQuestion(poll, 30, "Toimiko uusi nukkuma-alue?"); createMulticoice(poll, 60, "Miten tyytyväinen olit infon palveluun?", "Erittäin tyytyväinen", "Jokseenkin tyytyväinen", "Jokseenkin tyytymätön", "Erittäin tyytymätön");
createMulticoice(poll, 70, "Miten tyytyväinen olit infon myyntivalikoimaan?", "Erittäin tyytyväinen", "Jokseenkin tyytyväinen", "Jokseenkin tyytymätön", "Erittäin tyytymätön");
createTextQuestion(poll, 40, "Mitä pidit InsomniaGame2.0:sta?"); createMulticoice(poll, 80, "Miten tyytyväinen olit konepaikan pöytään?", "Erittäin tyytyväinen", "Jokseenkin tyytyväinen", "Jokseenkin tyytymätön", "Erittäin tyytymätön");
createMulticoice(poll, 90, "Miten tyytyväinen olit konepaikan tuoliin?", "Erittäin tyytyväinen", "Jokseenkin tyytyväinen", "Jokseenkin tyytymätön", "Erittäin tyytymätön");
createMulticoice(poll, 100, "Miten tyytyväinen olit konepaikan verkkoyhteyteen?", "Erittäin tyytyväinen", "Jokseenkin tyytyväinen", "Jokseenkin tyytymätön", "Erittäin tyytymätön");
createTextQuestion(poll, 50, "Kanada, eli muu palaute tapahtumasta?"); createMulticoice(poll, 110, "Miten tyytyväinen olit turnaushenkilökunnan palveluun?", "Erittäin tyytyväinen", "Jokseenkin tyytyväinen", "Jokseenkin tyytymätön", "Erittäin tyytymätön");
createMulticoice(poll, 120, "Miten tyytyväinen olit pelialueen järjestelyihin [PC] ?", "Erittäin tyytyväinen", "Jokseenkin tyytyväinen", "Jokseenkin tyytymätön", "Erittäin tyytymätön");
createMulticoice(poll, 130, "Miten tyytyväinen olit pelialueen järjestelyihin [Konsoli]?", "Erittäin tyytyväinen", "Jokseenkin tyytyväinen", "Jokseenkin tyytymätön", "Erittäin tyytymätön");
createMulticoice(poll, 140, "Mitä pidit tapahtuman videostriimeistä?", "En katsonut", "Erittäin tyytyväinen", "Jokseenkin tyytyväinen", "Jokseenkin tyytymätön", "Erittäin tyytymätön");
createTextQuestion(poll, 10000, "Vapaa palaute (risut ja ruusut)");
pollbean.createPoll(poll); pollbean.createPoll(poll);
...@@ -328,13 +349,13 @@ public class TestDataView { ...@@ -328,13 +349,13 @@ public class TestDataView {
pollq.setSort(sort); pollq.setSort(sort);
poll2.getQuestions().add(pollq); poll2.getQuestions().add(pollq);
Integer anssort = 10; Integer anssort = 10;
for (String ans : answers) { for (String ans : answers) {
PossibleAnswer pans = new PossibleAnswer(); PossibleAnswer pans = new PossibleAnswer();
pans.setQuestion(pollq); pans.setQuestion(pollq);
pans.setAnswer(ans); pans.setAnswer(ans);
pans.setSort(anssort); pans.setSort(anssort += 10);
pollq.getAnswers().add(pans); pollq.getAnswers().add(pans);
anssort += 10;
} }
} }
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!