Commit bbad7893 by Tuukka Kivilahti

sometgins

1 parent 5cc92394
...@@ -211,10 +211,30 @@ public class RoleBean implements RoleBeanLocal { ...@@ -211,10 +211,30 @@ public class RoleBean implements RoleBeanLocal {
cardTemplateBean.checkPrintedCard(usr); cardTemplateBean.checkPrintedCard(usr);
} }
@Override @Override
@RolesAllowed(UserPermission.S_READ_ROLES) @RolesAllowed(UserPermission.S_READ_ROLES)
public List<Role> getRoles(EventUser selectedUser) { public List<Role> getRoles(EventUser selectedUser) {
return roleFacade.findForUser(selectedUser); return roleFacade.findForUser(selectedUser);
} }
@Override
public void saveUserSelectableRoles(EventUser user, List<Role> roles) {
List<Role> allRoles = roleFacade.findAll();
for (Role ur : allRoles)
{
if (roles.contains(ur)) {
if (!ur.getUsers().contains(usr)) {
ur.getUsers().add(usr);
}
} else {
ur.getUsers().remove(usr);
}
}
cardTemplateBean.checkPrintedCard(usr);
}
} }
package fi.codecrew.moya.facade; package fi.codecrew.moya.facade;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import javax.ejb.EJB; import javax.ejb.EJB;
...@@ -9,11 +10,11 @@ import javax.persistence.criteria.CriteriaBuilder; ...@@ -9,11 +10,11 @@ import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root; import javax.persistence.criteria.Root;
import fi.codecrew.moya.model.Role_;
import fi.codecrew.moya.beans.EventBeanLocal; import fi.codecrew.moya.beans.EventBeanLocal;
import fi.codecrew.moya.model.EventUser; import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.model.LanEvent; import fi.codecrew.moya.model.LanEvent;
import fi.codecrew.moya.model.Role; import fi.codecrew.moya.model.Role;
import fi.codecrew.moya.model.Role_;
@Stateless @Stateless
@LocalBean @LocalBean
...@@ -60,4 +61,28 @@ public class RoleFacade extends IntegerPkGenericFacade<Role> { ...@@ -60,4 +61,28 @@ public class RoleFacade extends IntegerPkGenericFacade<Role> {
return getEm().createQuery(cq).getResultList(); return getEm().createQuery(cq).getResultList();
} }
public List<Role> findUserSelectableRoles() {
CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<Role> cq = cb.createQuery(Role.class);
Root<Role> root = cq.from(Role.class);
cq.where(cb.equal(root.get(Role_.event), eventbean.getCurrentEvent()),
cb.greaterThan(root.get(Role_.selectChildrensCount), new Integer(0)));
List<Role> roles = getEm().createQuery(cq).getResultList();
ArrayList<Role> returnRoles = new ArrayList<Role>();
// sorry for uqly loop
for(Role role : roles) {
if(role.getSelectChildrensCount() > 0) { // just in case
for(Role subRole : role.getChildren()) {
if(!returnRoles.contains(subRole)) {
returnRoles.add(subRole);
}
}
}
}
return returnRoles;
}
} }
...@@ -33,6 +33,8 @@ public interface RoleBeanLocal { ...@@ -33,6 +33,8 @@ public interface RoleBeanLocal {
public Role setPermissions(Role role, List<IAppPermission> newPerms); public Role setPermissions(Role role, List<IAppPermission> newPerms);
public void saveRoles(EventUser usr, List<Role> usersRoles); public void saveRoles(EventUser usr, List<Role> usersRoles);
public void saveUserSelectableRoles(EventUser user, List<Role> roles);
public List<Role> getRoles(EventUser selectedUser); public List<Role> getRoles(EventUser selectedUser);
......
...@@ -75,7 +75,7 @@ public class Role extends GenericEntity { ...@@ -75,7 +75,7 @@ public class Role extends GenericEntity {
private LanEvent event; private LanEvent event;
@Column(name = "select_childrens_count", nullable = true) @Column(name = "select_childrens_count", nullable = true)
private int selectChildrensCount; private Integer selectChildrensCount;
@ManyToMany @ManyToMany
@JoinTable(name = "roles_provided_by_org_roles", @JoinTable(name = "roles_provided_by_org_roles",
...@@ -212,11 +212,14 @@ public class Role extends GenericEntity { ...@@ -212,11 +212,14 @@ public class Role extends GenericEntity {
} }
public int getSelectChildrensCount() { public Integer getSelectChildrensCount() {
if(selectChildrensCount == null)
return 0;
return selectChildrensCount; return selectChildrensCount;
} }
public void setSelectChildrensCount(int selectChildrensCount) { public void setSelectChildrensCount(Integer selectChildrensCount) {
this.selectChildrensCount = selectChildrensCount; this.selectChildrensCount = selectChildrensCount;
} }
......
<?xml version='1.0' encoding='UTF-8' ?> <?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:composite="http://java.sun.com/jsf/composite" <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:composite="http://java.sun.com/jsf/composite" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:p="http://primefaces.org/ui" xmlns:tools="http://java.sun.com/jsf/composite/tools"
xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:p="http://primefaces.org/ui" xmlns:tools="http://java.sun.com/jsf/composite/tools"
xmlns:role="http://java.sun.com/jsf/composite/tools/role"> xmlns:role="http://java.sun.com/jsf/composite/tools/role">
...@@ -22,15 +21,15 @@ ...@@ -22,15 +21,15 @@
</h:form> </h:form>
</p> </p>
<h:form id="addmember"> <h:form id="addmember">
<h:outputText value="#{i18n['roleView.adduser']}" /> <h:outputText value="#{i18n['roleView.adduser']}" />
<p:autoComplete id="useradder" value="#{roleView.addableUser}" completeMethod="#{roleView.searchUser}" converter="#{userConverter}" var="usr" itemValue="#{usr}" <p:autoComplete id="useradder" value="#{roleView.addableUser}" completeMethod="#{roleView.searchUser}" converter="#{userConverter}" var="usr" itemValue="#{usr}" itemLabel="#{usr.shortUserDescriptor}">
itemLabel="#{usr.shortUserDescriptor}"> <p:ajax onerror="location.reload(true);" update=":editor:addmember,:editor:memberlist" event="itemSelect" listener="#{roleView.addUser}" />
<p:ajax onerror="location.reload(true);" update=":editor:addmember,:editor:memberlist" event="itemSelect" listener="#{roleView.addUser}" /> </p:autoComplete>
</p:autoComplete>
</h:form> </h:form>
<p:fieldset legend="#{i18n['roleView.members']}" collapsed="true">
<h:dataTable id="memberlist" value="#{roleView.role.users}" var="usr"> <h:dataTable id="memberlist" value="#{roleView.role.users}" var="usr">
<h:column> <h:column>
<h:outputText value="#{usr.login}" /> <h:outputText value="#{usr.login}" />
...@@ -46,13 +45,14 @@ ...@@ -46,13 +45,14 @@
</h:column> </h:column>
</h:dataTable> </h:dataTable>
</p:fieldset>
<button id="roledisplayer" onclick='$("#roleeditor").show(); $(this).hide();'>#{i18n['role.showPermissioneditor']}</button> <button id="roledisplayer" onclick='$("#roleeditor").show(); $(this).hide();'>#{i18n['roleView.showPermissioneditor']}</button>
<div id="roleeditor" style="display: none"> <div id="roleeditor" style="display: none">
<button onclick='$("#roleeditor").hide(); $("#roledisplayer").show();'>#{i18n['role.hidePermissioneditor']}</button> <button onclick='$("#roleeditor").hide(); $("#roledisplayer").show();'>#{i18n['roleView.hidePermissioneditor']}</button>
<h2>#{i18n['role.permissionheader']}</h2> <h2>#{i18n['role.permissionheader']}</h2>
<p> <p>
<h:form id="permissionform"> <h:form id="permissionform">
......
...@@ -10,6 +10,8 @@ ...@@ -10,6 +10,8 @@
<h:panelGrid columns="2"> <h:panelGrid columns="2">
<h:outputText value="#{i18n['role.name']}" /> <h:outputText value="#{i18n['role.name']}" />
<h:inputText value="#{roleView.role.name}" /> <h:inputText value="#{roleView.role.name}" />
<h:outputText value="* #{i18n['role.selectChildrensCount']}" />
<h:inputText value="#{roleView.role.selectChildrensCount}" />
<h:outputText value="#{i18n['role.parents']}" /> <h:outputText value="#{i18n['role.parents']}" />
<h:selectManyCheckbox converter="#{roleConverter}" layout="pageDirection" id="roleparents" <h:selectManyCheckbox converter="#{roleConverter}" layout="pageDirection" id="roleparents"
...@@ -23,6 +25,8 @@ ...@@ -23,6 +25,8 @@
</h:selectOneMenu> </h:selectOneMenu>
</h:panelGrid> </h:panelGrid>
<h:outputText value="#{i18n['role.selectChildrensCount.note']}" /><br /><br />
</ui:composition> </ui:composition>
</html> </html>
<?xml version='1.0' encoding='UTF-8' ?> <?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:composite="http://java.sun.com/jsf/composite" <html xmlns="http://www.w3.org/1999/xhtml" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:composite="http://java.sun.com/jsf/composite" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:tools="http://java.sun.com/jsf/composite/tools" xmlns:p="http://primefaces.org/ui">
xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:tools="http://java.sun.com/jsf/composite/tools" xmlns:p="http://primefaces.org/ui">
<composite:interface> <composite:interface>
...@@ -24,7 +23,7 @@ ...@@ -24,7 +23,7 @@
<ui:fragment rendered="#{not empty userView.selectedUser.id}"> <ui:fragment rendered="#{not empty userView.selectedUser.id}">
<p:dialog id="chartPanel" for="webcamButton" modal="true" dynamic="true" widgetVar="webcamDialog"> <p:dialog id="chartPanel" for="webcamButton" modal="true" dynamic="true" widgetVar="webcamDialog">
<p:photoCam widgetVar="pc" listener="#{userView.oncapture}" update="@all" /> <p:photoCam widgetVar="pc" listener="#{userView.oncapture}" update="@all" />
<p:commandButton type="button" value="Capture" onclick="PF('pc').capture()" onerror="location.reload(true);"/> <p:commandButton type="button" value="Capture" onclick="PF('pc').capture()" onerror="location.reload(true);" />
</p:dialog> </p:dialog>
...@@ -84,98 +83,81 @@ ...@@ -84,98 +83,81 @@
<table> <table>
<ui:fragment rendered="#{!cc.attrs.creating}"> <ui:fragment rendered="#{!cc.attrs.creating}">
<tr> <tr>
<td colspan="2"><b><h:outputLabel for="login" value="#{i18n['user.login']}" /></b><br /> <td colspan="2"><b><h:outputLabel for="login" value="#{i18n['user.login']}" /></b><br /> <h:outputText value="#{userView.selectedUser.login}" id="login" /></td>
<h:outputText value="#{userView.selectedUser.login}" id="login" />
</td>
</tr> </tr>
</ui:fragment> </ui:fragment>
<tr> <tr>
<td colspan="2"><b><h:outputLabel value="#{i18n['user.nick']}" for="nick" /> </b><br /> <td colspan="2"><b><h:outputLabel value="#{i18n['user.nick']}" for="nick" /> </b><br /> <p:inplace emptyLabel="#{i18n['user.insert']}">
<p:inplace emptyLabel="#{i18n['user.insert']}"> <p:inputText size="45" id="nick" disabled="#{!cc.attrs.creating and !userView.canSave}" value="#{userView.selectedUser.nick}" />
<p:inputText size="45" id="nick" disabled="#{!cc.attrs.creating and !userView.canSave}" value="#{userView.selectedUser.nick}" /> </p:inplace></td>
</p:inplace>
</td>
</tr> </tr>
<tr> <tr>
<td><b><h:outputLabel value="#{i18n['user.firstNames']}" for="firstnames" /></b><br /> <td><b><h:outputLabel value="#{i18n['user.firstNames']}" for="firstnames" /></b><br /> <p:inplace emptyLabel="#{i18n['user.insert']}">
<p:inplace emptyLabel="#{i18n['user.insert']}">
<p:inputText size="22" id="firstnames" disabled="#{!cc.attrs.creating and !userView.canSave}" value="#{userView.selectedUser.firstnames}" /> <p:inputText size="22" id="firstnames" disabled="#{!cc.attrs.creating and !userView.canSave}" value="#{userView.selectedUser.firstnames}" />
</p:inplace> </p:inplace></td>
</td> <td><b><h:outputLabel value="#{i18n['user.lastName']}" for="lastname" /></b><br /> <p:inplace emptyLabel="#{i18n['user.insert']}">
<td><b><h:outputLabel value="#{i18n['user.lastName']}" for="lastname" /></b><br />
<p:inplace emptyLabel="#{i18n['user.insert']}">
<p:inputText size="30" id="lastname" disabled="#{!cc.attrs.creating and !userView.canSave}" value="#{userView.selectedUser.lastname}" /> <p:inputText size="30" id="lastname" disabled="#{!cc.attrs.creating and !userView.canSave}" value="#{userView.selectedUser.lastname}" />
</p:inplace> </p:inplace></td>
</td>
</tr> </tr>
<tr> <tr>
<td colspan="2"><b><h:outputLabel value="#{i18n['user.sex']}" for="sex" /></b> <br /> <td colspan="2"><b><h:outputLabel value="#{i18n['user.sex']}" for="sex" /></b> <br /> <p:selectOneMenu disabled="#{!cc.attrs.creating and !userView.canSave}" id="sex" value="#{userView.selectedUser.gender}">
<p:selectOneMenu disabled="#{!cc.attrs.creating and !userView.canSave}" id="sex" value="#{userView.selectedUser.gender}">
<f:selectItem id="undefined" itemLabel="#{i18n['user.sex.UNDEFINED']}" itemValue="UNDEFINED" /> <f:selectItem id="undefined" itemLabel="#{i18n['user.sex.UNDEFINED']}" itemValue="UNDEFINED" />
<f:selectItem id="male" itemLabel="#{i18n['user.sex.MALE']}" itemValue="MALE" /> <f:selectItem id="male" itemLabel="#{i18n['user.sex.MALE']}" itemValue="MALE" />
<f:selectItem id="female" itemLabel="#{i18n['user.sex.FEMALE']}" itemValue="FEMALE" /> <f:selectItem id="female" itemLabel="#{i18n['user.sex.FEMALE']}" itemValue="FEMALE" />
</p:selectOneMenu> </p:selectOneMenu></td>
</td>
</tr> </tr>
<tr> <tr>
<td><b><h:outputLabel for="birthday" value="#{i18n['user.birthday']}" /></b><br /> <td><b><h:outputLabel for="birthday" value="#{i18n['user.birthday']}" /></b><br /> <p:inplace emptyLabel="#{i18n['user.insert']}">
<p:inplace emptyLabel="#{i18n['user.insert']}">
<p:calendar id="birthday" navigator="true" yearRange="c-80:c-0" value="#{userView.selectedUser.birthday}"> <p:calendar id="birthday" navigator="true" yearRange="c-80:c-0" value="#{userView.selectedUser.birthday}">
<f:convertDateTime pattern="#{sessionHandler.dateFormat}" timeZone="#{sessionHandler.timezone}" /> <f:convertDateTime pattern="#{sessionHandler.dateFormat}" timeZone="#{sessionHandler.timezone}" />
</p:calendar> </p:calendar>
</p:inplace> <h:message for="birthday" /> </p:inplace> <h:message for="birthday" /></td>
</td> <td><b><h:outputLabel for="age" value="#{i18n['user.age']}" /></b><br /> <h:outputText value="#{userView.selectedUser.user.age}">
<td><b><h:outputLabel for="age" value="#{i18n['user.age']}" /></b><br /> <f:convertNumber minFractionDigits="2" maxFractionDigits="2" />
<h:outputText value="#{userView.selectedUser.user.age}"> </h:outputText></td>
<f:convertNumber minFractionDigits="2" maxFractionDigits="2"/>
</h:outputText>
</td>
</tr> </tr>
</table> </table>
<table> <table>
<tr> <tr>
<td colspan="2"><b><p:outputLabel value="#{i18n['user.address']}" for="address" /></b><br /> <td colspan="2"><b><p:outputLabel value="#{i18n['user.address']}" for="address" /></b><br /> <p:inplace emptyLabel="#{i18n['user.insert']}">
<p:inplace emptyLabel="#{i18n['user.insert']}">
<p:inputText size="45" id="address" disabled="#{!cc.attrs.creating and !userView.canSave}" value="#{userView.selectedUser.address}" /> <p:inputText size="45" id="address" disabled="#{!cc.attrs.creating and !userView.canSave}" value="#{userView.selectedUser.address}" />
</p:inplace> </p:inplace></td>
</td>
</tr> </tr>
<tr> <tr>
<td><b><p:outputLabel value="#{i18n['user.zipCode']}" for="zip" /></b><br /> <td><b><p:outputLabel value="#{i18n['user.zipCode']}" for="zip" /></b><br /> <p:inplace emptyLabel="#{i18n['user.insert']}">
<p:inplace emptyLabel="#{i18n['user.insert']}">
<p:inputText styleClass="ui-input" size="7" id="zip" disabled="#{!cc.attrs.creating and !userView.canSave}" value="#{userView.selectedUser.zip}" /> <p:inputText styleClass="ui-input" size="7" id="zip" disabled="#{!cc.attrs.creating and !userView.canSave}" value="#{userView.selectedUser.zip}" />
</p:inplace> <p:message for="zip" /> </p:inplace> <p:message for="zip" /></td>
</td> <td><b><p:outputLabel value="#{i18n['user.town']}" for="town" /></b><br /> <p:inplace emptyLabel="#{i18n['user.insert']}">
<td><b><p:outputLabel value="#{i18n['user.town']}" for="town" /></b><br />
<p:inplace emptyLabel="#{i18n['user.insert']}">
<p:inputText styleClass="ui-input" size="25" id="town" disabled="#{!cc.attrs.creating and !userView.canSave}" value="#{userView.selectedUser.town}" /> <p:inputText styleClass="ui-input" size="25" id="town" disabled="#{!cc.attrs.creating and !userView.canSave}" value="#{userView.selectedUser.town}" />
</p:inplace> <p:message for="town" /> </p:inplace> <p:message for="town" /></td>
</td>
</tr> </tr>
<tr> <tr>
<td colspan="2"><b><h:outputLabel value="#{i18n['user.email']}" for="email" /></b> <br /> <td colspan="2"><b><h:outputLabel value="#{i18n['user.email']}" for="email" /></b> <br /> <p:inplace emptyLabel="#{i18n['user.insert']}">
<p:inplace emptyLabel="#{i18n['user.insert']}">
<p:inputText validator="#{userValidator.validateEmail}" size="45" id="email" disabled="#{!cc.attrs.creating and !userView.canSave}" value="#{userView.selectedUser.email}" /> <p:inputText validator="#{userValidator.validateEmail}" size="45" id="email" disabled="#{!cc.attrs.creating and !userView.canSave}" value="#{userView.selectedUser.email}" />
</p:inplace> </p:inplace></td>
</td>
</tr> </tr>
<tr> <tr>
<td><b><p:outputLabel value="#{i18n['user.phone']}" for="phone" /></b><br /> <td><b><p:outputLabel value="#{i18n['user.phone']}" for="phone" /></b><br /> <p:inplace emptyLabel="#{i18n['user.insert']}">
<p:inplace emptyLabel="#{i18n['user.insert']}">
<p:inputText styleClass="ui-input" size="7" id="phone" disabled="#{!cc.attrs.creating and !userView.canSave}" value="#{userView.selectedUser.phone}" /> <p:inputText styleClass="ui-input" size="7" id="phone" disabled="#{!cc.attrs.creating and !userView.canSave}" value="#{userView.selectedUser.phone}" />
</p:inplace> <p:message for="phone" /> </p:inplace> <p:message for="phone" /></td>
</td>
</tr> </tr>
</table> </table>
<p:commandButton rendered="#{cc.attrs.creating or userView.canSave}" id="commitbtn" action="#{cc.attrs.commitaction}" ajax="false" value="#{cc.attrs.commitvalue}" onerror="location.reload(true);"/> <p:commandButton rendered="#{cc.attrs.creating or userView.canSave}" id="commitbtn" action="#{cc.attrs.commitaction}" ajax="false" value="#{cc.attrs.commitvalue}" onerror="location.reload(true);" />
</h:panelGroup> </h:panelGroup>
</h:form> </h:form>
<h:form>
<h:panelGroup>
tähän tulee lista rooleista
</h:panelGroup>
</h:form>
</h:panelGrid> </h:panelGrid>
</composite:implementation> </composite:implementation>
......
...@@ -116,17 +116,14 @@ cardTemplate.emptyCardTemplate = ---- ...@@ -116,17 +116,14 @@ cardTemplate.emptyCardTemplate = ----
code.inputfield = Sy\u00F6t\u00E4 viivakoodi code.inputfield = Sy\u00F6t\u00E4 viivakoodi
create = Luo
delete = Poista delete = Poista
create = Luo
edit = Muokkaa edit = Muokkaa
error = Virhe error = Virhe
error.contact = If this happens again, contact Info with the following code: error.contact = If this happens again, contact Info with the following code:
error.error = You have encountered an error. error.error = You have encountered an error.
...@@ -253,7 +250,6 @@ navi.auth.login = frontpage ...@@ -253,7 +250,6 @@ navi.auth.login = frontpage
navi.auth.loginerror = frontpage navi.auth.loginerror = frontpage
navi.auth.logout = frontpage navi.auth.logout = frontpage
off = Poissa off = Poissa
on = P\u00E4\u00E4ll\u00E4 on = P\u00E4\u00E4ll\u00E4
...@@ -302,40 +298,35 @@ resetMail.username = Username ...@@ -302,40 +298,35 @@ resetMail.username = Username
resetmailSent.body = Email has been sent containing a link where you can change the password. resetmailSent.body = Email has been sent containing a link where you can change the password.
resetmailSent.header = Email sent resetmailSent.header = Email sent
save = Tallenna role.selectChildrensCount = K\u00E4ytt\u00E4j\u00E4 voi valita lapsia
role.selectChildrensCount.note = * Kuinka monta roolia k\u00E4ytt\u00E4j\u00E4 voi itse valita t\u00E4m\u00E4n roolin lapsirooleista, 0 disabloi ominaisuuden.
submenu.NotImplementedYet = Not implemented roleView.adduser = Lis\u00E4\u00E4 k\u00E4ytt\u00E4j\u00E4
submenu.admin.adduser = K\u00E4ytt\u00E4j\u00E4nlis\u00E4ys roleView.hidePermissioneditor = Piilota oikeusasetukset
submenu.admin.adduser.index = K\u00E4ytt\u00E4j\u00E4nlis\u00E4ys roleView.members = K\u00E4ytt\u00E4j\u00E4t
submenu.frontpage = Frontpage roleView.showPermissioneditor = N\u00E4yt\u00E4 oikeusasetukset
submenu.info.incoming = Sis\u00E4\u00E4ntulo save = Tallenna
submenu.info.index = Infon\u00E4kym\u00E4
submenu.info.shop = Kauppa
submenu.info.index = Infon\u00E4kym\u00E4 submenu.NotImplementedYet = Not implemented
= Infon\u00E4kym\u00E4 submenu.admin.adduser = K\u00E4ytt\u00E4j\u00E4nlis\u00E4ys
submenu.admin.adduser.index = K\u00E4ytt\u00E4j\u00E4nlis\u00E4ys
submenu.frontpage = Frontpage
submenu.info.incoming = Sis\u00E4\u00E4ntulo
submenu.info.index = Infon\u00E4kym\u00E4
submenu.info.shop = Kauppa
submenu.lectureadmin.manageLectureGroups = Hallinnoi submenu.lectureadmin.manageLectureGroups = Hallinnoi
submenu.lectures.viewLectures = Ilmoittaudu submenu.lectures.viewLectures = Ilmoittaudu
subnavi.cards = \u0009\u0009 subnavi.cards = \u0009\u0009
subnavi.info = Info subnavi.info = Info
success = Onnistui success = Onnistui
topnavi.adminlectures = Kurssit ja luennot topnavi.adminlectures = Kurssit ja luennot
topnavi.license = Lisenssikoodit topnavi.license = Lisenssikoodit
topnavi.userlectures = Kurssit ja luennot topnavi.userlectures = Kurssit ja luennot
user.cropImage = Crop user.cropImage = Crop
user.imageUpload.imageNotFound = Select image to upload user.imageUpload.imageNotFound = Select image to upload
user.unauthenticated = Kirjautumaton user.unauthenticated = Kirjautumaton
......
...@@ -284,11 +284,9 @@ compofile.uploadTime = Upload time ...@@ -284,11 +284,9 @@ compofile.uploadTime = Upload time
content.showContentEditLinks = Show content edit links content.showContentEditLinks = Show content edit links
delete = Delete
create = Create create = Create
delete = Delete
discount.active = Active discount.active = Active
discount.amountMax = Max amount discount.amountMax = Max amount
...@@ -966,20 +964,26 @@ rfidevent.reader = Reader ...@@ -966,20 +964,26 @@ rfidevent.reader = Reader
rfidevent.searchuser = Search user rfidevent.searchuser = Search user
rfidevent.tag = Tag rfidevent.tag = Tag
role.cardtemplate = Cardtemplate role.cardtemplate = Cardtemplate
role.create = Create role role.create = Create role
role.description = Description role.description = Description
role.edit = Edit role.edit = Edit
role.edit.save = Save role.edit.save = Save
role.execute = (X) role.execute = (X)
role.name = Name role.name = Name
role.parents = Parents role.parents = Parents
role.permissionheader = Role permissions role.permissionheader = Role permissions
role.read = (R) role.read = (R)
role.savePermissions = Save permissions role.savePermissions = Save permissions
role.write = (W) role.selectChildrensCount = Usen can select children
role.selectChildrensCount.note = * How many roles user can select under this role, 0 disables this.
roleView.save = Save changes role.write = (W)
roleView.adduser = Add user
roleView.hidePermissioneditor = Hide permissioneditor
roleView.members = Users
roleView.save = Save changes
roleView.showPermissioneditor = Show permissioneditor
salespoint.edit = Edit salespoint.edit = Edit
salespoint.name = Name salespoint.name = Name
...@@ -1058,102 +1062,98 @@ sitepage.save = Save ...@@ -1058,102 +1062,98 @@ sitepage.save = Save
sitepagelist.header = Site pages sitepagelist.header = Site pages
submenu.NotImplementedYet = Not implemented
submenu.NotImplementedYet = Not implemented submenu.actionlog.messagelist = ActionLog
submenu.actionlog.messagelist = ActionLog submenu.actionlog.taskview = View tasks
submenu.actionlog.taskview = View tasks submenu.admin.adduser = Adduser
submenu.admin.adduser = Adduser submenu.admin.adduser.index = Adduser
submenu.admin.adduser.index = Adduser submenu.admin.adduser.login = Login
submenu.admin.adduser.login = Login submenu.admin.adduser.start = Welcome
submenu.admin.adduser.start = Welcome submenu.admin.adduser.update = Update profile picture
submenu.admin.adduser.update = Update profile picture submenu.admin.incoming.index = Incoming
submenu.admin.incoming.index = Incoming submenu.admin.incoming.printCard = Print card
submenu.admin.incoming.printCard = Print card submenu.admin.info.computerplaces = Computerplaces
submenu.admin.info.computerplaces = Computerplaces submenu.admin.info.general = General functions
submenu.admin.info.general = General functions submenu.admin.info.index = Info index
submenu.admin.info.index = Info index submenu.auth.login = Login
submenu.auth.login = Login submenu.auth.loginError = Login error
submenu.auth.loginError = Login error submenu.auth.loginSucessRedirect = Successfully logged in
submenu.auth.loginSucessRedirect = Successfully logged in submenu.auth.logout = Logout
submenu.auth.logout = Logout submenu.auth.logoutResponse = Logout successfull
submenu.auth.logoutResponse = Logout successfull submenu.auth.sendResetMail = Password reset
submenu.auth.sendResetMail = Password reset submenu.bill.billSummary = Bill summary
submenu.bill.billSummary = Bill summary submenu.bill.list = My bills
submenu.bill.list = My bills submenu.bill.listAll = All bills
submenu.bill.listAll = All bills submenu.eventorg.editEvent = Edit event
submenu.eventorg.editEvent = Edit event submenu.eventorg.list = Manage Event
submenu.eventorg.list = Manage Event submenu.feedback.index = U Mad?!
submenu.feedback.index = U Mad?! submenu.foodadmin.createTemplate = Create foodwave template
submenu.foodadmin.createTemplate = Create foodwave template submenu.foodadmin.listTemplates = List foodwave templates
submenu.foodadmin.listTemplates = List foodwave templates submenu.foodmanager.listFoodwaves = List active foodwaves
submenu.foodmanager.listFoodwaves = List active foodwaves submenu.foodwave.list = Foodwaves
submenu.foodwave.list = Foodwaves submenu.foodwave.listTemplates = Food provides
submenu.foodwave.listTemplates = Food provides submenu.index = Frontpage
submenu.index = Frontpage submenu.info.incoming = Incomingview
submenu.info.incoming = Incomingview submenu.info.index = Infoview
submenu.info.index = Infoview submenu.info.shop = Shop
submenu.info.shop = Shop
submenu.license.manageCodes = Manage codes
submenu.license.viewCodes = View codes
submenu.map.create = Create map
submenu.map.list = List maps
submenu.networkassociation.index = Associations
submenu.orgrole.create = Create organisationrole
submenu.orgrole.list = Organisation roles
submenu.pages.create = Create content
submenu.pages.list = List pages
submenu.place.adminGroups = Account places
submenu.place.adminPlacemap = Placemap
submenu.place.editGroup = Edit group
submenu.place.insertToken = Insert placecode
submenu.place.myGroups = Place reservations
submenu.place.placemap = Placemap
submenu.poll.index = Polls
submenu.product.create = Create product
submenu.product.list = List products
submenu.role.create = Create role
submenu.role.list = Show Roles
submenu.shop.createBill = Purchase
submenu.shop.listReaders = List readers
submenu.shop.shopToUser = Shop to user
submenu.shop.showReaderEvents = Reader events
submenu.tournaments.admin.index = View and manage
submenu.tournaments.index = View and participate
submenu.tournaments.myparticipations = My Participations
submenu.user.accountEvents = Account events
submenu.user.changePassword = Change password
submenu.user.create = Create new user
submenu.user.edit = My information
submenu.user.foodwave = Food
submenu.user.gameids = Set GameIDs
submenu.user.invite = Invite friends
submenu.user.manageuserlinks = Manage users
submenu.user.other = Other
submenu.user.rolelinks = Manage roles
submenu.user.sendPicture = Send picture
submenu.user.shop = Shop
submenu.user.userlinks = User information
submenu.useradmin.accountEvents = Account events
submenu.useradmin.create = Create user
submenu.useradmin.createCardTemplate = Create cardtemplate
submenu.useradmin.edit = Edit user
submenu.useradmin.foodwaveshop = Food wave shop
submenu.useradmin.list = Search Users
submenu.useradmin.listCardTemplates = Card templates
submenu.useradmin.sendPicture = Send a picture
submenu.useradmin.showTakePicture = Show webcam
submenu.useradmin.validateUser = Validate user
submenu.utils.index = Administration utils
submenu.voting.admincompolist = Compos
submenu.voting.compolist = Compos
submenu.voting.create = Create new compo
submenu.voting.myEntries = My entries
submenu.voting.submitEntry = Submit entry
submenu.lectureadmin.manageLectureGroups = Management submenu.lectureadmin.manageLectureGroups = Management
submenu.lectures.viewLectures = Participate submenu.lectures.viewLectures = Participate
submenu.license.manageCodes = Manage codes
submenu.license.viewCodes = View codes
submenu.map.create = Create map
submenu.map.list = List maps
submenu.networkassociation.index = Associations
submenu.orgrole.create = Create organisationrole
submenu.orgrole.list = Organisation roles
submenu.pages.create = Create content
submenu.pages.list = List pages
submenu.place.adminGroups = Account places
submenu.place.adminPlacemap = Placemap
submenu.place.editGroup = Edit group
submenu.place.insertToken = Insert placecode
submenu.place.myGroups = Place reservations
submenu.place.placemap = Placemap
submenu.poll.index = Polls
submenu.product.create = Create product
submenu.product.list = List products
submenu.role.create = Create role
submenu.role.list = Show Roles
submenu.shop.createBill = Purchase
submenu.shop.listReaders = List readers
submenu.shop.shopToUser = Shop to user
submenu.shop.showReaderEvents = Reader events
submenu.tournaments.admin.index = View and manage
submenu.tournaments.index = View and participate
submenu.tournaments.myparticipations = My Participations
submenu.user.accountEvents = Account events
submenu.user.changePassword = Change password
submenu.user.create = Create new user
submenu.user.edit = My information
submenu.user.foodwave = Food
submenu.user.gameids = Set GameIDs
submenu.user.invite = Invite friends
submenu.user.manageuserlinks = Manage users
submenu.user.other = Other
submenu.user.rolelinks = Manage roles
submenu.user.sendPicture = Send picture
submenu.user.shop = Shop
submenu.user.userlinks = User information
submenu.useradmin.accountEvents = Account events
submenu.useradmin.create = Create user
submenu.useradmin.createCardTemplate = Create cardtemplate
submenu.useradmin.edit = Edit user
submenu.useradmin.foodwaveshop = Food wave shop
submenu.useradmin.list = Search Users
submenu.useradmin.listCardTemplates = Card templates
submenu.useradmin.sendPicture = Send a picture
submenu.useradmin.showTakePicture = Show webcam
submenu.useradmin.validateUser = Validate user
submenu.utils.index = Administration utils
submenu.voting.admincompolist = Compos
submenu.voting.compolist = Compos
submenu.voting.create = Create new compo
submenu.voting.myEntries = My entries
submenu.voting.submitEntry = Submit entry
subnavi.billing = Billing subnavi.billing = Billing
subnavi.cards = Cards subnavi.cards = Cards
......
...@@ -197,7 +197,6 @@ card.massprint.title = Tulosta kaikki ...@@ -197,7 +197,6 @@ card.massprint.title = Tulosta kaikki
cardCode.code = Koodi cardCode.code = Koodi
cardCode.type = Tyyppi cardCode.type = Tyyppi
cardObjectData.create = Liit\u00E4 kuvia cardObjectData.create = Liit\u00E4 kuvia
cardObjectData.edit = Muokkaa cardObjectData.edit = Muokkaa
cardObjectData.save = Tallenna cardObjectData.save = Tallenna
...@@ -286,11 +285,9 @@ compofile.uploadTime = Tallennusaika ...@@ -286,11 +285,9 @@ compofile.uploadTime = Tallennusaika
content.showContentEditLinks = N\u00E4yt\u00E4 sis\u00E4ll\u00F6nmuokkauslinkit content.showContentEditLinks = N\u00E4yt\u00E4 sis\u00E4ll\u00F6nmuokkauslinkit
delete = Poista
create = Luo create = Luo
delete = Poista
discount.active = Aktiivinen discount.active = Aktiivinen
discount.amountMax = Enimm\u00E4ism\u00E4\u00E4r\u00E4 discount.amountMax = Enimm\u00E4ism\u00E4\u00E4r\u00E4
...@@ -696,10 +693,8 @@ newsgroup.writerRole = Kirjoittajaryhm\u00E4 ...@@ -696,10 +693,8 @@ newsgroup.writerRole = Kirjoittajaryhm\u00E4
newslist.header = Uutisryhm\u00E4t newslist.header = Uutisryhm\u00E4t
off = Poissa off = Poissa
on = P\u00E4\u00E4ll\u00E4 on = P\u00E4\u00E4ll\u00E4
org.hibernate.validator.constraints.Email.message = V\u00E4\u00E4rin muotoiltu s\u00E4hk\u00F6postiosoite org.hibernate.validator.constraints.Email.message = V\u00E4\u00E4rin muotoiltu s\u00E4hk\u00F6postiosoite
...@@ -954,17 +949,23 @@ rfidevent.reader = Lukija ...@@ -954,17 +949,23 @@ rfidevent.reader = Lukija
rfidevent.searchuser = Hae k\u00E4ytt\u00E4j\u00E4\u00E4 rfidevent.searchuser = Hae k\u00E4ytt\u00E4j\u00E4\u00E4
rfidevent.tag = T\u00E4gi rfidevent.tag = T\u00E4gi
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.permissionheader = Roolin oikeudet role.permissionheader = Roolin oikeudet
role.savePermissions = Tallenna oikeudet role.savePermissions = Tallenna oikeudet
role.selectChildrensCount = K\u00E4yt\u00E4j\u00E4 voi valita lapsia
roleView.save = Tallenna muutokset role.selectChildrensCount.note = * Kuinka monta roolia k\u00E4ytt\u00E4j\u00E4 voi itse valita t\u00E4m\u00E4n roolin lapsirooleista, 0 disabloi ominaisuuden.
roleView.adduser = Lis\u00E4\u00E4 k\u00E4ytt\u00E4j\u00E4
roleView.hidePermissioneditor = Piilota oikeusasetukset
roleView.members = K\u00E4ytt\u00E4j\u00E4t
roleView.save = Tallenna muutokset
roleView.showPermissioneditor = N\u00E4yt\u00E4 oikeusasetukset
salespoint.edit = Muokkaa salespoint.edit = Muokkaa
salespoint.name = Nimi salespoint.name = Nimi
...@@ -1041,105 +1042,101 @@ sitepage.save = Tallenna ...@@ -1041,105 +1042,101 @@ sitepage.save = Tallenna
sitepagelist.header = Sivuston sis\u00E4ll\u00F6t sitepagelist.header = Sivuston sis\u00E4ll\u00F6t
submenu.NotImplementedYet = Toteuttamatta
submenu.NotImplementedYet = Toteuttamatta submenu.actionlog.messagelist = ActionLog
submenu.actionlog.messagelist = ActionLog submenu.actionlog.taskview = N\u00E4yt\u00E4 toiminnat
submenu.actionlog.taskview = N\u00E4yt\u00E4 toiminnat submenu.admin.adduser = K\u00E4ytt\u00E4j\u00E4nlis\u00E4ys
submenu.admin.adduser = K\u00E4ytt\u00E4j\u00E4nlis\u00E4ys submenu.admin.adduser.index = K\u00E4ytt\u00E4j\u00E4nlis\u00E4ys
submenu.admin.adduser.index = K\u00E4ytt\u00E4j\u00E4nlis\u00E4ys submenu.admin.adduser.login = Kirjaudu sis\u00E4\u00E4n
submenu.admin.adduser.login = Kirjaudu sis\u00E4\u00E4n submenu.admin.adduser.start = Tervetuloa
submenu.admin.adduser.start = Tervetuloa submenu.admin.adduser.update = P\u00E4ivit\u00E4 profiilikuva
submenu.admin.adduser.update = P\u00E4ivit\u00E4 profiilikuva submenu.admin.incoming.index = Sis\u00E4\u00E4ntulo
submenu.admin.incoming.index = Sis\u00E4\u00E4ntulo submenu.admin.incoming.printCard = Kortin tulostus
submenu.admin.incoming.printCard = Kortin tulostus submenu.admin.info.computerplaces = Konepaikat
submenu.admin.info.computerplaces = Konepaikat submenu.admin.info.general = Yleisi\u00E4 linkkej\u00E4
submenu.admin.info.general = Yleisi\u00E4 linkkej\u00E4 submenu.admin.info.index = Infosivu
submenu.admin.info.index = Infosivu submenu.auth.login = Kirjaudu
submenu.auth.login = Kirjaudu submenu.auth.loginError = Kirjautuminen ep\u00E4onnistui
submenu.auth.loginError = Kirjautuminen ep\u00E4onnistui submenu.auth.loginSucessRedirect = Sis\u00E4\u00E4nkirjautuminen onnistui
submenu.auth.loginSucessRedirect = Sis\u00E4\u00E4nkirjautuminen onnistui submenu.auth.logout = Kirjaudu ulos
submenu.auth.logout = Kirjaudu ulos submenu.auth.logoutResponse = Uloskirjautuminen onnistui
submenu.auth.logoutResponse = Uloskirjautuminen onnistui submenu.auth.sendResetMail = Salasanan palautus
submenu.auth.sendResetMail = Salasanan palautus submenu.bill.billSummary = Laskujen yhteenveto
submenu.bill.billSummary = Laskujen yhteenveto submenu.bill.list = N\u00E4yt\u00E4 omat laskut
submenu.bill.list = N\u00E4yt\u00E4 omat laskut submenu.bill.listAll = Kaikki laskut
submenu.bill.listAll = Kaikki laskut submenu.eventorg.editEvent = Tapahtuman tiedot
submenu.eventorg.editEvent = Tapahtuman tiedot submenu.eventorg.list = Organisaation hallinta
submenu.eventorg.list = Organisaation hallinta submenu.feedback.index = Vituttaako?
submenu.feedback.index = Vituttaako? submenu.foodadmin.createTemplate = Luo tilauspohja
submenu.foodadmin.createTemplate = Luo tilauspohja submenu.foodadmin.listTemplates = Muokkaa tilauspohjia
submenu.foodadmin.listTemplates = Muokkaa tilauspohjia submenu.foodmanager.listFoodwaves = Aktiiviset ruokatilaukset
submenu.foodmanager.listFoodwaves = Aktiiviset ruokatilaukset submenu.foodwave.list = Ruokatilaukset
submenu.foodwave.list = Ruokatilaukset submenu.frontpage = Etusivu
submenu.frontpage = Etusivu submenu.index = Etusivu
submenu.index = Etusivu submenu.info.incoming = Sis\u00E4\u00E4ntulo
submenu.info.incoming = Sis\u00E4\u00E4ntulo submenu.info.index = Infon\u00E4kym\u00E4
submenu.info.index = Infon\u00E4kym\u00E4 submenu.info.shop = Kauppa
submenu.info.shop = Kauppa
submenu.license.manageCodes = Hallinnoi lisenssej\u00E4
submenu.license.viewCodes = N\u00E4yt\u00E4 koodit
submenu.map.create = Uusi kartta
submenu.map.list = N\u00E4yt\u00E4 kartat
submenu.networkassociation.index = Assosiaatiot
submenu.orgrole.create = Luo j\u00E4rjest\u00E4j\u00E4rooli
submenu.orgrole.list = J\u00E4rjest\u00E4j\u00E4roolit
submenu.pages.create = Luo sis\u00E4lt\u00F6\u00E4
submenu.pages.list = N\u00E4yt\u00E4 sis\u00E4ll\u00F6t
submenu.place.adminGroups = Omat paikat
submenu.place.adminPlacemap = Konepaikat
submenu.place.editGroup = Muokkaa ryhm\u00E4\u00E4
submenu.place.insertToken = Sy\u00F6t\u00E4 paikkakoodi
submenu.place.myGroups = Omat paikkavaraukset
submenu.place.placemap = Paikkakartta
submenu.poll.index = Kyselyt
submenu.product.create = Uusi tuote
submenu.product.list = Listaa tuotteet
submenu.role.create = Luo rooli
submenu.role.list = N\u00E4yt\u00E4 roolit
submenu.shop.createBill = Osta tuotteita
submenu.shop.listReaders = N\u00E4yt\u00E4 lukijat
submenu.shop.shopToUser = Osta k\u00E4ytt\u00E4j\u00E4lle
submenu.shop.showReaderEvents = Lukijan tapahtumat
submenu.tournaments.admin.index = Katsele ja hallinnoi
submenu.tournaments.index = Listaa turnaukset
submenu.tournaments.myparticipations = Omat ilmoittautumiset
submenu.user.accountEvents = Tilitapahtumat
submenu.user.changePassword = Vaihda salasana
submenu.user.create = Luo k\u00E4ytt\u00E4j\u00E4
submenu.user.createCardTemplate = Luo korttiryhm\u00E4
submenu.user.edit = Omat tiedot
submenu.user.foodwave = Ruoka
submenu.user.gameids = Aseta Peli-IDt
submenu.user.invite = Kutsu yst\u00E4vi\u00E4
submenu.user.list = Kaikki k\u00E4ytt\u00E4j\u00E4t
submenu.user.listCardTemplates = Korttiryhm\u00E4t
submenu.user.manageuserlinks = Hallitse k\u00E4ytt\u00E4ji\u00E4
submenu.user.other = Muuta
submenu.user.rolelinks = Hallitse rooleja
submenu.user.sendPicture = L\u00E4het\u00E4 kuva
submenu.user.shop = Kauppaan
submenu.user.userlinks = Muokkaa tietoja
submenu.useradmin.accountEvents = Tunnuksen tapahtumat
submenu.useradmin.create = Luo uusi k\u00E4ytt\u00E4j\u00E4
submenu.useradmin.createCardTemplate = Luo uusi korttipohja
submenu.useradmin.edit = Muokkaa k\u00E4ytt\u00E4j\u00E4\u00E4
submenu.useradmin.foodwaveshop = Ruokatilauskauppa
submenu.useradmin.list = Etsi K\u00E4ytt\u00E4ji\u00E4
submenu.useradmin.listCardTemplates = Listaa korttipohjat
submenu.useradmin.sendPicture = L\u00E4het\u00E4 kuva
submenu.useradmin.showTakePicture = N\u00E4yt\u00E4 webcam
submenu.useradmin.validateUser = Validoi k\u00E4ytt\u00E4j\u00E4
submenu.utils.index = Yll\u00E4pitoty\u00F6kalut
submenu.voting.admincompolist = Kilpailut
submenu.voting.compolist = Kilpailut
submenu.voting.create = Uusi kilpailu
submenu.voting.myEntries = Omat entryt
submenu.voting.submitEntry = L\u00E4het\u00E4 entry
submenu.lectureadmin.manageLectureGroups = Hallinnoi submenu.lectureadmin.manageLectureGroups = Hallinnoi
submenu.lectures.viewLectures = Ilmoittaudu submenu.lectures.viewLectures = Ilmoittaudu
submenu.license.manageCodes = Hallinnoi lisenssej\u00E4
submenu.license.viewCodes = N\u00E4yt\u00E4 koodit
submenu.map.create = Uusi kartta
submenu.map.list = N\u00E4yt\u00E4 kartat
submenu.networkassociation.index = Assosiaatiot
submenu.orgrole.create = Luo j\u00E4rjest\u00E4j\u00E4rooli
submenu.orgrole.list = J\u00E4rjest\u00E4j\u00E4roolit
submenu.pages.create = Luo sis\u00E4lt\u00F6\u00E4
submenu.pages.list = N\u00E4yt\u00E4 sis\u00E4ll\u00F6t
submenu.place.adminGroups = Omat paikat
submenu.place.adminPlacemap = Konepaikat
submenu.place.editGroup = Muokkaa ryhm\u00E4\u00E4
submenu.place.insertToken = Sy\u00F6t\u00E4 paikkakoodi
submenu.place.myGroups = Omat paikkavaraukset
submenu.place.placemap = Paikkakartta
submenu.poll.index = Kyselyt
submenu.product.create = Uusi tuote
submenu.product.list = Listaa tuotteet
submenu.role.create = Luo rooli
submenu.role.list = N\u00E4yt\u00E4 roolit
submenu.shop.createBill = Osta tuotteita
submenu.shop.listReaders = N\u00E4yt\u00E4 lukijat
submenu.shop.shopToUser = Osta k\u00E4ytt\u00E4j\u00E4lle
submenu.shop.showReaderEvents = Lukijan tapahtumat
submenu.tournaments.admin.index = Katsele ja hallinnoi
submenu.tournaments.index = Listaa turnaukset
submenu.tournaments.myparticipations = Omat ilmoittautumiset
submenu.user.accountEvents = Tilitapahtumat
submenu.user.changePassword = Vaihda salasana
submenu.user.create = Luo k\u00E4ytt\u00E4j\u00E4
submenu.user.createCardTemplate = Luo korttiryhm\u00E4
submenu.user.edit = Omat tiedot
submenu.user.foodwave = Ruoka
submenu.user.gameids = Aseta Peli-IDt
submenu.user.invite = Kutsu yst\u00E4vi\u00E4
submenu.user.list = Kaikki k\u00E4ytt\u00E4j\u00E4t
submenu.user.listCardTemplates = Korttiryhm\u00E4t
submenu.user.manageuserlinks = Hallitse k\u00E4ytt\u00E4ji\u00E4
submenu.user.other = Muuta
submenu.user.rolelinks = Hallitse rooleja
submenu.user.sendPicture = L\u00E4het\u00E4 kuva
submenu.user.shop = Kauppaan
submenu.user.userlinks = Muokkaa tietoja
submenu.useradmin.accountEvents = Tunnuksen tapahtumat
submenu.useradmin.create = Luo uusi k\u00E4ytt\u00E4j\u00E4
submenu.useradmin.createCardTemplate = Luo uusi korttipohja
submenu.useradmin.edit = Muokkaa k\u00E4ytt\u00E4j\u00E4\u00E4
submenu.useradmin.foodwaveshop = Ruokatilauskauppa
submenu.useradmin.list = Etsi K\u00E4ytt\u00E4ji\u00E4
submenu.useradmin.listCardTemplates = Listaa korttipohjat
submenu.useradmin.sendPicture = L\u00E4het\u00E4 kuva
submenu.useradmin.showTakePicture = N\u00E4yt\u00E4 webcam
submenu.useradmin.validateUser = Validoi k\u00E4ytt\u00E4j\u00E4
submenu.utils.index = Yll\u00E4pitoty\u00F6kalut
submenu.voting.admincompolist = Kilpailut
submenu.voting.compolist = Kilpailut
submenu.voting.create = Uusi kilpailu
submenu.voting.myEntries = Omat entryt
submenu.voting.submitEntry = L\u00E4het\u00E4 entry
subnavi.billing = Laskutus subnavi.billing = Laskutus
subnavi.cards = Kortit subnavi.cards = Kortit
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!