Commit d79a313d by Juho Juopperi

Merge branch 'master' of dev.insomnia.fi:/data/bortal

2 parents 31418a0f 74c80ebc
Showing with 427 additions and 273 deletions
...@@ -30,6 +30,8 @@ public class ReaderBean implements ReaderBeanLocal { ...@@ -30,6 +30,8 @@ public class ReaderBean implements ReaderBeanLocal {
private CardTemplateBeanLocal cardtemplatebean; private CardTemplateBeanLocal cardtemplatebean;
@EJB @EJB
private ReaderEventFacade readerEventFacade; private ReaderEventFacade readerEventFacade;
@EJB
private EventBeanLocal eventbean;
private static final Logger logger = LoggerFactory.getLogger(ReaderBean.class); private static final Logger logger = LoggerFactory.getLogger(ReaderBean.class);
...@@ -168,4 +170,13 @@ public class ReaderBean implements ReaderBeanLocal { ...@@ -168,4 +170,13 @@ public class ReaderBean implements ReaderBeanLocal {
return readerEventFacade.findLastEvents(reader, 20); return readerEventFacade.findLastEvents(reader, 20);
} }
@Override
public ReaderEvent getEvent(Integer eventid) {
ReaderEvent ret = readerEventFacade.find(eventid);
if (!ret.getReader().getEvent().equals(eventbean.getCurrentEvent()))
{
ret = null;
}
return ret;
}
} }
package fi.insomnia.bortal.beans; package fi.insomnia.bortal.beans;
import java.util.List;
import javax.ejb.EJB; import javax.ejb.EJB;
import javax.ejb.LocalBean; import javax.ejb.LocalBean;
import javax.ejb.Stateless; import javax.ejb.Stateless;
...@@ -27,7 +29,9 @@ public class VotingBean implements VotingBeanLocal { ...@@ -27,7 +29,9 @@ public class VotingBean implements VotingBeanLocal {
public void createCompo(Compo c) { public void createCompo(Compo c) {
compoFacade.create(c); compoFacade.create(c);
} }
public List<Compo> getCompoList() {
return compoFacade.getList();
}
} }
package fi.insomnia.bortal.facade; package fi.insomnia.bortal.facade;
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.CriteriaQuery;
import javax.persistence.criteria.Root;
import fi.insomnia.bortal.beans.EventBeanLocal;
import fi.insomnia.bortal.model.Compo; import fi.insomnia.bortal.model.Compo;
import fi.insomnia.bortal.model.Compo_;
import fi.insomnia.bortal.model.NewsGroup;
import fi.insomnia.bortal.model.NewsGroup_;
@Stateless @Stateless
@LocalBean @LocalBean
public class CompoFacade extends IntegerPkGenericFacade<Compo> { public class CompoFacade extends IntegerPkGenericFacade<Compo> {
@EJB
private EventBeanLocal eventbean;
public CompoFacade() { public CompoFacade() {
super(Compo.class); super(Compo.class);
} }
} public List<Compo> getList() {
CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<Compo> cq = cb.createQuery(Compo.class);
Root<Compo> root = cq.from(Compo.class);
cq.where(cb.equal(root.get(Compo_.event), eventbean.getCurrentEvent()));
List<Compo> ret = getEm().createQuery(cq).getResultList();
return ret;
}
}
...@@ -23,4 +23,6 @@ public interface ReaderBeanLocal { ...@@ -23,4 +23,6 @@ public interface ReaderBeanLocal {
List<ReaderEvent> getReaderEvents(Integer readerId); List<ReaderEvent> getReaderEvents(Integer readerId);
ReaderEvent getEvent(Integer eventid);
} }
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<classpath> <classpath>
<classpathentry kind="src" path="src"/> <classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.launching.macosx.MacOSXType/Java SE 6 (MacOS X Default)"> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
<attributes> <attributes>
<attribute name="owner.project.facets" value="java"/> <attribute name="owner.project.facets" value="java"/>
</attributes> </attributes>
......
...@@ -5,13 +5,17 @@ ...@@ -5,13 +5,17 @@
</h:head> </h:head>
<h:body> <h:body>
<ui:composition template="/layout/#{sessionHandler.layout}/template.xhtml"> <ui:composition template="/layout/#{sessionHandler.layout}/template.xhtml">
<f:metadata>
<f:event type="preRenderView" listener="#{pageOutputView.initView('index')}" />
</f:metadata>
<ui:define name="content"> <ui:define name="content">
<h:outputLabel rendered="#{sessionHandler.isInDevelopmentMode()}"> <h:outputLabel rendered="#{sessionHandler.isInDevelopmentMode()}">
Development-tilassa. Development-tilassa.
Vaihda web.xml-tiedostosta ohjelman tila (javax.faces.PROJECT_STAGE) Productioniksi ennen kuin julkaiset ohjelman tuotantoon. Vaihda web.xml-tiedostosta ohjelman tila (javax.faces.PROJECT_STAGE) Productioniksi ennen kuin julkaiset ohjelman tuotantoon.
</h:outputLabel> </h:outputLabel>
<ui:repeat var="cont1" value="#{pageOutputView.contents}">
<h:outputText value="#{cont1.content}" escape="false" />
</ui:repeat>
</ui:define> </ui:define>
</ui:composition> </ui:composition>
</h:body> </h:body>
......
...@@ -40,8 +40,13 @@ ...@@ -40,8 +40,13 @@
<h:outputText value="#{event.gamePoint}" /> <h:outputText value="#{event.gamePoint}" />
</h:column> </h:column>
<h:column> <h:column>
<h:commandButton rendered="#{empty event.printedCard}" action="#{readerView.selectEvent()}" value="#{i18n['readerevent.associateToUser']}" /> <h:link rendered="#{!empty event.printedCard}" outcome="/shop/shopToUser" value="#{i18n['readerevent.shopToUser']}">
<h:commandButton rendered="#{!empty event.printedCard}" action="#{readerView.selectEvent()}" value="#{i18n['readerevent.shopToUser']}" /> <f:param name="userid" value="#{event.printedCard.user.id}" />
</h:link>
<h:link rendered="#{empty event.printedCard}" outcome="/shop/assocToUser" value="#{i18n['readerevent.associateToUser']}">
<f:param name="eventid" value="#{event.id}" />
</h:link>
</h:column> </h:column>
</h:dataTable> </h:dataTable>
......
...@@ -22,7 +22,6 @@ body,html { ...@@ -22,7 +22,6 @@ body,html {
#logo h1 { #logo h1 {
margin: 5px; margin: 5px;
color: white: color: white:
} }
#logo a { #logo a {
...@@ -196,4 +195,8 @@ a:hover { ...@@ -196,4 +195,8 @@ a:hover {
margin: 0 7px; margin: 0 7px;
color: #fff; color: #fff;
float: left; float: left;
}
td ul {
margin: 0;
} }
\ No newline at end of file
...@@ -6,19 +6,19 @@ ...@@ -6,19 +6,19 @@
<h:body> <h:body>
<ui:composition template="/layout/#{sessionHandler.layout}/template.xhtml"> <ui:composition template="/layout/#{sessionHandler.layout}/template.xhtml">
<f:metadata> <f:metadata>
<f:viewParam name="userid" value="#{userView.userid}" /> <f:viewParam name="eventid" value="#{readerView.eventid}" />
<f:event type="preRenderView" listener="#{productShopView.initView}" /> <f:event type="preRenderView" listener="#{readerView.initUserassocView}" />
</f:metadata> </f:metadata>
<ui:define name="content"> <ui:define name="content">
<h:outputText rendered="#{!empty readerView.rfidevent.event}" value="#{i18n['rfidevent.empty']}" /> <h:outputText rendered="#{empty readerView.event}" value="#{i18n['rfidevent.empty']}" />
<h:panelGrid columns="2" rendered="#{empty readerView.rfidevent.event}"> <h:panelGrid columns="2" rendered="#{!empty readerView.event}">
<h:outputLabel value="#{i18n['rfidevent.reader']}:" /> <h:outputLabel value="#{i18n['rfidevent.reader']}:" />
<h:outputText value="#{readerView.rfidevent.reader}" /> <h:outputText value="#{readerView.event.reader.description}" />
<h:outputLabel value="#{i18n['rfidevent.tag']}:" /> <h:outputLabel value="#{i18n['rfidevent.tag']}:" />
<h:outputText value="#{readerView.rfidevent.tag}" /> <h:outputText value="#{readerView.event.value}" />
<h:outputLabel value="#{i18n['rfidevent.insertplacecode']}" /> <h:outputLabel value="#{i18n['rfidevent.insertplacecode']}" />
......
...@@ -11,7 +11,7 @@ ...@@ -11,7 +11,7 @@
<ui:composition template="/layout/#{sessionHandler.layout}/template.xhtml"> <ui:composition template="/layout/#{sessionHandler.layout}/template.xhtml">
<f:metadata> <f:metadata>
<f:viewParam name="userid" value="#{userView.userid}" /> <f:viewParam name="userid" value="#{userView.userid}" />
<f:event type="preRenderView" listener="#{productShopView.initView}" /> <f:event type="preRenderView" listener="#{productShopView.initBillView}" />
</f:metadata> </f:metadata>
<ui:define name="title"> <ui:define name="title">
<h1>#{i18n['page.product.createBill.header']}</h1> <h1>#{i18n['page.product.createBill.header']}</h1>
......
<!DOCTYPE html <!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "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" <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:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:products="http://java.sun.com/jsf/composite/cditools/products" xmlns:c="http://java.sun.com/jsp/jstl/core">
xmlns:products="http://java.sun.com/jsf/composite/cditools/products" xmlns:c="http://java.sun.com/jsp/jstl/core"
>
<h:body> <h:body>
<ui:composition template="/layout/#{sessionHandler.layout}/template.xhtml"> <ui:composition template="/layout/#{sessionHandler.layout}/template.xhtml">
<f:metadata> <f:metadata>
<f:event type="preRenderView" listener="#{productShopView.initView}" /> <f:viewParam name="userid" value="#{userView.userid}" />
<f:event type="preRenderView" listener="#{userView.initView}" />
<f:event type="preRenderView" listener="#{productShopView.initShopView}" />
</f:metadata> </f:metadata>
<ui:define name="content"> <ui:define name="content">
<h:panelGrid columns="2"> <h:panelGrid columns="2">
<h:outputLabel value="#{i18n['shop.user']}" /> <h:outputLabel value="#{i18n['shop.user']}" />
<h:outputText value="#{productShopView.user.wholeName} #{productShopView.user.nick}" /> <h:outputText value="#{productShopView.user.wholeName} #{productShopView.user.nick}" />
...@@ -28,9 +28,7 @@ ...@@ -28,9 +28,7 @@
<h:outputText value="#{i18n['product.shopInstant']}" /> <h:outputText value="#{i18n['product.shopInstant']}" />
<h:selectBooleanCheckbox value="#{productShopView.payInstant}" /> <h:selectBooleanCheckbox value="#{productShopView.payInstant}" />
<products:shop commitaction="#{productShopView.commitShoppingCart()}" items="#{productShopView.shoppingcart}" <products:shop commitaction="#{productShopView.commitShoppingCart()}" items="#{productShopView.shoppingcart}" commitValue="#{i18n['productshop.commit']}" />
commitValue="#{i18n['productshop.commit']}"
/>
</h:form> </h:form>
</ui:define> </ui:define>
......
...@@ -19,43 +19,43 @@ ...@@ -19,43 +19,43 @@
<div> <div>
<h:form> <h:form>
<h:panelGrid columns="3"> <h:panelGrid columns="3">
<h:outputLabel value="Name" for="name"/> <h:outputLabel value="#{i18n['voting.create.name']}:" for="name"/>
<h:inputText value="#{votingCreateView.name}" id="name" /> <h:inputText value="#{votingCreateView.name}" id="name" />
<h:message for="name" /> <h:message for="name" />
<h:outputLabel value="Kuvaus:" for="desc"/> <h:outputLabel value="#{i18n['voting.create.description']}:" for="desc"/>
<h:inputText value="#{votingCreateView.description}" id="desc" /> <h:inputText value="#{votingCreateView.description}" id="desc" />
<h:message for="desc" /> <h:message for="desc" />
<h:outputLabel value="Max osallistujat:" for="maxPar" /> <h:outputLabel value="#{i18n['voting.create.maxParticipants']}:" for="maxPar" />
<h:inputText value="#{votingCreateView.maxParticipants}" id="maxPar" /> <h:inputText value="#{votingCreateView.maxParticipants}" id="maxPar" />
<h:message for="maxPar" /> <h:message for="maxPar" />
<h:outputLabel value="Compo start" for="cStart" /> <h:outputLabel value="#{i18n['voting.create.compoStart']}:" for="cStart" />
<p:calendar validator="#{votingDateValidator.saveCStart}" value="#{votingCreateView.compoStart}" pattern="dd/MM/yyyy HH:mm" id="cStart" /> <p:calendar validator="#{votingDateValidator.saveCStart}" value="#{votingCreateView.compoStart}" pattern="dd/MM/yyyy HH:mm" id="cStart" />
<h:message for="cStart" /> <h:message for="cStart" />
<h:outputLabel value="Compo end" for="cEnd"/> <h:outputLabel value="#{i18n['voting.create.compoEnd']}:" for="cEnd"/>
<p:calendar validator="#{votingDateValidator.validateCompo}" value="#{votingCreateView.compoEnd}" pattern="dd/MM/yyyy HH:mm" id="cEnd" /> <p:calendar validator="#{votingDateValidator.validateCompo}" value="#{votingCreateView.compoEnd}" pattern="dd/MM/yyyy HH:mm" id="cEnd" />
<h:message for="cEnd" /> <h:message for="cEnd" />
<h:outputLabel value="Vote start" for="vStart" /> <h:outputLabel value="#{i18n['voting.create.voteStart']}:" for="vStart" />
<p:calendar validator="#{votingDateValidator.saveVStart}" value="#{votingCreateView.voteStart}" pattern="dd/MM/yyyy HH:mm" id="vStart" /> <p:calendar validator="#{votingDateValidator.saveVStart}" value="#{votingCreateView.voteStart}" pattern="dd/MM/yyyy HH:mm" id="vStart" />
<h:message for="vStart" /> <h:message for="vStart" />
<h:outputLabel value="Vote end" for="vEnd" /> <h:outputLabel value="#{i18n['voting.create.voteEnd']}:" for="vEnd" />
<p:calendar validator="#{votingDateValidator.validateVote}" value="#{votingCreateView.voteEnd}" pattern="dd/MM/yyyy HH:mm" id="vEnd" /> <p:calendar validator="#{votingDateValidator.validateVote}" value="#{votingCreateView.voteEnd}" pattern="dd/MM/yyyy HH:mm" id="vEnd" />
<h:message for="vEnd" /> <h:message for="vEnd" />
<h:outputLabel value="Submit start" for="sStart" /> <h:outputLabel value="#{i18n['voting.create.submitStart']}:" for="sStart" />
<p:calendar validator="#{votingDateValidator.saveSStart}" value="#{votingCreateView.submitStart}" pattern="dd/MM/yyyy HH:mm" id="sStart" /> <p:calendar validator="#{votingDateValidator.saveSStart}" value="#{votingCreateView.submitStart}" pattern="dd/MM/yyyy HH:mm" id="sStart" />
<h:message for="sStart" /> <h:message for="sStart" />
<h:outputLabel value="Submit end" for="sEnd" /> <h:outputLabel value="#{i18n['voting.create.submitEnd']}:" for="sEnd" />
<p:calendar validator="#{votingDateValidator.validateSubmit}" value="#{votingCreateView.submitEnd}" pattern="dd/MM/yyyy HH:mm" id="sEnd" /> <p:calendar validator="#{votingDateValidator.validateSubmit}" value="#{votingCreateView.submitEnd}" pattern="dd/MM/yyyy HH:mm" id="sEnd" />
<h:message for="sEnd" /> <h:message for="sEnd" />
<h:commandButton value="Luo" /> <h:commandButton value="#{i18n['voting.create.createButton']}" />
</h:panelGrid> </h:panelGrid>
</h:form> </h:form>
......
...@@ -2,3 +2,5 @@ user.nickSizeMessage=Nick has to be at least {min} characters long. ...@@ -2,3 +2,5 @@ user.nickSizeMessage=Nick has to be at least {min} characters long.
user.emailregex=Field must contain an email address. user.emailregex=Field must contain an email address.
javax.validation.constraints.NotNull.message=Field can not be empty javax.validation.constraints.NotNull.message=Field can not be empty
voting.create.participantsError=Value must be 1 or over.
voting.create.nameError=Name must be longer than 3 chars.
...@@ -2,3 +2,5 @@ user.nickSizeMessage=Nimimerkin pit olla vhintn {min} merkki pitk. ...@@ -2,3 +2,5 @@ user.nickSizeMessage=Nimimerkin pit olla vhintn {min} merkki pitk.
user.emailregex=Kentss pit olla shkpostiosoite. user.emailregex=Kentss pit olla shkpostiosoite.
javax.validation.constraints.NotNull.message=Kentt ei saa olla tyhj javax.validation.constraints.NotNull.message=Kentt ei saa olla tyhj
actionlog.message.tooshort=Kahva ei kelpaa! (Viestisi on liian lyhyt :) actionlog.message.tooshort=Kahva ei kelpaa! (Viestisi on liian lyhyt :)
voting.create.participantsError=Osallistujia pit olla yksi tai enemmn.
voting.create.nameError=Nimen pit olla yli 3 merkki pitk.
...@@ -525,3 +525,16 @@ userview.userExists = Username already exists! please select another. ...@@ -525,3 +525,16 @@ userview.userExists = Username already exists! please select another.
viewexpired.body = Please login again. viewexpired.body = Please login again.
viewexpired.title = Login expired. Please login again. viewexpired.title = Login expired. Please login again.
voting.create.compoEnd = End time
voting.create.compoStart = Start time
voting.create.createButton = Create
voting.create.dateValidatorEndDate = End time before start time.
voting.create.description = Description
voting.create.header = Create compo
voting.create.maxParticipants = Max participants
voting.create.name = Name
voting.create.submitEnd = Submit close
voting.create.submitStart = Submit start
voting.create.voteEnd = Voting close
voting.create.voteStart = Voting start
accountEvent.commit = Tallenna accountEvent.commit = Tallenna
accountEvent.delivered=Toimitettu accountEvent.delivered = Toimitettu
accountEvent.edit=Muokkaa accountEvent.edit = Muokkaa
accountEvent.eventTime=Aika accountEvent.eventTime = Aika
accountEvent.productname=Tuote accountEvent.productname = Tuote
accountEvent.quantity=Lkm accountEvent.quantity = Lkm
accountEvent.seller = Myyj\u00E4 accountEvent.seller = Myyj\u00E4
accountEvent.total = Yhteens\u00E4 accountEvent.total = Yhteens\u00E4
accountEvent.unitPrice = Yksikk\u00F6hinta accountEvent.unitPrice = Yksikk\u00F6hinta
...@@ -30,61 +30,61 @@ actionlog.user = Tekij\u00E4 ...@@ -30,61 +30,61 @@ actionlog.user = Tekij\u00E4
applicationPermission.description = kuvaus applicationPermission.description = kuvaus
applicationPermission.name = Oikeusryhm\u00E4 applicationPermission.name = Oikeusryhm\u00E4
bill.addr1=Osoite 1 bill.addr1 = Osoite 1
bill.addr2=Osoite 2 bill.addr2 = Osoite 2
bill.addr3=Osoite 3 bill.addr3 = Osoite 3
bill.addr4=Osoite 4 bill.addr4 = Osoite 4
bill.addr5=Osoite 5 bill.addr5 = Osoite 5
bill.billNumber=Laskun numero bill.billNumber = Laskun numero
bill.deliveryTerms=Toimitusehdot bill.deliveryTerms = Toimitusehdot
bill.edit=Muokkaa bill.edit = Muokkaa
bill.isPaid=Maksettu bill.isPaid = Maksettu
bill.markPaid=Maksettu bill.markPaid = Maksettu
bill.markedPaid = Lasku merkitty maksetuksi. bill.markedPaid = Lasku merkitty maksetuksi.
bill.notes=Huomioita bill.notes = Huomioita
bill.noticetime=Huomautusaika bill.noticetime = Huomautusaika
bill.ourReference = Myyj\u00E4n viite bill.ourReference = Myyj\u00E4n viite
bill.paidDate = Maksup\u00E4iv\u00E4 bill.paidDate = Maksup\u00E4iv\u00E4
bill.payer=Maksaja bill.payer = Maksaja
bill.paymentTime=Maksuehdot bill.paymentTime = Maksuehdot
bill.printBill=Tulosta lasku bill.printBill = Tulosta lasku
bill.referenceNumberBase=Viitenumeropohja bill.referenceNumberBase = Viitenumeropohja
bill.referencenumber=Viitenumero bill.referencenumber = Viitenumero
bill.sentDate = P\u00E4iv\u00E4ys bill.sentDate = P\u00E4iv\u00E4ys
bill.theirReference=Asiakkaan viite bill.theirReference = Asiakkaan viite
bill.totalPrice=Laskun summa bill.totalPrice = Laskun summa
billine.name=Tuote billine.name = Tuote
billine.quantity = Lukum\u00E4\u00E4r\u00E4 billine.quantity = Lukum\u00E4\u00E4r\u00E4
billine.referencedProduct=Tuoteviittaus billine.referencedProduct = Tuoteviittaus
billine.save=Tallenna billine.save = Tallenna
billine.unitName = Yksikk\u00F6 billine.unitName = Yksikk\u00F6
billine.unitPrice = Yksikk\u00F6hinta billine.unitPrice = Yksikk\u00F6hinta
billine.vat=ALV billine.vat = ALV
bills.noBills=Ei laskuja bills.noBills = Ei laskuja
cardTemplate.edit = Muokkaa cardTemplate.edit = Muokkaa
cardTemplate.name=Korttipohja cardTemplate.name = Korttipohja
cardTemplate.power=Teho cardTemplate.power = Teho
cardTemplate.roles=Yhdistetyt roolit cardTemplate.roles = Yhdistetyt roolit
discount.active=Aktiivinen discount.active = Aktiivinen
discount.amountMax = Enimm\u00E4ism\u00E4\u00E4r\u00E4 discount.amountMax = Enimm\u00E4ism\u00E4\u00E4r\u00E4
discount.amountMin = V\u00E4himm\u00E4ism\u00E4\u00E4r\u00E4 discount.amountMin = V\u00E4himm\u00E4ism\u00E4\u00E4r\u00E4
discount.code=Alennuskoodi discount.code = Alennuskoodi
discount.create=Luo uusi discount.create = Luo uusi
discount.details=Tiedot discount.details = Tiedot
discount.edit=Muokkaa discount.edit = Muokkaa
discount.maxNum = Alennusten enimm\u00E4islkm discount.maxNum = Alennusten enimm\u00E4islkm
discount.perUser = Alennuksia per k\u00E4ytt\u00E4j\u00E4 discount.perUser = Alennuksia per k\u00E4ytt\u00E4j\u00E4
discount.percentage=Alennusprosentti discount.percentage = Alennusprosentti
discount.products = Tuotteet discount.products = Tuotteet
discount.role=Roolialennus discount.role = Roolialennus
discount.save=Tallenna discount.save = Tallenna
discount.shortdesc=Kuvaus discount.shortdesc = Kuvaus
editplace.header=Muokkaa paikkaa editplace.header = Muokkaa paikkaa
editplacegroup.header = Paikkaryhm\u00E4n tiedot editplacegroup.header = Paikkaryhm\u00E4n tiedot
...@@ -107,22 +107,22 @@ eventorg.billAddress2 = Laskutusosoite 2 ...@@ -107,22 +107,22 @@ eventorg.billAddress2 = Laskutusosoite 2
eventorg.billAddress3 = Laskutusosoite 3 eventorg.billAddress3 = Laskutusosoite 3
eventorg.billAddress4 = Laskutusosoite 4 eventorg.billAddress4 = Laskutusosoite 4
eventorg.bundleCountry = Kieli-bundle eventorg.bundleCountry = Kieli-bundle
eventorg.createEvent=Luo tapahtuma eventorg.createEvent = Luo tapahtuma
eventorg.createevent = Luo uusi tapahtuma eventorg.createevent = Luo uusi tapahtuma
eventorg.events=Organisaation tapahtumat eventorg.events = Organisaation tapahtumat
eventorg.organisation = Organisaation nimi eventorg.organisation = Organisaation nimi
eventorg.save = Tallenna eventorg.save = Tallenna
eventorgView.eventname=Tapahtuman nimi eventorgView.eventname = Tapahtuman nimi
eventorganiser.name = Tapahtumaj\u00E4rjest\u00E4j\u00E4 eventorganiser.name = Tapahtumaj\u00E4rjest\u00E4j\u00E4
game.gamepoints=Insomnia Game pisteet: game.gamepoints = Insomnia Game pisteet:
global.cancel=Peruuta global.cancel = Peruuta
global.notAuthorizedExecute = Sinulla ei ole riitt\u00E4v\u00E4sti oikeuksia suorittaa t\u00E4t\u00E4 toimenpidett\u00E4! global.notAuthorizedExecute = Sinulla ei ole riitt\u00E4v\u00E4sti oikeuksia suorittaa t\u00E4t\u00E4 toimenpidett\u00E4!
global.notauthorized = Sinulla ei ole riitt\u00E4vi\u00E4 oikeuksia t\u00E4lle sivulle. global.notauthorized = Sinulla ei ole riitt\u00E4vi\u00E4 oikeuksia t\u00E4lle sivulle.
global.save=Tallenna global.save = Tallenna
httpsession.id = ID httpsession.id = ID
httpsession.invalidate = Mit\uFFFDt\uFFFDi httpsession.invalidate = Mit\uFFFDt\uFFFDi
...@@ -133,8 +133,8 @@ httpsession.maxInactiveInterval = Aikakatkaisu (s) ...@@ -133,8 +133,8 @@ httpsession.maxInactiveInterval = Aikakatkaisu (s)
httpsession.sessionHasExisted = Ollut elossa (s) httpsession.sessionHasExisted = Ollut elossa (s)
httpsession.user = Tunnus httpsession.user = Tunnus
imagefile.description=Kuvaus imagefile.description = Kuvaus
imagefile.file=Kuvatiedosto imagefile.file = Kuvatiedosto
index.title = Etusivu index.title = Etusivu
...@@ -142,47 +142,47 @@ invite.notFound = Kutsu virheellinen tai jo k\u00E4ytetty. ...@@ -142,47 +142,47 @@ invite.notFound = Kutsu virheellinen tai jo k\u00E4ytetty.
invite.successfull = Kutsu l\u00E4hetetty invite.successfull = Kutsu l\u00E4hetetty
invite.userCreateSuccessfull = K\u00E4ytt\u00E4j\u00E4tunnus luotu onnistuneesti. Voit nyt kirjautua sis\u00E4\u00E4n j\u00E4rjeselm\u00E4\u00E4n. invite.userCreateSuccessfull = K\u00E4ytt\u00E4j\u00E4tunnus luotu onnistuneesti. Voit nyt kirjautua sis\u00E4\u00E4n j\u00E4rjeselm\u00E4\u00E4n.
javax.validation.constraints.AssertFalse.message=must be false javax.validation.constraints.AssertFalse.message = must be false
javax.validation.constraints.AssertTrue.message=must be true javax.validation.constraints.AssertTrue.message = must be true
javax.validation.constraints.DecimalMax.message=must be less than or equal to {value} javax.validation.constraints.DecimalMax.message = must be less than or equal to {value}
javax.validation.constraints.DecimalMin.message=must be greater than or equal to {value} javax.validation.constraints.DecimalMin.message = must be greater than or equal to {value}
javax.validation.constraints.Digits.message=numeric value out of bounds (<{integer} digits>.<{fraction} digits> expected) javax.validation.constraints.Digits.message = numeric value out of bounds (<{integer} digits>.<{fraction} digits> expected)
javax.validation.constraints.Future.message=must be in the future javax.validation.constraints.Future.message = must be in the future
javax.validation.constraints.Max.message=must be less than or equal to {value} javax.validation.constraints.Max.message = must be less than or equal to {value}
javax.validation.constraints.Min.message=must be greater than or equal to {value} javax.validation.constraints.Min.message = must be greater than or equal to {value}
javax.validation.constraints.NotNull.message=may not be null javax.validation.constraints.NotNull.message = may not be null
javax.validation.constraints.Null.message=must be null javax.validation.constraints.Null.message = must be null
javax.validation.constraints.Past.message=must be in the past javax.validation.constraints.Past.message = must be in the past
javax.validation.constraints.Pattern.message=must match "{regexp}" javax.validation.constraints.Pattern.message = must match "{regexp}"
javax.validation.constraints.Size.message=size must be between {min} and {max} javax.validation.constraints.Size.message = size must be between {min} and {max}
login.login = Kirjaudu sis\u00E4\u00E4n login.login = Kirjaudu sis\u00E4\u00E4n
login.logout=Kirjaudu ulos login.logout = Kirjaudu ulos
login.logoutmessage = Olet kirjautunut ulos j\u00E4rjestelm\u00E4st\u00E4. login.logoutmessage = Olet kirjautunut ulos j\u00E4rjestelm\u00E4st\u00E4.
login.password=Salasana login.password = Salasana
login.submit = Kirjaudu sis\u00E4\u00E4n login.submit = Kirjaudu sis\u00E4\u00E4n
login.username = K\u00E4ytt\u00E4j\u00E4tunnus login.username = K\u00E4ytt\u00E4j\u00E4tunnus
loginerror.header = Kirjautuminen ep\u00E4onnistui loginerror.header = Kirjautuminen ep\u00E4onnistui
loginerror.message = K\u00E4ytt\u00E4j\u00E4tunnus tai salasana ei ollut oikein. loginerror.message = K\u00E4ytt\u00E4j\u00E4tunnus tai salasana ei ollut oikein.
loginerror.resetpassword=Salasana unohtunut? loginerror.resetpassword = Salasana unohtunut?
map.edit = Muokkaa map.edit = Muokkaa
map.name = Nimi map.name = Nimi
mapManage.lockedPlaces=Lukittu kartasta {0} paikkaa. mapManage.lockedPlaces = Lukittu kartasta {0} paikkaa.
mapManage.releasedPlaces=Vapautettu kartasta {0} paikkaa mapManage.releasedPlaces = Vapautettu kartasta {0} paikkaa
mapView.buyPlaces=Lukitse valitut paikat mapView.buyPlaces = Lukitse valitut paikat
mapView.errorWhenReleasingPlace=Paikkaa vapauttassa tapahtui virhe. mapView.errorWhenReleasingPlace = Paikkaa vapauttassa tapahtui virhe.
mapView.errorWhenReservingPlace=Paikkaa varatessa tapahtui virhe. mapView.errorWhenReservingPlace = Paikkaa varatessa tapahtui virhe.
mapView.errorWhileBuyingPlaces = Virhe paikkojen ostossa. Ole hyv\u00E4 ja yrit\u00E4 uudelleen. Jos virhe toistuu ota yhteytt\u00E4 j\u00E4rjest\u00E4jiin. mapView.errorWhileBuyingPlaces = Virhe paikkojen ostossa. Ole hyv\u00E4 ja yrit\u00E4 uudelleen. Jos virhe toistuu ota yhteytt\u00E4 j\u00E4rjest\u00E4jiin.
mapView.notEnoughCreditsToReserve = Sinulla ei ole riitt\u00E4v\u00E4sti suoritettuja konepaikkamaksuja t\u00E4m\u00E4n paikan varaamiseen. mapView.notEnoughCreditsToReserve = Sinulla ei ole riitt\u00E4v\u00E4sti suoritettuja konepaikkamaksuja t\u00E4m\u00E4n paikan varaamiseen.
menu.index=Etusivu menu.index = Etusivu
menu.place.placemap=Paikkakartta menu.place.placemap = Paikkakartta
menu.poll.index = Kyselyt menu.poll.index = Kyselyt
menu.shop.createBill=Kauppa menu.shop.createBill = Kauppa
menu.user.edit = Omat tiedot menu.user.edit = Omat tiedot
news.abstract = Lyhennelm\u00E4 news.abstract = Lyhennelm\u00E4
...@@ -206,23 +206,23 @@ org.hibernate.validator.constraints.Range.message = must be between {min} and ...@@ -206,23 +206,23 @@ org.hibernate.validator.constraints.Range.message = must be between {min} and
page.account.list.header = Tilitapahtumat page.account.list.header = Tilitapahtumat
page.auth.loginerror.header = kirjautuminen ep\u00E4onnistui page.auth.loginerror.header = kirjautuminen ep\u00E4onnistui
page.auth.logout.header=Uloskirjautuminen page.auth.logout.header = Uloskirjautuminen
page.auth.logoutsuccess.header = Logout page.auth.logoutsuccess.header = Logout
page.auth.resetPassword.header = Nollaa salasana page.auth.resetPassword.header = Nollaa salasana
page.bill.billSummary.header=Laskujen yhteenveto page.bill.billSummary.header = Laskujen yhteenveto
page.bill.edit.header = Laskun tiedot page.bill.edit.header = Laskun tiedot
page.bill.list.header = Laskut page.bill.list.header = Laskut
page.place.insertToken.header = Sy\u00F6t\u00E4 paikkakoodi page.place.insertToken.header = Sy\u00F6t\u00E4 paikkakoodi
page.place.mygroups.header = Paikkaryhm\u00E4t page.place.mygroups.header = Paikkaryhm\u00E4t
page.place.placemap.header = Paikkakartta page.place.placemap.header = Paikkakartta
page.product.createBill.header=Osta tuotteita page.product.createBill.header = Osta tuotteita
page.user.create.header = Luo uusi k\u00E4ytt\u00E4j\u00E4 page.user.create.header = Luo uusi k\u00E4ytt\u00E4j\u00E4
pagination.firstpage = Ensimm\u00E4inen pagination.firstpage = Ensimm\u00E4inen
pagination.lastpage = Viimeinen pagination.lastpage = Viimeinen
pagination.nextpage = Seuraava pagination.nextpage = Seuraava
pagination.pages=Sivuja pagination.pages = Sivuja
pagination.previouspage=Edellinen pagination.previouspage = Edellinen
pagination.results = Tuloksia pagination.results = Tuloksia
passwordChanged.body = Voit nyt kirjautua k\u00E4ytt\u00E4j\u00E4tunnuksella ja uudella salasanalla sis\u00E4\u00E4n j\u00E4rjestelm\u00E4\u00E4n. passwordChanged.body = Voit nyt kirjautua k\u00E4ytt\u00E4j\u00E4tunnuksella ja uudella salasanalla sis\u00E4\u00E4n j\u00E4rjestelm\u00E4\u00E4n.
...@@ -239,108 +239,108 @@ permissiondenied.alreadyLoggedIn = Sinulla ei ole riitt\u00E4v\u00E4sti oikeuksi ...@@ -239,108 +239,108 @@ permissiondenied.alreadyLoggedIn = Sinulla ei ole riitt\u00E4v\u00E4sti oikeuksi
permissiondenied.header = P\u00E4\u00E4sy kielletty permissiondenied.header = P\u00E4\u00E4sy kielletty
permissiondenied.notLoggedIn = Sinulla ei ole riitt\u00E4v\u00E4sti oikeuksia t\u00E4lle sivulle. permissiondenied.notLoggedIn = Sinulla ei ole riitt\u00E4v\u00E4sti oikeuksia t\u00E4lle sivulle.
place.code=Paikkakoodi place.code = Paikkakoodi
place.commit=Tallenna place.commit = Tallenna
place.description=Kuvaus place.description = Kuvaus
place.details=Tiedot place.details = Tiedot
place.edit=Muokkaa place.edit = Muokkaa
place.groupremove = Poista paikka paikkaryhm\u00E4st\u00E4 place.groupremove = Poista paikka paikkaryhm\u00E4st\u00E4
place.height=Korkeus place.height = Korkeus
place.mapX=X place.mapX = X
place.mapY=Y place.mapY = Y
place.membership = Yhdistetty k\u00E4ytt\u00E4j\u00E4 place.membership = Yhdistetty k\u00E4ytt\u00E4j\u00E4
place.name=Nimi place.name = Nimi
place.noReserver = Ei liitetty k\u00E4ytt\u00E4j\u00E4\u00E4n place.noReserver = Ei liitetty k\u00E4ytt\u00E4j\u00E4\u00E4n
place.product=Tuote place.product = Tuote
place.releasetime=Vapautusaika place.releasetime = Vapautusaika
place.width=Leveys place.width = Leveys
placeSelect.legend.blue=Oma valittu paikka placeSelect.legend.blue = Oma valittu paikka
placeSelect.legend.green=Oma ostettu paikka placeSelect.legend.green = Oma ostettu paikka
placeSelect.legend.grey=Vapautetaan tarvittaessa placeSelect.legend.grey = Vapautetaan tarvittaessa
placeSelect.legend.red=Varattu paikka placeSelect.legend.red = Varattu paikka
placeSelect.legend.white=Vapaa paikka placeSelect.legend.white = Vapaa paikka
placeSelect.placeName=Paikka placeSelect.placeName = Paikka
placeSelect.placePrice=Paikan hinta placeSelect.placePrice = Paikan hinta
placeSelect.placeProductName=Paikan tyyppi placeSelect.placeProductName = Paikan tyyppi
placeSelect.placesleft = Paikkoja j\u00E4ljell\u00E4 placeSelect.placesleft = Paikkoja j\u00E4ljell\u00E4
placeSelect.reservationPrice=Tilauksen hinta placeSelect.reservationPrice = Tilauksen hinta
placeSelect.reservedPlaces=Valitut paikat placeSelect.reservedPlaces = Valitut paikat
placeSelect.totalPlaces = Paikkoja yhteens\u00E4 placeSelect.totalPlaces = Paikkoja yhteens\u00E4
placegroup.created=Luotu placegroup.created = Luotu
placegroup.creator=Varaaja placegroup.creator = Varaaja
placegroup.details=Tiedot placegroup.details = Tiedot
placegroup.edit = N\u00E4yt\u00E4 placegroup.edit = N\u00E4yt\u00E4
placegroup.edited=Muokattu placegroup.edited = Muokattu
placegroup.name=Nimi placegroup.name = Nimi
placegroup.places=Paikat placegroup.places = Paikat
placegroup.printPdf=Tulosta paikkakoodit placegroup.printPdf = Tulosta paikkakoodit
placegroupview.groupCreator=Varaaja placegroupview.groupCreator = Varaaja
placegroupview.header=Omat paikat placegroupview.header = Omat paikat
placegroupview.noMemberships=Ei omia paikkoja placegroupview.noMemberships = Ei omia paikkoja
placegroupview.placeReleaseFailed = Paikan vapauttaminen ep\u00E4onnistui! placegroupview.placeReleaseFailed = Paikan vapauttaminen ep\u00E4onnistui!
placegroupview.placeReleased=Paikka {0} vapautettu placegroupview.placeReleased = Paikka {0} vapautettu
placegroupview.releasePlace=Vapauta placegroupview.releasePlace = Vapauta
placegroupview.reservationName=Paikka placegroupview.reservationName = Paikka
placegroupview.token = Paikkakoodi / k\u00E4ytt\u00E4j\u00E4 placegroupview.token = Paikkakoodi / k\u00E4ytt\u00E4j\u00E4
placetoken.commit = Liit\u00E4 placetoken.commit = Liit\u00E4
placetoken.pageHeader = Lis\u00E4\u00E4 konepaikkakoodi placetoken.pageHeader = Lis\u00E4\u00E4 konepaikkakoodi
placetoken.placelist=Omat paikat placetoken.placelist = Omat paikat
placetoken.token = Paikkakoodi placetoken.token = Paikkakoodi
placetoken.tokenNotFound = Paikkakoodia ei l\u00F6ytynyt! Tarkista koodi. placetoken.tokenNotFound = Paikkakoodia ei l\u00F6ytynyt! Tarkista koodi.
placetoken.topText = Voit yhdist\u00E4\u00E4 paikan omaan k\u00E4ytt\u00E4j\u00E4tunnukseesi sy\u00F6tt\u00E4m\u00E4ll\u00E4 paikkakoodin allaolevaan kentt\u00E4\u00E4n. placetoken.topText = Voit yhdist\u00E4\u00E4 paikan omaan k\u00E4ytt\u00E4j\u00E4tunnukseesi sy\u00F6tt\u00E4m\u00E4ll\u00E4 paikkakoodin allaolevaan kentt\u00E4\u00E4n.
poll.answer=Vastaa kyselyyn poll.answer = Vastaa kyselyyn
poll.begin = Avaa kysely poll.begin = Avaa kysely
poll.description = Kuvaus poll.description = Kuvaus
poll.end = Sulje kysely poll.end = Sulje kysely
poll.name = Kyselyn nimi poll.name = Kyselyn nimi
poll.save = L\u00E4het\u00E4 vastauksesi poll.save = L\u00E4het\u00E4 vastauksesi
product.barcode=Viivakoodi product.barcode = Viivakoodi
product.billed = Laskutettu product.billed = Laskutettu
product.boughtTotal=Tuotteita laskutettu product.boughtTotal = Tuotteita laskutettu
product.cart.count=Ostoskoriin product.cart.count = Ostoskoriin
product.cashed = Ostettu k\u00E4teisell\u00E4 product.cashed = Ostettu k\u00E4teisell\u00E4
product.color = V\u00E4ri k\u00E4ytt\u00F6liittym\u00E4ss\u00E4 product.color = V\u00E4ri k\u00E4ytt\u00F6liittym\u00E4ss\u00E4
product.create=Luo tuote product.create = Luo tuote
product.createDiscount = Lis\u00E4\u00E4 m\u00E4\u00E4r\u00E4alennus product.createDiscount = Lis\u00E4\u00E4 m\u00E4\u00E4r\u00E4alennus
product.edit=Muokkaa product.edit = Muokkaa
product.name=Tuotteen nimi product.name = Tuotteen nimi
product.paid=Maksettu product.paid = Maksettu
product.prepaid=Prepaid product.prepaid = Prepaid
product.prepaidInstant=Luodaan kun prepaid maksetaan product.prepaidInstant = Luodaan kun prepaid maksetaan
product.price=Tuotteen hinta product.price = Tuotteen hinta
product.save=Tallenna product.save = Tallenna
product.shopInstant = Luo k\u00E4teismaksu tuotteille product.shopInstant = Luo k\u00E4teismaksu tuotteille
product.sort = J\u00E4rjestys luku product.sort = J\u00E4rjestys luku
product.totalPrice = Summa product.totalPrice = Summa
product.unitName = Tuoteyksikk\u00F6 product.unitName = Tuoteyksikk\u00F6
product.vat=ALV product.vat = ALV
products.save=Tallenna products.save = Tallenna
productshop.billCreated = Lasku luotu productshop.billCreated = Lasku luotu
productshop.commit=Osta productshop.commit = Osta
productshop.noItemsInCart=Ostoskorissa ei ole tuotteita productshop.noItemsInCart = Ostoskorissa ei ole tuotteita
productshop.total = Yhteens\u00E4 productshop.total = Yhteens\u00E4
reader.assocToCard = Yhdist\u00E4 korttiin reader.assocToCard = Yhdist\u00E4 korttiin
reader.name=Lukijan nimi reader.name = Lukijan nimi
reader.tag=Tag reader.tag = Tag
reader.user = K\u00E4ytt\u00E4j\u00E4 reader.user = K\u00E4ytt\u00E4j\u00E4
readerevent.associateToUser = Yhdist\u00E4 k\u00E4ytt\u00E4j\u00E4\u00E4n readerevent.associateToUser = Yhdist\u00E4 k\u00E4ytt\u00E4j\u00E4\u00E4n
readerevent.seenSince = N\u00E4hty viimeksi readerevent.seenSince = N\u00E4hty viimeksi
readerevent.shopToUser = Osta k\u00E4ytt\u00E4j\u00E4lle readerevent.shopToUser = Osta k\u00E4ytt\u00E4j\u00E4lle
readerview.cards=Kortit ( tulostuslkm ) readerview.cards = Kortit ( tulostuslkm )
resetMail.body = Voit vaihtaa unohtuneen salasanan sy\u00F6tt\u00E4m\u00E4ll\u00E4 k\u00E4ytt\u00E4j\u00E4tunnuksesi allaolevaan kentt\u00E4\u00E4n. Tunnukseen liitettyyn s\u00E4hk\u00F6postiosoitteeseen l\u00E4hetet\u00E4\u00E4n kertak\u00E4ytt\u00F6inen osoite jossa voit vaihtaa sy\u00F6tt\u00E4m\u00E4si k\u00E4ytt\u00E4j\u00E4tunnuksen salasanan. resetMail.body = Voit vaihtaa unohtuneen salasanan sy\u00F6tt\u00E4m\u00E4ll\u00E4 k\u00E4ytt\u00E4j\u00E4tunnuksesi allaolevaan kentt\u00E4\u00E4n. Tunnukseen liitettyyn s\u00E4hk\u00F6postiosoitteeseen l\u00E4hetet\u00E4\u00E4n kertak\u00E4ytt\u00F6inen osoite jossa voit vaihtaa sy\u00F6tt\u00E4m\u00E4si k\u00E4ytt\u00E4j\u00E4tunnuksen salasanan.
resetMail.header=Unohtuneen salasanan vaihto resetMail.header = Unohtuneen salasanan vaihto
resetMail.send = L\u00E4het\u00E4 s\u00E4hk\u00F6posti resetMail.send = L\u00E4het\u00E4 s\u00E4hk\u00F6posti
resetMail.username = K\u00E4ytt\u00E4j\u00E4tunnus resetMail.username = K\u00E4ytt\u00E4j\u00E4tunnus
...@@ -348,45 +348,45 @@ resetmailSent.body = Antamasi k\u00E4ytt\u00E4j\u00E4tunnuksen s\u00E4hk\u00F6 ...@@ -348,45 +348,45 @@ resetmailSent.body = Antamasi k\u00E4ytt\u00E4j\u00E4tunnuksen s\u00E4hk\u00F6
resetmailSent.header = S\u00E4hk\u00F6posti l\u00E4hetetty resetmailSent.header = S\u00E4hk\u00F6posti l\u00E4hetetty
role.cardtemplate = Korttipohja role.cardtemplate = Korttipohja
role.create=Luo rooli role.create = Luo rooli
role.description=Kuvaus role.description = Kuvaus
role.edit=Muokkaa role.edit = Muokkaa
role.edit.save = Tallenna role.edit.save = Tallenna
role.name=Nimi role.name = Nimi
role.parents=Periytyy role.parents = Periytyy
role.savePermissions=Tallenna oikeudet role.savePermissions = Tallenna oikeudet
sendPicture.header = L\u00E4het\u00E4 kuva sendPicture.header = L\u00E4het\u00E4 kuva
shop.accountBalance=Tilin saldo shop.accountBalance = Tilin saldo
shop.user = Myyd\u00E4\u00E4n shop.user = Myyd\u00E4\u00E4n
sidebar.bill.list=Omat laskut sidebar.bill.list = Omat laskut
sidebar.bill.listAll=Kaikki laskut sidebar.bill.listAll = Kaikki laskut
sidebar.bill.summary=Laskujen yhteenveto sidebar.bill.summary = Laskujen yhteenveto
sidebar.bills=Laskut sidebar.bills = Laskut
sidebar.cardTemplate.create=Uusi korttipohja sidebar.cardTemplate.create = Uusi korttipohja
sidebar.cardTemplate.list = N\u00E4yt\u00E4 korttipohjat sidebar.cardTemplate.list = N\u00E4yt\u00E4 korttipohjat
sidebar.createuser = Rekister\u00F6idy uudeksi k\u00E4ytt\u00E4j\u00E4ksi sidebar.createuser = Rekister\u00F6idy uudeksi k\u00E4ytt\u00E4j\u00E4ksi
sidebar.eventorg.list=Omat organisaatiot sidebar.eventorg.list = Omat organisaatiot
sidebar.map.list=Kartat sidebar.map.list = Kartat
sidebar.map.placemap=Paikkakartta sidebar.map.placemap = Paikkakartta
sidebar.maps=Kartat sidebar.maps = Kartat
sidebar.other=Muuta sidebar.other = Muuta
sidebar.product.create=Uusi tuote sidebar.product.create = Uusi tuote
sidebar.product.createBill=Luo lasku sidebar.product.createBill = Luo lasku
sidebar.product.list=Tuotteet sidebar.product.list = Tuotteet
sidebar.products=Tuotteet sidebar.products = Tuotteet
sidebar.role.create=Uusi rooli sidebar.role.create = Uusi rooli
sidebar.role.list=Roolit sidebar.role.list = Roolit
sidebar.roles=Roolit sidebar.roles = Roolit
sidebar.shop.readerEvents=Lukijan tapahtumat sidebar.shop.readerEvents = Lukijan tapahtumat
sidebar.shop.readerlist = N\u00E4yt\u00E4 lukijat sidebar.shop.readerlist = N\u00E4yt\u00E4 lukijat
sidebar.user.create = Uusi k\u00E4ytt\u00E4j\u00E4 sidebar.user.create = Uusi k\u00E4ytt\u00E4j\u00E4
sidebar.user.list = K\u00E4ytt\u00E4j\u00E4t sidebar.user.list = K\u00E4ytt\u00E4j\u00E4t
sidebar.users = K\u00E4ytt\u00E4j\u00E4t sidebar.users = K\u00E4ytt\u00E4j\u00E4t
sidebar.utils.flushCache=Flush Cache sidebar.utils.flushCache = Flush Cache
sidebar.utils.testdata=Testdata sidebar.utils.testdata = Testdata
sitepage.edit = Muokkaa sitepage.edit = Muokkaa
sitepage.name = Sivun nimi sitepage.name = Sivun nimi
...@@ -423,7 +423,7 @@ submenu.user.listCardTemplates = Korttiryhm\u00E4t ...@@ -423,7 +423,7 @@ submenu.user.listCardTemplates = Korttiryhm\u00E4t
submenu.user.manageuserlinks = Hallitse k\u00E4ytt\u00E4ji\u00E4 submenu.user.manageuserlinks = Hallitse k\u00E4ytt\u00E4ji\u00E4
submenu.user.rolelinks = Hallitse rooleja submenu.user.rolelinks = Hallitse rooleja
submenu.user.sendPicture = L\u00E4het\u00E4 kuva submenu.user.sendPicture = L\u00E4het\u00E4 kuva
submenu.user.userlinks=Muokkaa tietoja submenu.user.userlinks = Muokkaa tietoja
submenu.useradmin.create = Luo uusi k\u00E4ytt\u00E4j\u00E4 submenu.useradmin.create = Luo uusi k\u00E4ytt\u00E4j\u00E4
submenu.useradmin.createCardTemplate = Luo uusi korttipohja submenu.useradmin.createCardTemplate = Luo uusi korttipohja
submenu.useradmin.list = Listaa k\u00E4ytt\u00E4j\u00E4t submenu.useradmin.list = Listaa k\u00E4ytt\u00E4j\u00E4t
...@@ -436,74 +436,74 @@ template.loggedInAs = Kirjautunut tunnuksella: ...@@ -436,74 +436,74 @@ template.loggedInAs = Kirjautunut tunnuksella:
topnavi.billing = Laskutus topnavi.billing = Laskutus
topnavi.contents = Sivuston sis\u00E4lt\u00F6 topnavi.contents = Sivuston sis\u00E4lt\u00F6
topnavi.frontpage=Etusivu topnavi.frontpage = Etusivu
topnavi.maps = Kartat topnavi.maps = Kartat
topnavi.placemap=Paikkakartta topnavi.placemap = Paikkakartta
topnavi.poll=Kyselyt topnavi.poll = Kyselyt
topnavi.products = Tuotteet topnavi.products = Tuotteet
topnavi.shop = Kauppa topnavi.shop = Kauppa
topnavi.user = Omat tiedot topnavi.user = Omat tiedot
topnavi.usermgmt = K\u00E4ytt\u00E4j\u00E4t topnavi.usermgmt = K\u00E4ytt\u00E4j\u00E4t
user.accountBalance=Tilin saldo user.accountBalance = Tilin saldo
user.accountEventHeader=Tilitapahtumat user.accountEventHeader = Tilitapahtumat
user.accountevents = Tilitapahtumat user.accountevents = Tilitapahtumat
user.address=Osoite user.address = Osoite
user.bank=Pankki user.bank = Pankki
user.bankaccount=Pankkitili user.bankaccount = Pankkitili
user.changePassword = Vaihda salasana user.changePassword = Vaihda salasana
user.changepassword.forUser = K\u00E4ytt\u00E4j\u00E4lle user.changepassword.forUser = K\u00E4ytt\u00E4j\u00E4lle
user.changepassword.title = Vaihda salasana user.changepassword.title = Vaihda salasana
user.create = Luo k\u00E4ytt\u00E4j\u00E4 user.create = Luo k\u00E4ytt\u00E4j\u00E4
user.createdmessage = K\u00E4ytt\u00E4j\u00E4tunnus on luotu onnistuneesti. Voit nyt kirjautua sis\u00E4\u00E4n. user.createdmessage = K\u00E4ytt\u00E4j\u00E4tunnus on luotu onnistuneesti. Voit nyt kirjautua sis\u00E4\u00E4n.
user.defaultImage=Oletukuva user.defaultImage = Oletukuva
user.edit=Muokkaa user.edit = Muokkaa
user.edit.title = Omat tiedot user.edit.title = Omat tiedot
user.email = S\u00E4hk\u00F6posti user.email = S\u00E4hk\u00F6posti
user.firstNames=Etunimi user.firstNames = Etunimi
user.hasImage=Kuva user.hasImage = Kuva
user.imageUploaded = Kuva l\u00E4hetetty. user.imageUploaded = Kuva l\u00E4hetetty.
user.imagelist=Tallennetut kuvat user.imagelist = Tallennetut kuvat
user.imagesubmit = L\u00E4het\u00E4 kuva user.imagesubmit = L\u00E4het\u00E4 kuva
user.invite = Kutsu user.invite = Kutsu
user.invite.header = Luo k\u00E4ytt\u00E4j\u00E4 kutsusta user.invite.header = Luo k\u00E4ytt\u00E4j\u00E4 kutsusta
user.invitemail = S\u00E4hk\u00F6postiosoite user.invitemail = S\u00E4hk\u00F6postiosoite
user.lastName=Sukunimi user.lastName = Sukunimi
user.login = K\u00E4ytt\u00E4j\u00E4tunnus user.login = K\u00E4ytt\u00E4j\u00E4tunnus
user.nick=Nick user.nick = Nick
user.noAccountevents=Ei tilitapahtumia user.noAccountevents = Ei tilitapahtumia
user.noCurrentImage=Ei kuvaa user.noCurrentImage = Ei kuvaa
user.noImage=EI kuvaa user.noImage = EI kuvaa
user.page.invite = Kutsu yst\u00E4vi\u00E4 user.page.invite = Kutsu yst\u00E4vi\u00E4
user.password=Salasana user.password = Salasana
user.passwordcheck=Salasana ( uudelleen ) user.passwordcheck = Salasana ( uudelleen )
user.passwordlengthMessage=Salasana liian lyhyt user.passwordlengthMessage = Salasana liian lyhyt
user.phone=Puhelin user.phone = Puhelin
user.placegroups = Omat paikkaryhm\u00E4t user.placegroups = Omat paikkaryhm\u00E4t
user.realname=Nimi user.realname = Nimi
user.roles=Roolit user.roles = Roolit
user.rolesave=Tallenna roolit user.rolesave = Tallenna roolit
user.save=Tallenna user.save = Tallenna
user.sendPicture = Kuvan l\u00E4hetys user.sendPicture = Kuvan l\u00E4hetys
user.sex = Sukupuoli user.sex = Sukupuoli
user.sex.FEMALE=Nainen user.sex.FEMALE = Nainen
user.sex.MALE=Mies user.sex.MALE = Mies
user.sex.UNDEFINED = M\u00E4\u00E4rittelem\u00E4tt\u00E4 user.sex.UNDEFINED = M\u00E4\u00E4rittelem\u00E4tt\u00E4
user.shop=Osta user.shop = Osta
user.successfullySaved=Tiedot tallennettu onnistuneesti user.successfullySaved = Tiedot tallennettu onnistuneesti
user.superadmin=Superadmin user.superadmin = Superadmin
user.thisIsCurrentImage=Nykyinen kuva user.thisIsCurrentImage = Nykyinen kuva
user.town=Kaupunki user.town = Kaupunki
user.uploadimage = L\u00E4het\u00E4 kuva user.uploadimage = L\u00E4het\u00E4 kuva
user.username = K\u00E4ytt\u00E4j\u00E4tunnus user.username = K\u00E4ytt\u00E4j\u00E4tunnus
user.validate.notUniqueUsername = K\u00E4ytt\u00E4j\u00E4tunnus on jo olemassa. Ole hyv\u00E4 ja valitse toinen tunnus user.validate.notUniqueUsername = K\u00E4ytt\u00E4j\u00E4tunnus on jo olemassa. Ole hyv\u00E4 ja valitse toinen tunnus
user.wholeName=Nimi user.wholeName = Nimi
user.zipCode=Postinumero user.zipCode = Postinumero
userimage.webcam=Ota kuva webkameralla userimage.webcam = Ota kuva webkameralla
userlist.header = Etsi k\u00E4ytt\u00E4ji\u00E4 userlist.header = Etsi k\u00E4ytt\u00E4ji\u00E4
userlist.search=Etsi userlist.search = Etsi
usertitle.managingUser = Hallitaan k\u00E4ytt\u00E4j\u00E4\u00E4 usertitle.managingUser = Hallitaan k\u00E4ytt\u00E4j\u00E4\u00E4
...@@ -515,3 +515,16 @@ userview.userExists = K\u00E4ytt\u00E4j\u00E4tunnus on jo olemassa. Ole ...@@ -515,3 +515,16 @@ userview.userExists = K\u00E4ytt\u00E4j\u00E4tunnus on jo olemassa. Ole
viewexpired.body = Ole hyv\u00E4 ja kirjaudu sis\u00E4\u00E4n uudelleen. viewexpired.body = Ole hyv\u00E4 ja kirjaudu sis\u00E4\u00E4n uudelleen.
viewexpired.title = N\u00E4kym\u00E4 on vanhentunut viewexpired.title = N\u00E4kym\u00E4 on vanhentunut
voting.create.compoEnd = Lopetusaika
voting.create.compoStart = Aloitusaika
voting.create.createButton = Luo
voting.create.dateValidatorEndDate = Loppumisaika ennen alkua.
voting.create.description = Kuvaus
voting.create.header = Compon luonti
voting.create.maxParticipants = Max osallistujat
voting.create.name = Nimi
voting.create.submitEnd = Submit kiinni
voting.create.submitStart = Submit auki
voting.create.voteEnd = \u00C4\u00E4nestys kiinni
voting.create.voteStart = \u00C4\u00E4nestys auki
...@@ -90,6 +90,7 @@ public abstract class GenericCDIView implements Serializable { ...@@ -90,6 +90,7 @@ public abstract class GenericCDIView implements Serializable {
} }
protected void addFaceMessage(String string, Object... params) { protected void addFaceMessage(String string, Object... params) {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(I18n.get(string, params))); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(I18n.get(string, params)));
} }
......
...@@ -19,6 +19,7 @@ public class ActionLogCreateView extends GenericCDIView { ...@@ -19,6 +19,7 @@ public class ActionLogCreateView extends GenericCDIView {
@EJB @EJB
private ActionLogBeanLocal actionLogBean; private ActionLogBeanLocal actionLogBean;
@Size(min=4,message="{actionlog.message.tooshort}") @Size(min=4,message="{actionlog.message.tooshort}")
private String message; private String message;
private Role role; private Role role;
......
...@@ -30,6 +30,12 @@ public class PageOutputView extends GenericCDIView { ...@@ -30,6 +30,12 @@ public class PageOutputView extends GenericCDIView {
initView(); initView();
} }
public void initView(String name)
{
this.name = name;
initView();
}
public void initView() { public void initView() {
if (name == null || name.isEmpty()) { if (name == null || name.isEmpty()) {
setContents(pagebean.findContentsForUser(id)); setContents(pagebean.findContentsForUser(id));
...@@ -47,14 +53,6 @@ public class PageOutputView extends GenericCDIView { ...@@ -47,14 +53,6 @@ public class PageOutputView extends GenericCDIView {
return id; return id;
} }
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public void setId(Integer id) { public void setId(Integer id) {
this.id = id; this.id = id;
} }
......
...@@ -50,20 +50,24 @@ public class ProductShopView extends GenericCDIView { ...@@ -50,20 +50,24 @@ public class ProductShopView extends GenericCDIView {
@Inject @Inject
private BillListView billListView; private BillListView billListView;
public void initView() { public void initBillView()
boolean ok = true; {
if (!permbean.isCurrentUser(user)) { if (requirePermissions(ShopPermission.LIST_USERPRODUCTS)) {
ok = requirePermissions(ShopPermission.SHOP_TO_OTHERS); shoppingcart = new ListDataModel<ProductShopItem>(ProductShopItem.productList(productBean.listUserShoppableProducts()));
logger.debug("Initialized billing shoppingcart to {}", shoppingcart);
this.beginConversation();
} }
if (ok && shoppingcart == null) {
if (permbean.hasPermission(ShopPermission.LIST_ALL_PRODUCTS)) { }
shoppingcart = new ListDataModel<ProductShopItem>(ProductShopItem.productList(productBean.getProducts()));
} else if (requirePermissions(ShopPermission.LIST_USERPRODUCTS)) { public void initShopView() {
shoppingcart = new ListDataModel<ProductShopItem>(ProductShopItem.productList(productBean.listUserShoppableProducts()));
} if (requirePermissions(ShopPermission.SHOP_TO_OTHERS)) {
logger.info("Initialized shoppingcart to {}", shoppingcart); shoppingcart = new ListDataModel<ProductShopItem>(ProductShopItem.productList(productBean.listUserShoppableProducts()));
logger.debug("Initialized shoppingcart to {}", shoppingcart);
this.beginConversation(); this.beginConversation();
} }
} }
public String add(Integer count) public String add(Integer count)
......
...@@ -4,13 +4,16 @@ import java.util.List; ...@@ -4,13 +4,16 @@ import java.util.List;
import javax.ejb.EJB; import javax.ejb.EJB;
import javax.enterprise.context.ConversationScoped; import javax.enterprise.context.ConversationScoped;
import javax.faces.model.ListDataModel;
import javax.inject.Inject; import javax.inject.Inject;
import javax.inject.Named; import javax.inject.Named;
import fi.insomnia.bortal.beans.ReaderBeanLocal; import fi.insomnia.bortal.beans.ReaderBeanLocal;
import fi.insomnia.bortal.beans.UserBeanLocal;
import fi.insomnia.bortal.enums.apps.ShopPermission; import fi.insomnia.bortal.enums.apps.ShopPermission;
import fi.insomnia.bortal.model.Reader; import fi.insomnia.bortal.enums.apps.UserPermission;
import fi.insomnia.bortal.model.ReaderEvent; import fi.insomnia.bortal.model.ReaderEvent;
import fi.insomnia.bortal.model.User;
import fi.insomnia.bortal.web.cdiview.GenericCDIView; import fi.insomnia.bortal.web.cdiview.GenericCDIView;
@Named @Named
...@@ -19,29 +22,51 @@ public class ReaderView extends GenericCDIView { ...@@ -19,29 +22,51 @@ public class ReaderView extends GenericCDIView {
private static final long serialVersionUID = 802344850073689859L; private static final long serialVersionUID = 802344850073689859L;
private Integer eventid;
private String placecode;
private String usersearch;
private ListDataModel<User> userlist;
@Inject @Inject
private ReaderNameContainer namecontainer; private ReaderNameContainer namecontainer;
@EJB @EJB
private ReaderBeanLocal readerbean; private ReaderBeanLocal readerbean;
private List<Reader> readers; private ReaderEvent event;
public void initReaderList() { @EJB
super.requirePermissions(ShopPermission.SHOP_TO_OTHERS); private UserBeanLocal userbean;
public void initUserassocView() {
if (super.requirePermissions(UserPermission.CREATE_NEW)) {
event = readerbean.getEvent(eventid);
super.beginConversation();
}
} }
public List<ReaderEvent> getReaderEvents() public String searchforuser()
{ {
return readerbean.getReaderEvents(namecontainer.getReaderId()); if (usersearch == null || usersearch.length() < 2) {
super.addFaceMessage("user.tooShortSearch");
} else {
userlist = new ListDataModel<User>(userbean.getUsers(0, 0, null, usersearch).getResults());
}
return null;
} }
public List<Reader> getReaders() public void initReaderList() {
{ if (super.requirePermissions(ShopPermission.SHOP_TO_OTHERS)) {
if (readers == null) {
readers = readerbean.getReaders();
} }
return readers; }
public List<ReaderEvent> getReaderEvents()
{
return readerbean.getReaderEvents(namecontainer.getReaderId());
} }
public ReaderNameContainer getNamecontainer() { public ReaderNameContainer getNamecontainer() {
...@@ -52,4 +77,44 @@ public class ReaderView extends GenericCDIView { ...@@ -52,4 +77,44 @@ public class ReaderView extends GenericCDIView {
this.namecontainer = namecontainer; this.namecontainer = namecontainer;
} }
public Integer getEventid() {
return eventid;
}
public void setEventid(Integer eventid) {
this.eventid = eventid;
}
public ReaderEvent getEvent() {
return event;
}
public void setEvent(ReaderEvent event) {
this.event = event;
}
public String getPlacecode() {
return placecode;
}
public void setPlacecode(String placecode) {
this.placecode = placecode;
}
public String getUsersearch() {
return usersearch;
}
public void setUsersearch(String usersearch) {
this.usersearch = usersearch;
}
public ListDataModel<User> getUserlist() {
return userlist;
}
public void setUserlist(ListDataModel<User> userlist) {
this.userlist = userlist;
}
} }
...@@ -7,6 +7,9 @@ import javax.faces.bean.ManagedBean; ...@@ -7,6 +7,9 @@ import javax.faces.bean.ManagedBean;
import javax.faces.bean.RequestScoped; import javax.faces.bean.RequestScoped;
import javax.inject.Named; import javax.inject.Named;
import javax.validation.constraints.Min; import javax.validation.constraints.Min;
import javax.validation.constraints.Size;
import org.hibernate.validator.constraints.Length;
import fi.insomnia.bortal.beans.VotingBeanLocal; import fi.insomnia.bortal.beans.VotingBeanLocal;
import fi.insomnia.bortal.web.cdiview.GenericCDIView; import fi.insomnia.bortal.web.cdiview.GenericCDIView;
...@@ -24,10 +27,10 @@ public class VotingCreateView extends GenericCDIView { ...@@ -24,10 +27,10 @@ public class VotingCreateView extends GenericCDIView {
@EJB @EJB
private VotingBeanLocal votbean; private VotingBeanLocal votbean;
@Min(value=4,message="Nimen pitää olla pidempi kuin 4 merkkiä.") @Size(min=4, message="{voting.create.nameError}")
private String name; private String name;
private String description; private String description;
@Min(value=1, message="Min osallistujia 1.") @Min(value=1, message="{voting.create.participantsError}")
private Integer maxParticipants; private Integer maxParticipants;
private Date compoStart; private Date compoStart;
......
...@@ -10,11 +10,14 @@ import javax.faces.context.FacesContext; ...@@ -10,11 +10,14 @@ import javax.faces.context.FacesContext;
import javax.faces.validator.ValidatorException; import javax.faces.validator.ValidatorException;
import javax.inject.Inject; import javax.inject.Inject;
import javax.inject.Named; import javax.inject.Named;
import javax.servlet.jsp.tagext.ValidationMessage;
import org.eclipse.persistence.exceptions.ValidationException; import org.eclipse.persistence.exceptions.ValidationException;
import org.hibernate.validator.util.LoggerFactory; import org.hibernate.validator.util.LoggerFactory;
import org.slf4j.Logger; import org.slf4j.Logger;
import fi.insomnia.bortal.utilities.I18n;
@Named @Named
@RequestScoped @RequestScoped
...@@ -34,7 +37,8 @@ public class VotingDateValidator implements Serializable { ...@@ -34,7 +37,8 @@ public class VotingDateValidator implements Serializable {
//UIComponent foo = ui.findComponent("cStart"); //UIComponent foo = ui.findComponent("cStart");
//logger.info("uielement {} ", foo); //logger.info("uielement {} ", foo);
if(endDate.before(cStart)) { if(endDate.before(cStart)) {
message(new FacesMessage("Loppumispvm ennen alkua. KORJAA SE."));
message(new FacesMessage(I18n.get("voting.create.dateValidatorEndDate")));
} }
} }
...@@ -47,7 +51,7 @@ public class VotingDateValidator implements Serializable { ...@@ -47,7 +51,7 @@ public class VotingDateValidator implements Serializable {
public void validateVote(FacesContext context, UIComponent ui, Object object) { public void validateVote(FacesContext context, UIComponent ui, Object object) {
Date endDate = (Date)object; Date endDate = (Date)object;
if(endDate.before(vStart)) { if(endDate.before(vStart)) {
message(new FacesMessage("Loppumispvm ennen alkua. NOT VALID.")); message(new FacesMessage(I18n.get("voting.create.dateValidatorEndDate")));
} }
} }
...@@ -58,7 +62,7 @@ public class VotingDateValidator implements Serializable { ...@@ -58,7 +62,7 @@ public class VotingDateValidator implements Serializable {
public void validateSubmit(FacesContext context, UIComponent ui, Object object) { public void validateSubmit(FacesContext context, UIComponent ui, Object object) {
Date endDate = (Date)object; Date endDate = (Date)object;
if(endDate.before(sStart)) { if(endDate.before(sStart)) {
message(new FacesMessage("Loppumispvm ennen aloitusta. IS AN ERROR.")); message(new FacesMessage(I18n.get("voting.create.dateValidatorEndDate")));
} }
} }
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!