Commit 689ee963 by Tuomas Riihimäki

Add 'Role shopRequiredRole' to Product entity

1 parent 036e500e
...@@ -280,6 +280,10 @@ public class BootstrapBean implements BootstrapBeanLocal { ...@@ -280,6 +280,10 @@ public class BootstrapBean implements BootstrapBeanLocal {
"ALTER TABLE vips ADD shortdescr TEXT" "ALTER TABLE vips ADD shortdescr TEXT"
}); });
dbUpdates.add(new String[] {
"ALTER TABLE products ADD shop_required_role INTEGER",
"ALTER TABLE products ADD CONSTRAINT FK_products_shop_required_role FOREIGN KEY (shop_required_role) REFERENCES roles (id)",
});
} }
public BootstrapBean() { public BootstrapBean() {
......
...@@ -24,6 +24,7 @@ import java.util.ArrayList; ...@@ -24,6 +24,7 @@ import java.util.ArrayList;
import java.util.Calendar; import java.util.Calendar;
import java.util.HashMap; import java.util.HashMap;
import java.util.HashSet; import java.util.HashSet;
import java.util.Iterator;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.Map.Entry; import java.util.Map.Entry;
...@@ -156,7 +157,15 @@ public class ProductBean implements ProductBeanLocal { ...@@ -156,7 +157,15 @@ public class ProductBean implements ProductBeanLocal {
@Override @Override
@RolesAllowed(ShopPermission.S_LIST_USERPRODUCTS) @RolesAllowed(ShopPermission.S_LIST_USERPRODUCTS)
public List<Product> listUserShoppableProducts() { public List<Product> listUserShoppableProducts() {
return productFacade.findProductsByFlag(ProductFlag.USER_SHOPPABLE); List<Product> ret = productFacade.findProductsByFlag(ProductFlag.USER_SHOPPABLE);
Iterator<Product> i = ret.iterator();
while (i.hasNext()) {
Product p = i.next();
if (p.getShopRequiredRole() != null && !(userbean.isUserInRole(permbean.getCurrentUser(), p.getShopRequiredRole().getId()))) {
i.remove();
}
}
return ret;
} }
@Override @Override
...@@ -269,7 +278,7 @@ public class ProductBean implements ProductBeanLocal { ...@@ -269,7 +278,7 @@ public class ProductBean implements ProductBeanLocal {
if (s.getBill() == null || s.getBill().isPaid()) { if (s.getBill() == null || s.getBill().isPaid()) {
++unusedSlotcount; ++unusedSlotcount;
} else { } else {
// If bill is paid, calculate only 'unpaidSlotpercent'% of slots // If bill is paid, calculate only 'unpaidSlotpercent'% of slots
Integer billcnt = unpaidBills.get(s.getBill().getId()); Integer billcnt = unpaidBills.get(s.getBill().getId());
if (billcnt == null) { if (billcnt == null) {
......
...@@ -86,6 +86,10 @@ public class Product extends GenericEntity { ...@@ -86,6 +86,10 @@ public class Product extends GenericEntity {
@ManyToOne @ManyToOne
private Role provides; private Role provides;
@ManyToOne
@JoinColumn(name = "shop_required_role", nullable = true)
private Role shopRequiredRole;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "product") @OneToMany(cascade = CascadeType.ALL, mappedBy = "product")
private List<Place> places; private List<Place> places;
...@@ -367,4 +371,12 @@ public class Product extends GenericEntity { ...@@ -367,4 +371,12 @@ public class Product extends GenericEntity {
return getProductFlags().contains(ProductFlag.USERSHOP_AUTOPRODUCT); return getProductFlags().contains(ProductFlag.USERSHOP_AUTOPRODUCT);
} }
public Role getShopRequiredRole() {
return shopRequiredRole;
}
public void setShopRequiredRole(Role shopRequiredRole) {
this.shopRequiredRole = shopRequiredRole;
}
} }
...@@ -54,6 +54,11 @@ ...@@ -54,6 +54,11 @@
</h:selectOneMenu> </h:selectOneMenu>
<h:message for="provides" /> <h:message for="provides" />
<h:outputLabel for="shopRequired" value="#{i18n['product.shopRequired']}" />
<h:selectOneMenu id="shopRequired" layout="pageDirection" value="#{productView.product.shopRequiredRole}" converter="#{roleConverter}">
<f:selectItems var="role" itemLabel="#{role.name}" value="#{roleDataView.rolesWithEmpty}" noSelectionValue="#{roleDataView.noSelection}" />
</h:selectOneMenu>
<h:message for="shopRequired" />
<h:selectManyCheckbox layout="pageDirection" id="productFlags" value="#{productView.product.productFlags}" converter="#{productFlagConverter}" label="Product Flags"> <h:selectManyCheckbox layout="pageDirection" id="productFlags" value="#{productView.product.productFlags}" converter="#{productFlagConverter}" label="Product Flags">
<f:selectItems var="flag" itemLabel="#{i18n[flag.i18nkey]}" value="#{productView.productFlags}" /> <f:selectItems var="flag" itemLabel="#{i18n[flag.i18nkey]}" value="#{productView.productFlags}" />
......
...@@ -61,6 +61,7 @@ bortalApplication.SALESPOINT = Managing salespoint ...@@ -61,6 +61,7 @@ bortalApplication.SALESPOINT = Managing salespoint
bortalApplication.SHOP = Product % shop management bortalApplication.SHOP = Product % shop management
bortalApplication.TERMINAL = Sales and self help terminal roles bortalApplication.TERMINAL = Sales and self help terminal roles
bortalApplication.USER = User management related bortalApplication.USER = User management related
bortalApplication.VIP = VIP list
bortalApplication.bill.CREATE_BILL = Create bills for self bortalApplication.bill.CREATE_BILL = Create bills for self
bortalApplication.bill.CREATE_VERKKOMAKSU = Can create web payment to self bortalApplication.bill.CREATE_VERKKOMAKSU = Can create web payment to self
bortalApplication.bill.READ_ALL = "Read all bills" bortalApplication.bill.READ_ALL = "Read all bills"
...@@ -76,6 +77,7 @@ bortalApplication.content.MANAGE_NEWS = Manage newsgroups ...@@ -76,6 +77,7 @@ bortalApplication.content.MANAGE_NEWS = Manage newsgroups
bortalApplication.content.MANAGE_PAGES = Manage pages bortalApplication.content.MANAGE_PAGES = Manage pages
bortalApplication.event.MANAGE_PRIVATE_PROPERTIES = Can manage event private properties bortalApplication.event.MANAGE_PRIVATE_PROPERTIES = Can manage event private properties
bortalApplication.event.MANAGE_PROPERTIES = Can manage event properties bortalApplication.event.MANAGE_PROPERTIES = Can manage event properties
bortalApplication.event.VIEW_STATISTICS = View event statistics
bortalApplication.license.MANAGE = Can manage licenses bortalApplication.license.MANAGE = Can manage licenses
bortalApplication.license.VIEW_OWN_CODES = Can view own licenses bortalApplication.license.VIEW_OWN_CODES = Can view own licenses
bortalApplication.map.BUY_PLACES = Reserve and buy places from map bortalApplication.map.BUY_PLACES = Reserve and buy places from map
...@@ -119,14 +121,24 @@ bortalApplication.user.VIEW_SELF = Can view self ...@@ -119,14 +121,24 @@ bortalApplication.user.VIEW_SELF = Can view self
bortalApplication.user.VITUTTAAKO = Can send feedback bortalApplication.user.VITUTTAAKO = Can send feedback
bortalApplication.user.WRITE_ORGROLES = Modify organization roles bortalApplication.user.WRITE_ORGROLES = Modify organization roles
bortalApplication.user.WRITE_ROLES = Modify roles bortalApplication.user.WRITE_ROLES = Modify roles
bortalApplication.vip.EDIT = Edit VIP list
bortalApplication.vip.USAGE = Use VIP list
bortalApplication.vip.VIEW = View VIP list
card.massprint.title = Print all card.massprint.title = Print all
cardCode.code = Koodi cardCode.code = Koodi
cardCode.type = Tyyppi cardCode.type = Tyyppi
cardObjectData.delete = Delete
cardObjectData.deleteQ = Delete object data from card template?
cardTemplate.clone = Clone
cardTemplate.emptyCardTemplate = ---- cardTemplate.emptyCardTemplate = ----
cardTextData.delete = Delete
cardTextData.deleteQ = Delete text data from card template?
code.inputfield = Sy\u00F6t\u00E4 viivakoodi code.inputfield = Sy\u00F6t\u00E4 viivakoodi
confirmation.message = Oletko varma? confirmation.message = Oletko varma?
...@@ -177,6 +189,9 @@ eventdomain.domainname = Domain ...@@ -177,6 +189,9 @@ eventdomain.domainname = Domain
eventdomain.remove = Remove eventdomain.remove = Remove
eventmap.active = Active eventmap.active = Active
eventmap.height = Kartan korkeus (px)
eventmap.uploaderror = Virhe lis\u00E4tess\u00E4 karttapohjaa
eventmap.width = Kartan leveys (px)
eventorg.basicDetails = Perustiedot eventorg.basicDetails = Perustiedot
eventorg.create = Create eventorg.create = Create
...@@ -362,13 +377,15 @@ permissiondenied.notLoggedIn = You don't have enough rights to enter this si ...@@ -362,13 +377,15 @@ permissiondenied.notLoggedIn = You don't have enough rights to enter this si
place.cancelSend = Peruuta siirto place.cancelSend = Peruuta siirto
place.send = Siirr\u00E4 paikka place.send = Siirr\u00E4 paikka
placegroup.showEticket = N\u00E4yt\u00E4 lippu placegroup.noPlacegroups = Sinulla t\u00E4ytyy olla paikkoja ett\u00E4 voit n\u00E4hd\u00E4 lippusi
placegroup.showEticket = N\u00E4yt\u00E4 lippu
placegroupview.groupCreator = Tilaaja placegroupview.groupCreator = Tilaaja
placegroupview.owner = Omistaja placegroupview.owner = Omistaja
placegroupview.placetransferred = Paikka annettu eteenp\u00E4in placegroupview.placetransferred = Paikka annettu eteenp\u00E4in
placegroupview.toptext = \ placegroupview.toptext = \
placeslot.add = Lis\u00E4\u00E4 placeslot
placeslot.state.expired = Vanhentunut placeslot.state.expired = Vanhentunut
poll.edit = edit poll.edit = edit
...@@ -430,6 +447,8 @@ submenu.info.foodwave.foodwaveshop = Ruokakauppa ...@@ -430,6 +447,8 @@ submenu.info.foodwave.foodwaveshop = Ruokakauppa
submenu.info.incoming = Laaja sis\u00E4\u00E4ntulon\u00E4kym\u00E4 submenu.info.incoming = Laaja sis\u00E4\u00E4ntulon\u00E4kym\u00E4
submenu.info.index = Infon\u00E4kym\u00E4 submenu.info.index = Infon\u00E4kym\u00E4
submenu.info.shop = Kauppa submenu.info.shop = Kauppa
submenu.info.usermapsearch = Karttahaku
submenu.info.viplist = Vippilista
submenu.lectureadmin.lectureParticipants = Tarkastele osallistujia submenu.lectureadmin.lectureParticipants = Tarkastele osallistujia
submenu.lectureadmin.manageLectureGroups = Hallinnoi submenu.lectureadmin.manageLectureGroups = Hallinnoi
submenu.lectures.viewLectures = Ilmoittaudu submenu.lectures.viewLectures = Ilmoittaudu
...@@ -487,17 +506,18 @@ usercart.showoverview = Vie tarkastusn\u00E4kym\u00E4\u00E4n ...@@ -487,17 +506,18 @@ usercart.showoverview = Vie tarkastusn\u00E4kym\u00E4\u00E4n
viewlectures.title = Kurssit ja luennot viewlectures.title = Kurssit ja luennot
vip.create = Luo vip.backToList = Takaisin listaukseen
vip.createNew = Luo uusi vip.create = Luo
vip.deliver = Toimita vip.createNew = Luo uusi
vip.deliver = Toimita
vip.description = Kuvaus vip.description = Kuvaus
vip.edit = Muokkaa vip.edit = Muokkaa
vip.host = Is\u00E4nt\u00E4 vip.host = Is\u00E4nt\u00E4
vip.hostsName = Is\u00E4nt\u00E4 vip.hostsName = Is\u00E4nt\u00E4
vip.productDelivered = Toimitettu vip.productDelivered = Toimitettu
vip.productQuantity = Lkm vip.productQuantity = Lkm
vip.products = Tuote vip.products = Tuote
vip.save = Tallenna vip.save = Tallenna
vip.shortdescr = Lyhyt kuvaus vip.shortdescr = Lyhyt kuvaus
vipProduct.create = Lis\u00E4\u00E4 vipProduct.create = Lis\u00E4\u00E4
...@@ -508,21 +528,3 @@ vipProduct.name = Tuote ...@@ -508,21 +528,3 @@ vipProduct.name = Tuote
vipProduct.quantity = Lukum\u00E4\u00E4r\u00E4 vipProduct.quantity = Lukum\u00E4\u00E4r\u00E4
yes = Kyll\u00E4 yes = Kyll\u00E4
vip.backToList=Takaisin listaukseen
submenu.info.viplist=Vippilista
submenu.info.usermapsearch=Karttahaku
cardTemplate.clone=Clone
cardObjectData.deleteQ=Delete object data from card template?
cardTextData.deleteQ=Delete text data from card template?
cardObjectData.delete=Delete
cardTextData.delete=Delete
placegroup.noPlacegroups=Sinulla t\u00E4ytyy olla paikkoja ett\u00E4 voit n\u00E4hd\u00E4 lippusi
bortalApplication.VIP=VIP list
bortalApplication.vip.VIEW=View VIP list
bortalApplication.vip.USAGE=Use VIP list
bortalApplication.vip.EDIT=Edit VIP list
bortalApplication.event.VIEW_STATISTICS=View event statistics
eventmap.width=Kartan leveys (px)
eventmap.height=Kartan korkeus (px)
eventmap.uploaderror=Virhe lis\u00E4tess\u00E4 karttapohjaa
placeslot.add=Lis\u00E4\u00E4 placeslot
...@@ -144,6 +144,7 @@ bortalApplication.SHOP = Product and shop management ...@@ -144,6 +144,7 @@ bortalApplication.SHOP = Product and shop management
bortalApplication.TERMINAL = Sales and self help terminal roles bortalApplication.TERMINAL = Sales and self help terminal roles
bortalApplication.TOURNAMENT = Tournament permissions bortalApplication.TOURNAMENT = Tournament permissions
bortalApplication.USER = User management related bortalApplication.USER = User management related
bortalApplication.VIP = VIP list
bortalApplication.bill.CREATE_BILL = Create bills for self bortalApplication.bill.CREATE_BILL = Create bills for self
bortalApplication.bill.CREATE_VERKKOMAKSU = Can create web payment to self bortalApplication.bill.CREATE_VERKKOMAKSU = Can create web payment to self
bortalApplication.bill.READ_ALL = Read all bills bortalApplication.bill.READ_ALL = Read all bills
...@@ -160,6 +161,7 @@ bortalApplication.content.MANAGE_PAGES = Manage pages ...@@ -160,6 +161,7 @@ bortalApplication.content.MANAGE_PAGES = Manage pages
bortalApplication.event.MANAGE_EVENT = Can manage event bortalApplication.event.MANAGE_EVENT = Can manage event
bortalApplication.event.MANAGE_PRIVATE_PROPERTIES = Can manage event private properties bortalApplication.event.MANAGE_PRIVATE_PROPERTIES = Can manage event private properties
bortalApplication.event.MANAGE_PROPERTIES = Can manage event properties bortalApplication.event.MANAGE_PROPERTIES = Can manage event properties
bortalApplication.event.VIEW_STATISTICS = View event statistics
bortalApplication.lecture.MANAGE = Can manage lectures and courses bortalApplication.lecture.MANAGE = Can manage lectures and courses
bortalApplication.lecture.PARTICIPATE = Can participate to lectures and courses bortalApplication.lecture.PARTICIPATE = Can participate to lectures and courses
bortalApplication.lecture.VIEW = Can view lectures and courses bortalApplication.lecture.VIEW = Can view lectures and courses
...@@ -221,6 +223,9 @@ bortalApplication.user.VIEW_SELF = Can view self ...@@ -221,6 +223,9 @@ bortalApplication.user.VIEW_SELF = Can view self
bortalApplication.user.VITUTTAAKO = Can send feedback bortalApplication.user.VITUTTAAKO = Can send feedback
bortalApplication.user.WRITE_ORGROLES = Modify organization roles bortalApplication.user.WRITE_ORGROLES = Modify organization roles
bortalApplication.user.WRITE_ROLES = Modify roles bortalApplication.user.WRITE_ROLES = Modify roles
bortalApplication.vip.EDIT = Edit VIP list
bortalApplication.vip.USAGE = Use VIP list
bortalApplication.vip.VIEW = View VIP list
card.massprint.title = Print all card.massprint.title = Print all
...@@ -228,6 +233,8 @@ cardCode.code = Code ...@@ -228,6 +233,8 @@ cardCode.code = Code
cardCode.type = Type cardCode.type = Type
cardObjectData.create = Add object data cardObjectData.create = Add object data
cardObjectData.delete = Delete
cardObjectData.deleteQ = Delete object data from card template?
cardObjectData.edit = Edit cardObjectData.edit = Edit
cardObjectData.save = Save cardObjectData.save = Save
cardObjectData.size = Width (px) cardObjectData.size = Width (px)
...@@ -240,19 +247,22 @@ cardObjectData.x = X coordinate ...@@ -240,19 +247,22 @@ cardObjectData.x = X coordinate
cardObjectData.y = Y coordinate cardObjectData.y = Y coordinate
cardObjectData.zindex = Z index cardObjectData.zindex = Z index
cardTemplate.clone = Clone
cardTemplate.create = Create cardTemplate.create = Create
cardTemplate.edit = Edit cardTemplate.edit = Edit
cardTemplate.id = Id cardTemplate.id = Id
cardTemplate.imageheader = Current Template cardTemplate.imageheader = Current Template
cardTemplate.name = Card template cardTemplate.name = Card template
cardTemplate.power = Card power cardTemplate.power = Card power
cardTemplate.roles = Associated roles cardTemplate.roles = Associated roles
cardTemplate.save = Save cardTemplate.save = Save
cardTemplate.sendImage = Upload Image cardTemplate.sendImage = Upload Image
cardTemplateData.list = List datas cardTemplateData.list = List datas
cardTextData.create = Add text data cardTextData.create = Add text data
cardTextData.delete = Delete
cardTextData.deleteQ = Delete text data from card template?
cardTextData.edit = Edit cardTextData.edit = Edit
cardTextData.fontcolor = Font color cardTextData.fontcolor = Font color
cardTextData.fontname = Font name cardTextData.fontname = Font name
...@@ -391,9 +401,12 @@ eventmap.active = Active ...@@ -391,9 +401,12 @@ eventmap.active = Active
eventmap.buyable.like = Place name match eventmap.buyable.like = Place name match
eventmap.buyable.lock = Lock places eventmap.buyable.lock = Lock places
eventmap.buyable.release = Release places eventmap.buyable.release = Release places
eventmap.height = Map height (px)
eventmap.name = Map name eventmap.name = Map name
eventmap.notes = Notes eventmap.notes = Notes
eventmap.save = Save eventmap.save = Save
eventmap.uploaderror = Error when adding map
eventmap.width = Map width (px)
eventorg.bankName1 = Bank name 2 eventorg.bankName1 = Bank name 2
eventorg.bankName2 = Bank name 2 eventorg.bankName2 = Bank name 2
...@@ -942,6 +955,7 @@ placegroup.details = Details ...@@ -942,6 +955,7 @@ placegroup.details = Details
placegroup.edit = Show placegroup.edit = Show
placegroup.edited = Edited placegroup.edited = Edited
placegroup.name = Name placegroup.name = Name
placegroup.noPlacegroups = You must have placegroups that you can have places
placegroup.placename = Place placegroup.placename = Place
placegroup.places = Places placegroup.places = Places
placegroup.printPdf = Print tickets placegroup.printPdf = Print tickets
...@@ -961,8 +975,9 @@ placegroupview.reservationName = Place ...@@ -961,8 +975,9 @@ placegroupview.reservationName = Place
placegroupview.reservationProduct = Ticket placegroupview.reservationProduct = Ticket
placegroupview.token = Placecode / user placegroupview.token = Placecode / user
placeslot.add = Add placeslot
placeslot.bill = Bill placeslot.bill = Bill
placeslot.id = ID placeslot.id = ID
placeslot.lockSlot = Lock slot placeslot.lockSlot = Lock slot
placeslot.place = Place placeslot.place = Place
placeslot.product = Slot product placeslot.product = Slot product
...@@ -1023,6 +1038,7 @@ product.returnProductEdit = Return to product: ...@@ -1023,6 +1038,7 @@ product.returnProductEdit = Return to product:
product.save = Save product.save = Save
product.saved = Product saved product.saved = Product saved
product.shopInstant = Create automatic cashpayment product.shopInstant = Create automatic cashpayment
product.shopRequired = Role required to buy this product
product.sort = Sort nr product.sort = Sort nr
product.totalPrice = Total product.totalPrice = Total
product.unitName = Unit name product.unitName = Unit name
...@@ -1268,6 +1284,8 @@ submenu.info.foodwave.foodwaveshop = Foodshop ...@@ -1268,6 +1284,8 @@ submenu.info.foodwave.foodwaveshop = Foodshop
submenu.info.incoming = Extendet Incomingview submenu.info.incoming = Extendet Incomingview
submenu.info.index = Infoview submenu.info.index = Infoview
submenu.info.shop = Shop submenu.info.shop = Shop
submenu.info.usermapsearch = Mapsearch
submenu.info.viplist = Viplist
submenu.lectureadmin.lectureParticipants = Lecture participants submenu.lectureadmin.lectureParticipants = Lecture participants
submenu.lectureadmin.manageLectureGroups = Management submenu.lectureadmin.manageLectureGroups = Management
submenu.lectures.viewLectures = Participate submenu.lectures.viewLectures = Participate
...@@ -1662,17 +1680,18 @@ viewexpired.title = Login expired. Please login again. ...@@ -1662,17 +1680,18 @@ viewexpired.title = Login expired. Please login again.
viewlectures.title = Courses and lectures viewlectures.title = Courses and lectures
vip.create = Create vip.backToList = Back to viplist list
vip.createNew = Create new vip.create = Create
vip.deliver = Deliver vip.createNew = Create new
vip.deliver = Deliver
vip.description = Description vip.description = Description
vip.edit = Edit vip.edit = Edit
vip.host = Host vip.host = Host
vip.hostsName = Host vip.hostsName = Host
vip.productDelivered = Delivered vip.productDelivered = Delivered
vip.productQuantity = Qty vip.productQuantity = Qty
vip.products = Product vip.products = Product
vip.save = Save vip.save = Save
vip.shortdescr = Short description vip.shortdescr = Short description
vipProduct.create = Create vipProduct.create = Create
...@@ -1725,21 +1744,3 @@ voting.create.voteEnd = Voting close ...@@ -1725,21 +1744,3 @@ voting.create.voteEnd = Voting close
voting.create.voteStart = Voting start voting.create.voteStart = Voting start
yes = Yes yes = Yes
vip.backToList=Back to viplist list
submenu.info.viplist=Viplist
submenu.info.usermapsearch=Mapsearch
cardTemplate.clone=Clone
cardObjectData.deleteQ=Delete object data from card template?
cardTextData.deleteQ=Delete text data from card template?
cardObjectData.delete=Delete
cardTextData.delete=Delete
placegroup.noPlacegroups=You must have placegroups that you can have places
bortalApplication.VIP=VIP list
bortalApplication.vip.VIEW=View VIP list
bortalApplication.vip.USAGE=Use VIP list
bortalApplication.vip.EDIT=Edit VIP list
bortalApplication.event.VIEW_STATISTICS=View event statistics
eventmap.width=Map width (px)
eventmap.height=Map height (px)
eventmap.uploaderror=Error when adding map
placeslot.add=Add placeslot
...@@ -146,6 +146,7 @@ bortalApplication.SHOP = Kaupan oikeudet ...@@ -146,6 +146,7 @@ bortalApplication.SHOP = Kaupan oikeudet
bortalApplication.TERMINAL = K\u00E4ytt\u00F6p\u00E4\u00E4tteiden roolit bortalApplication.TERMINAL = K\u00E4ytt\u00F6p\u00E4\u00E4tteiden roolit
bortalApplication.TOURNAMENT = Turnauksien oikeudet bortalApplication.TOURNAMENT = Turnauksien oikeudet
bortalApplication.USER = K\u00E4ytt\u00E4j\u00E4oikeudet bortalApplication.USER = K\u00E4ytt\u00E4j\u00E4oikeudet
bortalApplication.VIP = VIP-lista
bortalApplication.bill.CREATE_BILL = Voi luoda laskuja itselle bortalApplication.bill.CREATE_BILL = Voi luoda laskuja itselle
bortalApplication.bill.CREATE_VERKKOMAKSU = Voi luoda verkkomaksun itselleen bortalApplication.bill.CREATE_VERKKOMAKSU = Voi luoda verkkomaksun itselleen
bortalApplication.bill.READ_ALL = Saa lukea kaikkia laskuja bortalApplication.bill.READ_ALL = Saa lukea kaikkia laskuja
...@@ -162,6 +163,7 @@ bortalApplication.content.MANAGE_PAGES = Saa hallinnoida sivuja ...@@ -162,6 +163,7 @@ bortalApplication.content.MANAGE_PAGES = Saa hallinnoida sivuja
bortalApplication.event.MANAGE_EVENT = Saa hallinnoida tapahtumaa bortalApplication.event.MANAGE_EVENT = Saa hallinnoida tapahtumaa
bortalApplication.event.MANAGE_PRIVATE_PROPERTIES = Saa hallita tapahtuman yksityisi\u00E4 asetuksia bortalApplication.event.MANAGE_PRIVATE_PROPERTIES = Saa hallita tapahtuman yksityisi\u00E4 asetuksia
bortalApplication.event.MANAGE_PROPERTIES = Saa hallita tapahtuman asetuksia bortalApplication.event.MANAGE_PROPERTIES = Saa hallita tapahtuman asetuksia
bortalApplication.event.VIEW_STATISTICS = N\u00E4yt\u00E4 tapahtuman tilastot
bortalApplication.lecture.MANAGE = Saa hallinnoida kursseja ja luentoja bortalApplication.lecture.MANAGE = Saa hallinnoida kursseja ja luentoja
bortalApplication.lecture.PARTICIPATE = Saa osallistua kursseille ja luennoille bortalApplication.lecture.PARTICIPATE = Saa osallistua kursseille ja luennoille
bortalApplication.lecture.VIEW = Saa n\u00E4hd\u00E4 kurssit ja luennot bortalApplication.lecture.VIEW = Saa n\u00E4hd\u00E4 kurssit ja luennot
...@@ -223,6 +225,9 @@ bortalApplication.user.VIEW_SELF = Voi katsella omaa tunnusta ...@@ -223,6 +225,9 @@ bortalApplication.user.VIEW_SELF = Voi katsella omaa tunnusta
bortalApplication.user.VITUTTAAKO = Saa avautua bortalApplication.user.VITUTTAAKO = Saa avautua
bortalApplication.user.WRITE_ORGROLES = Saa muokata organisaation rooleja bortalApplication.user.WRITE_ORGROLES = Saa muokata organisaation rooleja
bortalApplication.user.WRITE_ROLES = Saa muokata rooleja bortalApplication.user.WRITE_ROLES = Saa muokata rooleja
bortalApplication.vip.EDIT = Muokkaa VIP-listaa
bortalApplication.vip.USAGE = K\u00E4yt\u00E4 VIP-listaa
bortalApplication.vip.VIEW = N\u00E4yt\u00E4 VIP-lista
card.massprint.title = Tulosta kaikki card.massprint.title = Tulosta kaikki
...@@ -230,6 +235,8 @@ cardCode.code = Koodi ...@@ -230,6 +235,8 @@ cardCode.code = Koodi
cardCode.type = Tyyppi cardCode.type = Tyyppi
cardObjectData.create = Liit\u00E4 kuvia cardObjectData.create = Liit\u00E4 kuvia
cardObjectData.delete = Poista
cardObjectData.deleteQ = Poistetaanko objektidata korttipohjalta?
cardObjectData.edit = Muokkaa cardObjectData.edit = Muokkaa
cardObjectData.save = Tallenna cardObjectData.save = Tallenna
cardObjectData.size = Leveys (px) cardObjectData.size = Leveys (px)
...@@ -242,19 +249,22 @@ cardObjectData.x = X koordinaatti ...@@ -242,19 +249,22 @@ cardObjectData.x = X koordinaatti
cardObjectData.y = Y koordinaatti cardObjectData.y = Y koordinaatti
cardObjectData.zindex = Z index cardObjectData.zindex = Z index
cardTemplate.clone = Kopioi
cardTemplate.create = Luo cardTemplate.create = Luo
cardTemplate.edit = Muokkaa cardTemplate.edit = Muokkaa
cardTemplate.id = Id cardTemplate.id = Id
cardTemplate.imageheader = Nykyinen pohja cardTemplate.imageheader = Nykyinen pohja
cardTemplate.name = Korttipohja cardTemplate.name = Korttipohja
cardTemplate.power = Teho cardTemplate.power = Teho
cardTemplate.roles = Yhdistetyt roolit cardTemplate.roles = Yhdistetyt roolit
cardTemplate.save = Tallenna cardTemplate.save = Tallenna
cardTemplate.sendImage = Lataa kuva cardTemplate.sendImage = Lataa kuva
cardTemplateData.list = Ohjeissis\u00E4ll\u00F6n listaus cardTemplateData.list = Ohjeissis\u00E4ll\u00F6n listaus
cardTextData.create = Liit\u00E4 teksti\u00E4 cardTextData.create = Liit\u00E4 teksti\u00E4
cardTextData.delete = Poista
cardTextData.deleteQ = Poistetaanko tekstidata korttipohjalta?
cardTextData.edit = Muokkaa cardTextData.edit = Muokkaa
cardTextData.fontcolor = Fontin v\u00E4ri cardTextData.fontcolor = Fontin v\u00E4ri
cardTextData.fontname = Fontin nimi cardTextData.fontname = Fontin nimi
...@@ -393,9 +403,12 @@ eventmap.active = Aktiivinen\u0009 ...@@ -393,9 +403,12 @@ eventmap.active = Aktiivinen\u0009
eventmap.buyable.like = Paikat eventmap.buyable.like = Paikat
eventmap.buyable.lock = Lukitse paikat eventmap.buyable.lock = Lukitse paikat
eventmap.buyable.release = Vapauta paikat eventmap.buyable.release = Vapauta paikat
eventmap.height = Kartan korkeus (px)
eventmap.name = Kartan nimi eventmap.name = Kartan nimi
eventmap.notes = Lis\u00E4tiedot eventmap.notes = Lis\u00E4tiedot
eventmap.save = Tallenna eventmap.save = Tallenna
eventmap.uploaderror = Virhe lis\u00E4tt\u00E4ess\u00E4 karttapohjaa
eventmap.width = Kartan leveys (px)
eventorg.bankName1 = Pankin nimi 1 eventorg.bankName1 = Pankin nimi 1
eventorg.bankName2 = Pankin nimi 2 eventorg.bankName2 = Pankin nimi 2
...@@ -662,6 +675,7 @@ lecture.participating = Osallistumassa ...@@ -662,6 +675,7 @@ lecture.participating = Osallistumassa
lecture.roles = Roolit lecture.roles = Roolit
lecture.saveLecture = Muokkaa lecture.saveLecture = Muokkaa
lecture.selectgroup = Valitse aihealue lecture.selectgroup = Valitse aihealue
lecture.showParticipants = N\u00E4yt\u00E4 osallistujat
lecture.startTime = Aloitusaika lecture.startTime = Aloitusaika
lecture.unparticipate = Poista ilmoittautuminen lecture.unparticipate = Poista ilmoittautuminen
lecture.unparticipate.confirm.message = Oletko varma ett\u00E4 haluat poistaa k\u00E4ytt\u00E4j\u00E4n kurssilta? lecture.unparticipate.confirm.message = Oletko varma ett\u00E4 haluat poistaa k\u00E4ytt\u00E4j\u00E4n kurssilta?
...@@ -926,6 +940,7 @@ placegroup.details = Tiedot ...@@ -926,6 +940,7 @@ 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.noPlacegroups = Sinulla t\u00E4ytyy olla paikkoja ett\u00E4 voit n\u00E4hd\u00E4 lippusi
placegroup.placename = Paikka placegroup.placename = Paikka
placegroup.places = Paikat placegroup.places = Paikat
placegroup.printPdf = Tulosta lipputositteet placegroup.printPdf = Tulosta lipputositteet
...@@ -945,8 +960,9 @@ placegroupview.reservationName = Paikka ...@@ -945,8 +960,9 @@ placegroupview.reservationName = Paikka
placegroupview.reservationProduct = Lippu placegroupview.reservationProduct = Lippu
placegroupview.token = Paikkakoodi / k\u00E4ytt\u00E4j\u00E4 placegroupview.token = Paikkakoodi / k\u00E4ytt\u00E4j\u00E4
placeslot.add = Lis\u00E4\u00E4 placeslot
placeslot.bill = Lasku placeslot.bill = Lasku
placeslot.id = ID placeslot.id = ID
placeslot.lockSlot = Lukitse placeslot.lockSlot = Lukitse
placeslot.place = Paikka placeslot.place = Paikka
placeslot.product = Tuote placeslot.product = Tuote
...@@ -1007,6 +1023,7 @@ product.returnProductEdit = Palaa tuotteeseen: ...@@ -1007,6 +1023,7 @@ product.returnProductEdit = Palaa tuotteeseen:
product.save = Tallenna product.save = Tallenna
product.saved = Tuote tallennettu product.saved = Tuote tallennettu
product.shopInstant = Luo k\u00E4teismaksu tuotteille product.shopInstant = Luo k\u00E4teismaksu tuotteille
product.shopRequired = Tuotteen ostamiseen vaadittu rooli
product.sort = J\u00E4rjestys luku product.sort = J\u00E4rjestys luku
product.totalPrice = Summa product.totalPrice = Summa
product.unitName = Tuoteyksikk\u00F6 product.unitName = Tuoteyksikk\u00F6
...@@ -1249,6 +1266,8 @@ submenu.info.foodwave.foodwaveshop = Ruokakauppa ...@@ -1249,6 +1266,8 @@ submenu.info.foodwave.foodwaveshop = Ruokakauppa
submenu.info.incoming = Laaja Sis\u00E4\u00E4ntulon\u00E4kym\u00E4 submenu.info.incoming = Laaja Sis\u00E4\u00E4ntulon\u00E4kym\u00E4
submenu.info.index = Infon\u00E4kym\u00E4 submenu.info.index = Infon\u00E4kym\u00E4
submenu.info.shop = Kauppa submenu.info.shop = Kauppa
submenu.info.usermapsearch = Karttahaku
submenu.info.viplist = Vippilista
submenu.lectureadmin.lectureParticipants = Kurssiosallistujat submenu.lectureadmin.lectureParticipants = Kurssiosallistujat
submenu.lectureadmin.manageLectureGroups = Hallinnoi submenu.lectureadmin.manageLectureGroups = Hallinnoi
submenu.lectures.viewLectures = Ilmoittaudu submenu.lectures.viewLectures = Ilmoittaudu
...@@ -1645,17 +1664,18 @@ viewexpired.title = N\u00E4kym\u00E4 on vanhentunut ...@@ -1645,17 +1664,18 @@ viewexpired.title = N\u00E4kym\u00E4 on vanhentunut
viewlectures.title = Kurssit ja luennot viewlectures.title = Kurssit ja luennot
vip.create = Luo vip.backToList = Takaisin listaukseen
vip.createNew = Luo uusi vip.create = Luo
vip.deliver = Toimita vip.createNew = Luo uusi
vip.deliver = Toimita
vip.description = Kuvaus vip.description = Kuvaus
vip.edit = Muokkaa vip.edit = Muokkaa
vip.host = Is\u00E4nt\u00E4 vip.host = Is\u00E4nt\u00E4
vip.hostsName = Is\u00E4nt\u00E4 vip.hostsName = Is\u00E4nt\u00E4
vip.productDelivered = Toimitettu vip.productDelivered = Toimitettu
vip.productQuantity = Lkm vip.productQuantity = Lkm
vip.products = Tuote vip.products = Tuote
vip.save = Tallenna vip.save = Tallenna
vip.shortdescr = Lyhyt kuvaus vip.shortdescr = Lyhyt kuvaus
vipProduct.create = Lis\u00E4\u00E4 vipProduct.create = Lis\u00E4\u00E4
...@@ -1708,22 +1728,3 @@ voting.create.voteEnd = \u00C4\u00E4nestys kiinni ...@@ -1708,22 +1728,3 @@ voting.create.voteEnd = \u00C4\u00E4nestys kiinni
voting.create.voteStart = \u00C4\u00E4nestys auki voting.create.voteStart = \u00C4\u00E4nestys auki
yes = Kyll\u00E4 yes = Kyll\u00E4
vip.backToList=Takaisin listaukseen
submenu.info.viplist=Vippilista
submenu.info.usermapsearch=Karttahaku
cardTemplate.clone=Kopioi
cardObjectData.deleteQ=Poistetaanko objektidata korttipohjalta?
cardTextData.deleteQ=Poistetaanko tekstidata korttipohjalta?
cardObjectData.delete=Poista
cardTextData.delete=Poista
placegroup.noPlacegroups=Sinulla t\u00E4ytyy olla paikkoja ett\u00E4 voit n\u00E4hd\u00E4 lippusi
bortalApplication.VIP=VIP-lista
bortalApplication.vip.VIEW=N\u00E4yt\u00E4 VIP-lista
bortalApplication.vip.USAGE=K\u00E4yt\u00E4 VIP-listaa
bortalApplication.vip.EDIT=Muokkaa VIP-listaa
bortalApplication.event.VIEW_STATISTICS=N\u00E4yt\u00E4 tapahtuman tilastot
lecture.showParticipants=N\u00E4yt\u00E4 osallistujat
eventmap.width=Kartan leveys (px)
eventmap.height=Kartan korkeus (px)
eventmap.uploaderror=Virhe lis\u00E4tt\u00E4ess\u00E4 karttapohjaa
placeslot.add=Lis\u00E4\u00E4 placeslot
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!