Commit 9b4c35a5 by Tuukka Kivilahti

theme changer stuff, remember to update your maven

1 parent 7d4faae0
......@@ -211,6 +211,10 @@ public class BootstrapBean implements BootstrapBeanLocal {
dbUpdates.add(new String[] {
"ALTER TABLE events ADD COLUMN ticket_sales_begin timestamp without time zone DEFAULT null;",
});
dbUpdates.add(new String[] {
"ALTER TABLE events ADD COLUMN theme varchar(255) DEFAULT null;",
});
} // start_time timestamp without time zone,
@EJB
......
......@@ -45,6 +45,9 @@ public class LanEvent extends GenericEntity {
@Column(name = "name", nullable = false, unique = true)
private String name;
@Column(name = "theme")
private String theme;
@Column(nullable = false, name = "event_enabled")
private boolean eventEnabled = false;
......@@ -303,4 +306,12 @@ public class LanEvent extends GenericEntity {
this.ticketSalesBegin = ticketSalesBegin;
}
public String getTheme() {
return theme;
}
public void setTheme(String theme) {
this.theme = theme;
}
}
......@@ -83,5 +83,8 @@
<dependent-module archiveName="moya-terminal-web-0.2.0.war" deploy-path="/" handle="module:/resource/MoyaTerminalWeb/MoyaTerminalWeb">
<dependency-type>uses</dependency-type>
</dependent-module>
<dependent-module archiveName="all-themes-1.0.10.jar" deploy-path="/lib" handle="module:/classpath/var/M2_REPO/org/primefaces/themes/all-themes/1.0.10/all-themes-1.0.10.jar">
<dependency-type>uses</dependency-type>
</dependent-module>
</wb-module>
</project-modules>
......@@ -103,6 +103,11 @@
<version>0.2.0</version>
<type>war</type>
</dependency>
<dependency>
<groupId>org.primefaces.themes</groupId>
<artifactId>all-themes</artifactId>
<version>1.0.10</version>
</dependency>
</dependencies>
<repositories>
......@@ -111,5 +116,10 @@
<name>jvnet-nexus-releases</name>
<url>https://maven.java.net/content/repositories/releases/</url>
</repository>
<repository>
<id>prime-repo</id>
<name>PrimeFaces Maven Repository</name>
<url>http://repository.primefaces.org</url>
</repository>
</repositories>
</project>
\ No newline at end of file
......@@ -7,6 +7,12 @@
<param-name>javax.faces.FACELETS_SKIP_COMMENTS</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>primefaces.THEME</param-name>
<param-value>#{sessionHandler.theme}</param-value>
</context-param>
<!-- Asetetaan PROJECT_STAGE JNDI:llä, ja fallbackataan arvoon Development -->
<resource-ref>
<res-ref-name>jsf/ProjectStage</res-ref-name>
......
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:p="http://primefaces.org/ui"
xmlns:users="http://java.sun.com/jsf/composite/tools/user" xmlns:c="http://java.sun.com/jsp/jstl/core">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:p="http://primefaces.org/ui" xmlns:users="http://java.sun.com/jsf/composite/tools/user" xmlns:c="http://java.sun.com/jsp/jstl/core">
<h:body>
<ui:composition template="#{sessionHandler.template}">
<f:metadata>
<f:viewParam name="eventid" value="#{eventorgView.eventid}" />
<f:event type="preRenderView" listener="#{eventorgView.initEditEvent}" />
</f:metadata>
<ui:define name="title">
<h1>#{i18n['lecturegroup.list.title']}</h1>
<h1>#{i18n['eventorg.title']}</h1>
</ui:define>
<ui:define name="content">
<h:form id="notifyForm">
<p:outputPanel rendered="#{eventorgView.showDatesError}">
<p class="error"><b>#{i18n['event.nodates.title']}</b></p>
<p class="error">
<b>#{i18n['event.nodates.title']}</b>
</p>
<p class="error">#{i18n['event.nodates.message']}</p>
</p:outputPanel>
</h:form>
<h:form id="orgform">
<h:panelGrid columns="3">
<h:outputLabel for="id" value="#{i18n['event.id']}:" />
<h:outputLabel id="id" value="#{eventorgView.event.id}" />
<h:message for="id" />
<h:outputLabel for="name" value="#{i18n['event.name']}:" />
<h:inputText id="name" value="#{eventorgView.event.name}" />
<h:message for="name" />
<h:outputLabel for="refbase" value="#{i18n['event.referenceNumberBase']}:" />
<h:inputText id="refbase" value="#{eventorgView.event.referenceNumberBase}" />
<h:message for="refbase" />
<h:outputLabel for="nextbillnr" value="#{i18n['event.nextBillNumber']}:" />
<h:inputText id="nextbillnr" value="#{eventorgView.event.nextBillNumber}" />
<h:message for="nextbillnr" />
<h:outputLabel for="salesBegin" value="#{i18n['event.ticketSalesBegin']}:" />
<p:calendar id="salesBegin" value="#{eventorgView.event.ticketSalesBegin}" pattern="#{sessionHandler.dateFormat}" timeZone="#{sessionHandler.timezone}" showOn="button" />
<h:message for="salesBegin" />
<h:outputLabel for="starttime" value="#{i18n['event.startTime']}:" />
<p:calendar id="starttime" value="#{eventorgView.event.startTime}" pattern="#{sessionHandler.dateFormat}" timeZone="#{sessionHandler.timezone}" showOn="button" />
<h:message for="starttime" />
<h:outputLabel for="endTime" value="#{i18n['event.endTime']}:" />
<p:calendar id="endTime" value="#{eventorgView.event.endTime}" pattern="#{sessionHandler.dateFormat}" timeZone="#{sessionHandler.timezone}" showOn="button" />
<h:message for="endTime" />
<h:outputLabel for="defaultrole" value="#{i18n['event.defaultRole']}:" />
<h:selectOneMenu id="defaultrole" converter="#{roleConverter}" value="#{eventorgView.event.defaultRole}">
<f:selectItem itemLabel="---" />
<f:selectItems var="role" itemLabel="#{role.name}" value="#{eventorgView.event.roles}" />
</h:selectOneMenu>
<h:message for="defaultrole" />
</h:panelGrid>
<h:commandButton id="commitbtn" action="#{eventorgView.saveEvent()}" value="#{i18n['event.save']}" />
<h:form id="orgform">
<p:fieldset legend="#{i18n['eventorg.basicDetails']}">
<p:panelGrid columns="3">
<p:outputLabel for="id" value="#{i18n['event.id']}:" />
<p:outputLabel id="id" value="#{eventorgView.event.id}" />
<p:message for="id" />
<p:outputLabel for="name" value="#{i18n['event.name']}:" />
<p:inputText id="name" value="#{eventorgView.event.name}" style="width: 200px;" />
<p:message for="name" />
<p:outputLabel for="refbase" value="#{i18n['event.referenceNumberBase']}:" />
<p:inputText id="refbase" value="#{eventorgView.event.referenceNumberBase}" style="width: 200px;" />
<p:message for="refbase" />
<p:outputLabel for="nextbillnr" value="#{i18n['event.nextBillNumber']}:" />
<p:inputText id="nextbillnr" value="#{eventorgView.event.nextBillNumber}" style="width: 200px;" />
<p:message for="nextbillnr" />
<p:outputLabel for="salesBegin" value="#{i18n['event.ticketSalesBegin']}:" />
<p:calendar id="salesBegin" value="#{eventorgView.event.ticketSalesBegin}" pattern="#{sessionHandler.dateFormat}" timeZone="#{sessionHandler.timezone}" showOn="button" style="width: 200px;" />
<p:message for="salesBegin" />
<p:outputLabel for="starttime" value="#{i18n['event.startTime']}:" />
<p:calendar id="starttime" value="#{eventorgView.event.startTime}" pattern="#{sessionHandler.dateFormat}" timeZone="#{sessionHandler.timezone}" showOn="button" style="width: 200px;" />
<p:message for="starttime" />
<p:outputLabel for="endTime" value="#{i18n['event.endTime']}:" />
<p:calendar id="endTime" value="#{eventorgView.event.endTime}" pattern="#{sessionHandler.dateFormat}" timeZone="#{sessionHandler.timezone}" showOn="button" style="width: 200px;" />
<p:message for="endTime" />
<p:outputLabel for="themeSwitcher" value="#{i18n['event.theme']}:" />
<p:themeSwitcher value="#{eventorgView.event.theme}" id="themeSwitcher" var="t" style="width: 200px;" >
<f:selectItem itemLabel="Choose Theme" itemValue="" />
<f:selectItems value="#{themeSwitcherView.themes}" />
</p:themeSwitcher>
<p:message for="themeSwitcher" />
<p:outputLabel for="defaultrole" value="#{i18n['event.defaultRole']}:" />
<p:selectOneMenu id="defaultrole" converter="#{roleConverter}" value="#{eventorgView.event.defaultRole}" style="width: 200px;">
<f:selectItem itemLabel="---" />
<f:selectItems var="role" itemLabel="#{role.name}" value="#{eventorgView.event.roles}" />
</p:selectOneMenu>
<p:message for="defaultrole" />
</p:panelGrid>
<p:commandButton id="commitbtn" actionListener="#{eventorgView.saveEvent()}" value="#{i18n['event.save']}" ajax="false" />
</p:fieldset>
</h:form>
<br /><br /><br /><br /><br />
<h2>#{i18n['event.domains.title']}</h2>
<h:form id="newDomainForm">
......@@ -107,8 +117,7 @@
<p:commandButton ajax="false" action="#{eventPropertyView.editProperty}" value="#{i18n['lanEventProperty.editProperty']}" update=":propertyEditForm" />
</h:column>
<h:column>
<p:commandButton ajax="false" action="#{eventPropertyView.deleteProperty}" onclick="return confirm('#{i18n['lanEventProperty.confirmDelete']}')"
value="#{i18n['lanEventProperty.deleteProperty']}" update=":propertyListForm" />
<p:commandButton ajax="false" action="#{eventPropertyView.deleteProperty}" onclick="return confirm('#{i18n['lanEventProperty.confirmDelete']}')" value="#{i18n['lanEventProperty.deleteProperty']}" update=":propertyListForm" />
</h:column>
</h:dataTable>
......@@ -178,13 +187,12 @@
</h:column>
<h:column>
<p:commandButton ajax="false" action="#{eventPropertyView.editPrivateProperty}" value="#{i18n['lanEventPrivateProperty.editProperty']}">
<p:commandButton ajax="false" action="#{eventPropertyView.editPrivateProperty}" value="#{i18n['lanEventPrivateProperty.editProperty']}">
<!-- <f:ajax render="@all" execute="@form"/> -->
</p:commandButton>
</h:column>
<h:column>
<p:commandButton ajax="false" action="#{eventPropertyView.deletePrivateProperty}" onclick="return confirm('#{i18n['lanEventProperty.confirmDelete']}')"
value="#{i18n['lanEventProperty.deleteProperty']}" update="@form" />
<p:commandButton ajax="false" action="#{eventPropertyView.deletePrivateProperty}" onclick="return confirm('#{i18n['lanEventProperty.confirmDelete']}')" value="#{i18n['lanEventProperty.deleteProperty']}" update="@form" />
</h:column>
</h:dataTable>
</h:form>
......@@ -217,7 +225,7 @@
<h:message rendered="#{eventPropertyView.privateProperty.key.date}" for="textval" />
</h:panelGrid>
<p:commandButton ajax="false" action="#{eventPropertyView.savePrivateProperty}" value="#{i18n['lanEventPrivateProperty.save']}" update=":privatePropertyEditor" />
<p:commandButton ajax="false" action="#{eventPropertyView.savePrivateProperty}" value="#{i18n['lanEventPrivateProperty.save']}" update=":privatePropertyEditor" />
</h:form>
......
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
xmlns:users="http://java.sun.com/jsf/composite/tools/user" xmlns:p="http://primefaces.org/ui" xmlns:c="http://java.sun.com/jsp/jstl/core">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:users="http://java.sun.com/jsf/composite/tools/user" xmlns:p="http://primefaces.org/ui" xmlns:c="http://java.sun.com/jsp/jstl/core">
<h:body>
<ui:composition template="#{sessionHandler.template}">
<ui:param name="thispage" value="page.eventorg.create" />
<f:metadata>
<f:event type="preRenderView" listener="#{feedbackView.initFeedback}" />
</f:metadata>
<ui:define name="content">
<h1>Avaudu tähän:</h1>
<h:form id="feedback">
<h:inputTextarea value="#{feedbackView.feedback}" cols="50" rows="10"/><br/>
<p:commandButton ajax="false" value="#{i18n['feedback.submit']}" action="#{feedbackView.submitFeedback}" />
<h:inputTextarea value="#{feedbackView.feedback}" cols="50" rows="10" />
<br />
<p:commandButton ajax="false" value="#{i18n['feedback.submit']}" action="#{feedbackView.submitFeedback}" />
</h:form>
......
......@@ -44,7 +44,6 @@
<id>prime-repo</id>
<name>PrimeFaces Maven Repository</name>
<url>http://repository.primefaces.org</url>
<layout>default</layout>
</repository>
</repositories>
<dependencies>
......@@ -83,5 +82,10 @@
<artifactId>primefaces</artifactId>
<version>5.0</version>
</dependency>
<dependency>
<groupId>org.primefaces.themes</groupId>
<artifactId>all-themes</artifactId>
<version>1.0.10</version>
</dependency>
</dependencies>
</project>
\ No newline at end of file
......@@ -52,6 +52,7 @@ public class SessionHandler {
private SessionStore sessionStore;
private String template;
private String theme;
public TimeZone getTimezone() {
return TimeZone.getTimeZone("Europe/Helsinki");
......@@ -67,6 +68,22 @@ public class SessionHandler {
}
return retStr;
}
public String getTheme() {
if(theme == null) {
theme = eventbean.getCurrentEvent().getTheme();
}
if (theme == null) {
// primefaces default theme
theme = "aristo";
}
return theme;
}
public void setTheme(String theme) {
logger.debug("Setting theme to: "+theme);
}
public String getFullscreen() {
template = "blipview";
......
......@@ -142,6 +142,7 @@ event.referenceNumberBase = Reference number base
event.running = K\u00E4ynniss\u00E4
event.save = Save
event.startTime = Start time
event.theme = Teema
event.ticketSale = Lipunmyynti
event.ticketSalesBegin = Lipunmyynti alkaa
......@@ -151,7 +152,9 @@ eventdomain.remove = Remove
eventmap.active = Active
eventorg.create = Create
eventorg.basicDetails = Perustiedot
eventorg.create = Create
eventorg.title = Tapahtuman tiedot
foodWave.closeNow = Close now
foodWave.openNow = Open now
......
......@@ -357,6 +357,7 @@ event.referenceNumberBase = Reference number base
event.running = Running
event.save = Save
event.startTime = Start time
event.theme = Theme
event.ticketSale = Tickets sale
event.ticketSalesBegin = Ticket sales begin
......@@ -376,6 +377,7 @@ eventorg.bankName1 = Bank name 2
eventorg.bankName2 = Bank name 2
eventorg.bankNumber1 = Bank account nr. 1
eventorg.bankNumber2 = Bank account nr. 2
eventorg.basicDetails = Basicdetails
eventorg.billAddress1 = Billing address 1
eventorg.billAddress2 = Billing address 2
eventorg.billAddress3 = Billing address 3
......@@ -389,6 +391,7 @@ eventorg.events = Event of the organisation
eventorg.id = Event ID
eventorg.organisation = Organisation name
eventorg.save = Save
eventorg.title = Event details
eventorgView.eventname = Name of event
......
......@@ -358,6 +358,7 @@ event.referenceNumberBase = Viitenumeron pohja
event.running = K\u00E4ynniss\u00E4
event.save = Tallenna
event.startTime = Aloitusp\u00E4iv\u00E4
event.theme = Teema
event.ticketSale = Lipunmyynti
event.ticketSalesBegin = Lipunmyynti alkaa
......@@ -377,6 +378,7 @@ eventorg.bankName1 = Pankin nimi 1
eventorg.bankName2 = Pankin nimi 2
eventorg.bankNumber1 = Tilinumero 1
eventorg.bankNumber2 = Tilinumero 2
eventorg.basicDetails = Perustiedot
eventorg.billAddress1 = Laskutusosoite 1
eventorg.billAddress2 = Laskutusosoite 2
eventorg.billAddress3 = Laskutusosoite 3
......@@ -390,6 +392,7 @@ eventorg.events = Organisaation tapahtumat
eventorg.id = Tapahtuman ID
eventorg.organisation = Organisaation nimi
eventorg.save = Tallenna
eventorg.title = Tapahtuman tiedot
eventorgView.eventname = Tapahtuman nimi
......
package fi.codecrew.moya.web.helper;
import java.util.Map;
import java.util.TreeMap;
import javax.enterprise.context.RequestScoped;
import javax.inject.Named;
import fi.codecrew.moya.web.cdiview.GenericCDIView;
@Named
@RequestScoped
public class ThemeSwitcherView extends GenericCDIView {
/**
*
*/
private static final long serialVersionUID = 42L;
private Map<String, String> themes;
public Map<String, String> getThemes() {
if (themes == null) {
themes = new TreeMap<String, String>();
themes.put("Afterdark", "afterdark");
themes.put("Afternoon", "afternoon");
themes.put("Afterwork", "afterwork");
themes.put("Aristo", "aristo");
themes.put("Black-Tie", "black-tie");
themes.put("Blitzer", "blitzer");
themes.put("Bluesky", "bluesky");
themes.put("Bootstrap", "bootstrap");
themes.put("Casablanca", "casablanca");
themes.put("Cupertino", "cupertino");
themes.put("Cruze", "cruze");
themes.put("Dark-Hive", "dark-hive");
themes.put("Delta", "delta");
themes.put("Dot-Luv", "dot-luv");
themes.put("Eggplant", "eggplant");
themes.put("Excite-Bike", "excite-bike");
themes.put("Flick", "flick");
themes.put("Glass-X", "glass-x");
themes.put("Home", "home");
themes.put("Hot-Sneaks", "hot-sneaks");
themes.put("Humanity", "humanity");
themes.put("Le-Frog", "le-frog");
themes.put("Midnight", "midnight");
themes.put("Mint-Choc", "mint-choc");
themes.put("Overcast", "overcast");
themes.put("Pepper-Grinder", "pepper-grinder");
themes.put("Redmond", "redmond");
themes.put("Rocket", "rocket");
themes.put("Sam", "sam");
themes.put("Smoothness", "smoothness");
themes.put("South-Street", "south-street");
themes.put("Start", "start");
themes.put("Sunny", "sunny");
themes.put("Swanky-Purse", "swanky-purse");
themes.put("Trontastic", "trontastic");
themes.put("UI-Darkness", "ui-darkness");
themes.put("UI-Lightness", "ui-lightness");
themes.put("Vader", "vader");
}
return themes;
}
}
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!