Commit cd4e1970 by Tuomas Riihimäki

Pollstuff

1 parent 699596dd
......@@ -90,6 +90,9 @@ public class MenuBean implements MenuBeanLocal {
MenuNavigation userEvent = usermenu.addPage(null, null);
userEvent.setKey("topnavi.userevent");
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("/feedback/index"), UserPermission.VITUTTAAKO);
......
......@@ -10,6 +10,7 @@ import javax.persistence.JoinColumn;
import javax.persistence.Lob;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OrderBy;
import javax.persistence.Table;
import org.eclipse.persistence.annotations.OptimisticLocking;
......@@ -39,6 +40,7 @@ public class PollQuestion extends GenericEntity {
private Poll poll;
@OneToMany(mappedBy = "question", cascade = CascadeType.ALL)
@OrderBy("sort")
private List<PossibleAnswer> answers = new ArrayList<PossibleAnswer>();
public static final String EVENT_ID_COLUMN = "event_id";
......
......@@ -7,7 +7,9 @@ public enum ProductFlag {
// vaiheessa --tuomari
CREATE_NEW_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 final String key;
......
......@@ -4,7 +4,9 @@
xmlns:h="http://java.sun.com/jsf/html"
xmlns:tools="http://java.sun.com/jsf/composite/cditools"
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>
<ui:composition template="#{sessionHandler.template}">
......@@ -13,6 +15,7 @@
<p>
<h:outputText rendered="#{not sessionHandler.loggedIn}" value="#{i18n['permissiondenied.notLoggedIn']}" />
<h:outputText rendered="#{sessionHandler.loggedIn}" value="#{i18n['permissiondenied.alreadyLoggedIn']}" />
<login:login rendered="#{not sessionHandler.loggedIn}"/>
</p>
</ui:define>
</ui:composition>
......
......@@ -12,11 +12,24 @@
<f:event type="preRenderView" listener="#{pollView.initPoll}" />
</f:metadata>
<ui:define name="headerdata">
</ui:define>
<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 />
<h1>#{pollView.poll.name}</h1>
<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:column>
<h:outputText escape="false" value="#{question.question.question}" />
......
......@@ -205,23 +205,44 @@ public class TestDataView {
public void createPalaute() {
Poll poll = new Poll();
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();
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());
createTextQuestion(poll, 10,
"Millainen fiilis sinulla oli tapahtumassa?");
createMulticoice(poll, 10, "Minkä kouluarvosanan antaisit tapahtumalle?", "4", "5", "6", "7", "8", "9", "10");
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,
"Miten mielestäsi onnistuimme peliturnauksissa pelattavien pelien valinnassa?");
createMulticoice(poll, 30, "Monessako Insomnia-tapahtumassa olet käynyt? ", "Ensimmäinen tapahtumani", "2", "3", "4", "5", "Enemmän kuin 5");
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);
......@@ -328,13 +349,13 @@ public class TestDataView {
pollq.setSort(sort);
poll2.getQuestions().add(pollq);
Integer anssort = 10;
for (String ans : answers) {
PossibleAnswer pans = new PossibleAnswer();
pans.setQuestion(pollq);
pans.setAnswer(ans);
pans.setSort(anssort);
pans.setSort(anssort += 10);
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!