Commit 9914e624 by Tuukka Kivilahti

Merge branch 'productBuylimit' into 'master'

Product buylimit role

Add role field to product, which can limit wether user can buy the product from shop. This allows for example Assembly Oldcshool place limit.

See merge request !265
2 parents 9e0fc9cc 689ee963
...@@ -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!