Commit e4140e2a by Tuomas Riihimäki

Merge branch 'ui_fixes' into 'master'

Ui fixes

Muista vetää maven update ennen tän iskemistä tuotantoon, niin saadaan ehjät 2d viivakoodit

See merge request !156
2 parents b8430ab6 bb006657
...@@ -256,6 +256,10 @@ public class BootstrapBean implements BootstrapBeanLocal { ...@@ -256,6 +256,10 @@ public class BootstrapBean implements BootstrapBeanLocal {
"ALTER TABLE place_slots ADD CONSTRAINT FK_place_slots_PRODUCT_id FOREIGN KEY (PRODUCT_id) REFERENCES products (id)" "ALTER TABLE place_slots ADD CONSTRAINT FK_place_slots_PRODUCT_id FOREIGN KEY (PRODUCT_id) REFERENCES products (id)"
}); });
dbUpdates.add(new String[] {
"ALTER TABLE maps ADD COLUMN mime_type TEXT default 'image/png'",
});
} // start_time timestamp without time zone, } // start_time timestamp without time zone,
@EJB @EJB
......
...@@ -136,9 +136,11 @@ public class MenuBean implements MenuBeanLocal { ...@@ -136,9 +136,11 @@ public class MenuBean implements MenuBeanLocal {
MenuNavigation userkauppa = usermenu.addPage(null, null); MenuNavigation userkauppa = usermenu.addPage(null, null);
userkauppa.setKey("topnavi.usershop"); userkauppa.setKey("topnavi.usershop");
userkauppa.addPage(menuitemfacade.findOrCreate("/shop/createBill"), BillPermission.CREATE_BILL); userkauppa.addPage(menuitemfacade.findOrCreate("/shop/createBill"), BillPermission.CREATE_BILL);
userkauppa.addPage(menuitemfacade.findOrCreate("/neomap/view"), MapPermission.BUY_PLACES);
userkauppa.addPage(menuitemfacade.findOrCreate("/foodwave/list"), ShopPermission.SHOP_FOODWAVE); userkauppa.addPage(menuitemfacade.findOrCreate("/foodwave/list"), ShopPermission.SHOP_FOODWAVE);
userkauppa.addPage(menuitemfacade.findOrCreate("/foodwave/listProducts"), ShopPermission.SHOP_FOODWAVE).setVisible(false); userkauppa.addPage(menuitemfacade.findOrCreate("/foodwave/listProducts"), ShopPermission.SHOP_FOODWAVE).setVisible(false);
userkauppa.addPage(menuitemfacade.findOrCreate("/foodwave/ThanksForOrderingFromCounter"), ShopPermission.SHOP_FOODWAVE).setVisible(false); userkauppa.addPage(menuitemfacade.findOrCreate("/foodwave/ThanksForOrderingFromCounter"), ShopPermission.SHOP_FOODWAVE).setVisible(false);
userkauppa.addPage(menuitemfacade.findOrCreate("/svm/success"), UserPermission.ANYUSER).setVisible(false); // landingpages are always "anyuser"
userkauppa.addPage(menuitemfacade.findOrCreate("/bill/list"), BillPermission.VIEW_OWN); userkauppa.addPage(menuitemfacade.findOrCreate("/bill/list"), BillPermission.VIEW_OWN);
userkauppa.addPage(menuitemfacade.findOrCreate("/bill/edit"), BillPermission.VIEW_OWN).setVisible(false); userkauppa.addPage(menuitemfacade.findOrCreate("/bill/edit"), BillPermission.VIEW_OWN).setVisible(false);
...@@ -147,8 +149,9 @@ public class MenuBean implements MenuBeanLocal { ...@@ -147,8 +149,9 @@ public class MenuBean implements MenuBeanLocal {
MenuNavigation userPlaces = usermenu.addPage(null, null); MenuNavigation userPlaces = usermenu.addPage(null, null);
userPlaces.setKey("topnavi.userplaces"); userPlaces.setKey("topnavi.userplaces");
userPlaces.addPage(menuitemfacade.findOrCreate("/neomap/view"), MapPermission.VIEW);
userPlaces.addPage(menuitemfacade.findOrCreate("/place/myGroups"), MapPermission.BUY_PLACES); userPlaces.addPage(menuitemfacade.findOrCreate("/place/myGroups"), MapPermission.BUY_PLACES);
userPlaces.addPage(menuitemfacade.findOrCreate("/place/viewplacemap"), MapPermission.VIEW);
userPlaces.addPage(menuitemfacade.findOrCreate("/place/myEtickets"), MapPermission.BUY_PLACES).setVisible(false); userPlaces.addPage(menuitemfacade.findOrCreate("/place/myEtickets"), MapPermission.BUY_PLACES).setVisible(false);
userPlaces.addPage(menuitemfacade.findOrCreate("/place/edit"), MapPermission.MANAGE_OTHERS).setVisible(false); userPlaces.addPage(menuitemfacade.findOrCreate("/place/edit"), MapPermission.MANAGE_OTHERS).setVisible(false);
...@@ -167,6 +170,7 @@ public class MenuBean implements MenuBeanLocal { ...@@ -167,6 +170,7 @@ public class MenuBean implements MenuBeanLocal {
userprofile.addPage(menuitemfacade.findOrCreate("/user/changePassword"), UserPermission.VIEW_SELF); userprofile.addPage(menuitemfacade.findOrCreate("/user/changePassword"), UserPermission.VIEW_SELF);
userprofile.addPage(menuitemfacade.findOrCreate("/user/gameids"), UserPermission.MODIFY_OWN_GAMEIDS); userprofile.addPage(menuitemfacade.findOrCreate("/user/gameids"), UserPermission.MODIFY_OWN_GAMEIDS);
userprofile.addPage(menuitemfacade.findOrCreate("/auth/logout"), UserPermission.LOGOUT); userprofile.addPage(menuitemfacade.findOrCreate("/auth/logout"), UserPermission.LOGOUT);
userprofile.addPage(menuitemfacade.findOrCreate("/user/created"), UserPermission.ANYUSER).setVisible(false); // landingpages are always "anyuser"
MenuNavigation tournaments = usermenu.addPage(null, null); MenuNavigation tournaments = usermenu.addPage(null, null);
tournaments.setKey("tournaments.menutitle"); tournaments.setKey("tournaments.menutitle");
......
...@@ -52,6 +52,9 @@ public class EventMap extends GenericEntity { ...@@ -52,6 +52,9 @@ public class EventMap extends GenericEntity {
this.event = event; this.event = event;
} }
@Column(name = "mime_type")
private String mimeType;
@Lob @Lob
@Column(name = "map_data") @Column(name = "map_data")
private byte[] mapData; private byte[] mapData;
...@@ -160,4 +163,11 @@ public class EventMap extends GenericEntity { ...@@ -160,4 +163,11 @@ public class EventMap extends GenericEntity {
this.height = height; this.height = height;
} }
public String getMimeType() {
return mimeType;
}
public void setMimeType(String mimeType) {
this.mimeType = mimeType;
}
} }
...@@ -25,11 +25,10 @@ ...@@ -25,11 +25,10 @@
<ui:fragment rendered="#{billEditView.bill.paid}"> <ui:fragment rendered="#{billEditView.bill.paid}">
<h:outputText value="#{i18n['bill.billIsPaid']}" /> <h:outputText value="#{i18n['bill.billIsPaid']}" />
<br /> <br /><br />
<h:outputText value="#{i18n['bill.billPaidDate']}" />: <h:outputText value="#{i18n['bill.billPaidDate']}" />:
<h:outputText value="#{billEditView.bill.paidDate}"> <h:outputText value="#{billEditView.bill.paidDate}">
<f:convertDateTime pattern="#{sessionHandler.datetimeFormat}" <f:convertDateTime pattern="#{sessionHandler.datetimeFormat}" timeZone="#{sessionHandler.timezone}" />
timeZone="#{sessionHandler.timezone}" />
</h:outputText> </h:outputText>
</ui:fragment> </ui:fragment>
<br /> <br />
......
...@@ -57,7 +57,8 @@ ...@@ -57,7 +57,8 @@
<h:outputText value="#{i18n['etickets.user']}"/> <h:outputText value="#{i18n['etickets.user']}"/>
</f:facet> </f:facet>
<h:outputText value="#{member.user.wholeName} (#{member.user.nick})"/> <h:outputText rendered="#{!empty member.user}" value="#{member.user.wholeName} (#{member.user.nick})"/>
<h:outputText rendered="#{empty member.user}" value="#{member.placeGroup.creator.firstnames} #{member.placeGroup.creator.lastname} (#{member.placeGroup.creator.nick})" />
</p:column> </p:column>
</p:dataTable> </p:dataTable>
</p:fieldset> </p:fieldset>
......
...@@ -32,7 +32,15 @@ ...@@ -32,7 +32,15 @@
</f:facet> </f:facet>
<h:outputText value="#{member.placeReservation.product.name}" /> <h:outputText value="#{member.placeReservation.product.name}" />
</p:column> </p:column>
<p:column> <p:column rendered="#{placeGroupView.printOnlyOwn}">
<f:facet name="header">
<h:outputText value="#{i18n['placegroupview.owner']}" />
</f:facet>
<h:outputText rendered="#{empty member.user}" value="#{member.placeGroup.creator.firstnames} #{member.placeGroup.creator.lastname} (#{member.placeGroup.creator.nick})" />
<h:outputText rendered="#{(!empty member.user) and placeGroupView.canModifyCurrent}" value="#{member.user.firstnames} #{member.user.lastname} (#{member.user.nick})" />
<h:outputText rendered="#{(!empty member.user) and !placeGroupView.canModifyCurrent}" value="#{i18n['placegroupview.placetransferred']}" />
</p:column>
<p:column rendered="#{!placeGroupView.printOnlyOwn}">
<f:facet name="header"> <f:facet name="header">
<h:outputText value="#{i18n['placegroupview.token']}" /> <h:outputText value="#{i18n['placegroupview.token']}" />
</f:facet> </f:facet>
...@@ -52,11 +60,11 @@ ...@@ -52,11 +60,11 @@
<h:commandButton rendered="#{placeGroupView.currentReleaseAllowed}" action="#{placeGroupView.releasePlace()}" value="#{i18n['placegroupview.releasePlace']}" /> <h:commandButton rendered="#{placeGroupView.currentReleaseAllowed}" action="#{placeGroupView.releasePlace()}" value="#{i18n['placegroupview.releasePlace']}" />
<p:inputText id="inviteEmail" immediate="true" rendered="#{placeGroupView.canSendInviteCurrent}" value="#{placeGroupView.inviteMail}" /> <p:inputText id="inviteEmail" immediate="true" rendered="#{placeGroupView.canSendInviteCurrent}" value="#{placeGroupView.inviteMail}" />
<p:commandButton rendered="#{placeGroupView.canSendInviteCurrent}" value="#{i18n['user.invite']}" actionListener="#{placeGroupView.sendInvite}" update=":messages placestable" /> <p:commandButton rendered="#{placeGroupView.canSendInviteCurrent}" value="#{i18n['place.send']}" actionListener="#{placeGroupView.sendInvite}" update=":messages placestable" />
<p:watermark for="inviteEmail" rendered="#{placeGroupView.canSendInviteCurrent}" value="#{i18n['user.email']}" id="inviteEmailWatermark" /> <p:watermark for="inviteEmail" rendered="#{placeGroupView.canSendInviteCurrent}" value="#{i18n['user.email']}" id="inviteEmailWatermark" />
<h:outputText rendered="#{placeGroupView.showCancelInviteCurrent}" value="#{member.inviteEmail}" />&nbsp;&nbsp; <h:outputText rendered="#{placeGroupView.showCancelInviteCurrent}" value="#{member.inviteEmail}" />&nbsp;&nbsp;
<p:commandButton rendered="#{placeGroupView.showCancelInviteCurrent}" value="#{i18n['user.cancelInvite']}" actionListener="#{placeGroupView.cancelInvite}" update=":messages placestable" /> <p:commandButton rendered="#{placeGroupView.showCancelInviteCurrent}" value="#{i18n['place.cancelSend']}" actionListener="#{placeGroupView.cancelInvite}" update=":messages placestable" />
</p:column> </p:column>
...@@ -78,7 +86,7 @@ ...@@ -78,7 +86,7 @@
</p:outputPanel> </p:outputPanel>
<h2>#{i18n['placetoken.pageHeader']}</h2> <h2>#{i18n['placetoken.pageHeader']}</h2>
<p>#{i18n['placetoken.topText']}</p> <p>#{i18n['placetoken.topText']}</p>
<h:form id="placeTokenForm"> <h:form id="placeTokenForm" rendered="#{!placeGroupView.printOnlyOwn}">
<h:outputLabel value="#{i18n['placetoken.token']}:" /> <h:outputLabel value="#{i18n['placetoken.token']}:" />
<h:inputText value="#{tokenView.token}" /> <h:inputText value="#{tokenView.token}" />
......
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:f="http://java.sun.com/jsf/core" xmlns:h="http://java.sun.com/jsf/html"
xmlns:map="http://java.sun.com/jsf/composite/cditools/map" xmlns:tools="http://java.sun.com/jsf/composite/cditools"
xmlns:c="http://java.sun.com/jsp/jstl/core"
>
<h:body>
<ui:composition template="#{sessionHandler.template}">
<f:metadata>
<f:event type="preRenderView" listener="#{mapView.initViewMap()}" />
<f:viewParam name="userid" value="#{userView.userid}" />
</f:metadata>
<ui:param name="thispage" value="page.place.placemap" />
<ui:define name="content">
<map:viewMap />
</ui:define>
</ui:composition>
</h:body>
</html>
\ No newline at end of file
...@@ -18,8 +18,11 @@ ...@@ -18,8 +18,11 @@
<h:form rendered="#{billListView.bills.rowCount gt 0}"> <h:form rendered="#{billListView.bills.rowCount gt 0}">
<p:dataTable styleClass="bordertable" id="billList" value="#{billListView.bills}" var="bill" rowStyleClass="#{bill.expired ? 'expired' : (bill.paidDate != null ? 'paid' : null)}"> <p:dataTable styleClass="bordertable" id="billList" value="#{billListView.bills}" var="bill" rowStyleClass="#{bill.expired ? 'expired' : (bill.paidDate != null ? 'paid' : null)}" expandedRow="true">
<p:column style="width:16px" rendered="#{billListView.bills.rowCount lt 20}">
<p:rowToggler />
</p:column>
<p:column rendered="#{billListView.canWriteBill}"> <p:column rendered="#{billListView.canWriteBill}">
<f:facet name="header"> <f:facet name="header">
<h:outputText value="#{i18n['bill.payer']}" /> <h:outputText value="#{i18n['bill.payer']}" />
...@@ -61,7 +64,7 @@ ...@@ -61,7 +64,7 @@
<h:outputText value="${i18n['bill.vat']}" /> <h:outputText value="${i18n['bill.vat']}" />
</f:facet> </f:facet>
<h:outputText value="#{bill.totalVat()}"> <h:outputText value="#{bill.totalVat()}">
<f:convertNumber currencyCode="EUR" maxFractionDigits="2" minFractionDigits="2" type="currency" /> <f:convertNumber currencyCode="EUR" maxFractionDigits="2" minFractionDigits="2" type="currency" locale="#{sessionHandler.locale}" />
</h:outputText> </h:outputText>
</p:column> </p:column>
<p:column> <p:column>
...@@ -69,7 +72,7 @@ ...@@ -69,7 +72,7 @@
<h:outputText value="${i18n['bill.totalPrice']}" /> <h:outputText value="${i18n['bill.totalPrice']}" />
</f:facet> </f:facet>
<h:outputText value="#{bill.totalPrice()}"> <h:outputText value="#{bill.totalPrice()}">
<f:convertNumber currencyCode="EUR" maxFractionDigits="2" minFractionDigits="2" type="currency" /> <f:convertNumber currencyCode="EUR" maxFractionDigits="2" minFractionDigits="2" type="currency" locale="#{sessionHandler.locale}" />
</h:outputText> </h:outputText>
</p:column> </p:column>
<p:column rendered="#{(!bill.expired and sessionHandler.isEventBoolProperty('ALLOW_BILLING')) or billListView.canWriteBill}"> <p:column rendered="#{(!bill.expired and sessionHandler.isEventBoolProperty('ALLOW_BILLING')) or billListView.canWriteBill}">
...@@ -88,13 +91,23 @@ ...@@ -88,13 +91,23 @@
</h:link> </h:link>
</p:column> </p:column>
<p:column rendered="#{billListView.canWriteBill}"> <p:column rendered="#{billListView.canWriteBill}">
<p:commandButton onerror="location.reload(true)" rendered="#{bill.paidDate == null and billListView.showPayButtons}" action="#{billListView.markPaid()}" value="#{i18n['bill.markPaid']}" /> <p:commandButton update="billList" onerror="location.reload(true)" rendered="#{bill.paidDate == null and billListView.showPayButtons}" action="#{billListView.markPaid()}" value="#{i18n['bill.markPaid']}" />
<h:outputText rendered="#{bill.paidDate != null}" value="#{i18n['bill.isPaid']}" /> <h:outputText rendered="#{bill.paidDate != null}" value="#{i18n['bill.isPaid']}" />
<h:outputText rendered="#{bill.paidDate == null and !billListView.showPayButtons}" value="#{i18n['bill.isNotPaid']}" />
</p:column> </p:column>
<p:column rendered="#{!billListView.canWriteBill}"> <p:column rendered="#{!billListView.canWriteBill}">
<h:outputText rendered="#{bill.paidDate != null}" value="#{i18n['bill.isPaid']}" /> <h:outputText rendered="#{bill.paidDate != null}" value="#{i18n['bill.isPaid']}" />
<h:outputText rendered="#{bill.paidDate == null}" value="#{i18n['bill.isNotPaid']}" />
</p:column> </p:column>
<p:rowExpansion rendered="#{billListView.bills.rowCount lt 20}">
<p:dataList value="#{bill.billLines}" var="line">
<h:outputText value="#{line.name}" />:
<h:outputText value="#{line.quantity}">
<f:convertNumber minFractionDigits="0" maxFractionDigits="0" />
</h:outputText>
</p:dataList >
</p:rowExpansion>
</p:dataTable> </p:dataTable>
</h:form> </h:form>
......
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"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" 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:role="http://java.sun.com/jsf/composite/tools/role"
xmlns:p="http://primefaces.org/ui"
>
<composite:interface>
</composite:interface>
<composite:implementation>
<h:form id="placeselectform">
<div>
<p:graphicImage url="/PlaceMap?mapid=#{mapView.activeMap.id}"/>
</div>
<h:panelGrid columns="3" cellpadding="10">
<h:panelGrid columns="2">
<div style="border-color: black; border-style: solid; border-width: 1px; background-color: grey; width: 10px; height: 10px;" >&nbsp;</div>
<h:outputText value="#{i18n['placeSelect.legend.grey']}" />
<div style="border-color: black; border-style: solid; border-width: 1px; background-color: white; width: 10px; height: 10px;">&nbsp;</div>
<h:outputText value="#{i18n['placeSelect.legend.white']}" />
<div style="border-color: black; border-style: solid; border-width: 1px; background-color: red; width: 10px; height: 10px;">&nbsp;</div>
<h:outputText value="#{i18n['placeSelect.legend.red']}" />
<div style="border-color: black; border-style: solid; border-width: 1px; background-color: green; width: 10px; height: 10px;" >&nbsp;</div>
<h:outputText value="#{i18n['placeSelect.legend.green']}" />
<div style="border-color: black; border-style: solid; border-width: 1px; background-color: blue; width: 10px; height: 10px;">&nbsp;</div>
<h:outputText value="#{i18n['placeSelect.legend.blue']}" />
</h:panelGrid>
<h:panelGrid columnClasses=",rightalign" columns="2">
<h:outputLabel value="#{i18n['placeSelect.totalPlaces']}:" />
<h:outputText value="#{mapView.availablePlaces}" />
<h:outputLabel value="#{i18n['placeSelect.placesleft']}:" />
<h:outputText value="#{mapView.placesLeftToSelect}" />
</h:panelGrid>
</h:panelGrid>
</h:form>
<div>
<h:outputText escape="false" value="#{mapView.activeMap.notes}" />
</div>
</composite:implementation>
</html>
...@@ -27,7 +27,7 @@ ...@@ -27,7 +27,7 @@
id="billcart" value="#{cc.attrs.items}" var="cart"> id="billcart" value="#{cc.attrs.items}" var="cart">
<p:column> <p:column>
<f:facet name="header"> <f:facet name="header">
<h:outputText id="name" value="${i18n['product.name']}" /> <h:outputText id="name" value="${i18n['shop.product.name']}" />
</f:facet> </f:facet>
<h:outputText value="#{cart.product.name}" /> <h:outputText value="#{cart.product.name}" />
</p:column> </p:column>
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
<h:outputText value="${i18n['product.price']}" /> <h:outputText value="${i18n['product.price']}" />
</f:facet> </f:facet>
<h:outputText id="price" value="#{cart.product.price.abs()}"> <h:outputText id="price" value="#{cart.product.price.abs()}">
<f:convertNumber maxFractionDigits="2" minFractionDigits="2" /> <f:convertNumber maxFractionDigits="2" minFractionDigits="2" currencyCode="EUR" type="currency" locale="#{sessionHandler.locale}" />
</h:outputText> </h:outputText>
</p:column> </p:column>
...@@ -87,7 +87,7 @@ ...@@ -87,7 +87,7 @@
<h:outputText value="${i18n['product.totalPrice']}" /> <h:outputText value="${i18n['product.totalPrice']}" />
</f:facet> </f:facet>
<h:outputText id="total" value="#{cart.price}"> <h:outputText id="total" value="#{cart.price}">
<f:convertNumber maxFractionDigits="2" minFractionDigits="2" /> <f:convertNumber maxFractionDigits="2" minFractionDigits="2" currencyCode="EUR" type="currency" locale="#{sessionHandler.locale}" />
</h:outputText> </h:outputText>
</p:column> </p:column>
<p:columnGroup type="footer"> <p:columnGroup type="footer">
...@@ -98,7 +98,7 @@ ...@@ -98,7 +98,7 @@
<p:column> <p:column>
<f:facet name="footer"> <f:facet name="footer">
<h:outputText value="#{productShopView.cartPrice}"> <h:outputText value="#{productShopView.cartPrice}">
<f:convertNumber maxFractionDigits="2" minFractionDigits="2" /> <f:convertNumber maxFractionDigits="2" minFractionDigits="2" currencyCode="EUR" type="currency" locale="#{sessionHandler.locale}" />
</h:outputText> </h:outputText>
</f:facet> </f:facet>
</p:column> </p:column>
......
<!DOCTYPE html <!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
...@@ -15,7 +14,10 @@ ...@@ -15,7 +14,10 @@
<f:event type="preRenderView" listener="#{svmView.validateSuccess}" /> <f:event type="preRenderView" listener="#{svmView.validateSuccess}" />
</f:metadata> </f:metadata>
<ui:define name="title"> <ui:define name="title">
<h1>#{i18n['page.svm.success.header']}</h1> <h1>
<h:outputText rendered="#{svmView.validationResult}" value="#{i18n['page.svm.success.header']}" />
<h:outputText rendered="#{!svmView.validationResult}" value="#{i18n['page.svm.error.header']}" />
</h1>
</ui:define> </ui:define>
<ui:define name="content"> <ui:define name="content">
<p> <p>
......
...@@ -80,10 +80,14 @@ public class SessionHandler { ...@@ -80,10 +80,14 @@ public class SessionHandler {
public String getLocale() { public String getLocale() {
Locale ret = sessionStore.getLocale(); Locale ret = sessionStore.getLocale();
String retStr = "fi_FI"; String retStr = "";
if (ret != null) { if (ret != null) {
retStr = ret.toLanguageTag(); retStr = ret.toLanguageTag();
} }
if(retStr.trim().equals(""))
retStr = "fi_FI";
return retStr; return retStr;
} }
......
...@@ -120,8 +120,16 @@ public class PlaceMapServlet extends HttpServlet { ...@@ -120,8 +120,16 @@ public class PlaceMapServlet extends HttpServlet {
ostream.print("Map error!"); ostream.print("Map error!");
} else { } else {
response.setContentType("image/png");
printPlaceMapToStream(ostream, "png", map,userId);
String[] splittype = map.getMimeType().split("/");
String type = "png";
if(splittype.length > 0)
type = splittype[splittype.length-1];
response.setContentType(map.getMimeType());
printPlaceMapToStream(ostream, type, map,userId);
logger.debug("Flushing ostream"); logger.debug("Flushing ostream");
ostream.flush(); ostream.flush();
} }
...@@ -165,7 +173,7 @@ public class PlaceMapServlet extends HttpServlet { ...@@ -165,7 +173,7 @@ public class PlaceMapServlet extends HttpServlet {
// logger.debug("Got map object {}", map); // logger.debug("Got map object {}", map);
List<Place> places = map.getPlaces(); List<Place> places = map.getPlaces();
List<Place> userplaces = new ArrayList<>(); List<Place> userplaces = null;
if(userid != null && userid != 0) { if(userid != null && userid != 0) {
...@@ -183,9 +191,7 @@ public class PlaceMapServlet extends HttpServlet { ...@@ -183,9 +191,7 @@ public class PlaceMapServlet extends HttpServlet {
Graphics2D g2d = image.createGraphics(); Graphics2D g2d = image.createGraphics();
for (Place place : places) { for (Place place : places) {
if(userplaces != null) {
if(userplaces.size() > 0) {
if(userplaces.contains(place)) { if(userplaces.contains(place)) {
drawPlace(place, g2d, user, true, true); drawPlace(place, g2d, user, true, true);
} else { } else {
...@@ -276,7 +282,6 @@ public class PlaceMapServlet extends HttpServlet { ...@@ -276,7 +282,6 @@ public class PlaceMapServlet extends HttpServlet {
private static final Color OWNED_COLOR = Color.GREEN; private static final Color OWNED_COLOR = Color.GREEN;
private static final Color BORDER_COLOR = Color.BLACK; private static final Color BORDER_COLOR = Color.BLACK;
private static final Color LOCKED_COLOR = Color.DARK_GRAY; private static final Color LOCKED_COLOR = Color.DARK_GRAY;
private static final int BORDER_WIDTH = 2;
private static void drawPlace(Place p, Graphics2D g, EventUser user, boolean onlyFrame, boolean hilight) { private static void drawPlace(Place p, Graphics2D g, EventUser user, boolean onlyFrame, boolean hilight) {
if (p.isDisabled()) { if (p.isDisabled()) {
...@@ -305,7 +310,6 @@ public class PlaceMapServlet extends HttpServlet { ...@@ -305,7 +310,6 @@ public class PlaceMapServlet extends HttpServlet {
// logger.debug("Setting place Reserved {}", p); // logger.debug("Setting place Reserved {}", p);
} else if (p.getProduct() != null && p.getProduct() != null && p.getProduct().getColor() != null && !p.getProduct().getColor().isEmpty()) { } else if (p.getProduct() != null && p.getProduct() != null && p.getProduct().getColor() != null && !p.getProduct().getColor().isEmpty()) {
try { try {
color = Color.decode(p.getProduct().getColor()); color = Color.decode(p.getProduct().getColor());
} catch (NumberFormatException x) { } catch (NumberFormatException x) {
...@@ -322,16 +326,13 @@ public class PlaceMapServlet extends HttpServlet { ...@@ -322,16 +326,13 @@ public class PlaceMapServlet extends HttpServlet {
color = OWNED_COLOR; color = OWNED_COLOR;
} }
g.setColor(BORDER_COLOR);
g.draw(new Rectangle(p.getMapX(), p.getMapY(), p.getWidth(), p
.getHeight()));
if (color != null) { if (color != null) {
//logger.debug("Setting fill color: {} for p", color, p); //logger.debug("Setting fill color: {} for p", color, p);
g.setColor(color); g.setColor(color);
g.fill(new Rectangle(p.getMapX() + BORDER_WIDTH, p.getMapY() g.fill(new Rectangle(p.getMapX()+1, p.getMapY()+1, p.getWidth()-1, p.getHeight()-1));
+ BORDER_WIDTH, p.getWidth() - BORDER_WIDTH, p.getHeight()
- BORDER_WIDTH));
} }
g.setColor(BORDER_COLOR);
g.draw(new Rectangle(p.getMapX(), p.getMapY(), p.getWidth(), p.getHeight()));
} }
} }
...@@ -88,6 +88,10 @@ public class PlacegroupView extends GenericCDIView { ...@@ -88,6 +88,10 @@ public class PlacegroupView extends GenericCDIView {
return eventBean.getPropertyBoolean(LanEventPropertyKey.USE_ETICKET); return eventBean.getPropertyBoolean(LanEventPropertyKey.USE_ETICKET);
} }
public boolean isPrintOnlyOwn() {
return eventBean.getPropertyBoolean(LanEventPropertyKey.PLACECODE_PRINT_ONLY_OWN);
}
public boolean isCanModifyCurrent() { public boolean isCanModifyCurrent() {
GroupMembership row = memberlist.getRowData(); GroupMembership row = memberlist.getRowData();
...@@ -161,14 +165,22 @@ public class PlacegroupView extends GenericCDIView { ...@@ -161,14 +165,22 @@ public class PlacegroupView extends GenericCDIView {
return false; return false;
// if it's your own place, and you are sitting on it, you can free it // change for assembly
if(permbean.isCurrentUser(row.getPlaceGroup().getCreator()) && permbean.isCurrentUser(row.getUser())) // TODO: kun lantrekit on ohi niin kato tää logiikka niin että koko "vapauta" -napin konseptista luovutaan ja pelkästään maililla paikansiirto.
return true; if(isPrintOnlyOwn())
return false;
// And ofcourse you can free it, if you are superadmin // And ofcourse you can free it, if you are superadmin
if(permbean.hasPermission(MapPermission.MANAGE_OTHERS)) if(permbean.hasPermission(MapPermission.MANAGE_OTHERS))
return true; return true;
// if it's your own place, and you are sitting on it, you can free it
if(permbean.isCurrentUser(row.getPlaceGroup().getCreator()) && permbean.isCurrentUser(row.getUser()))
return true;
return false; return false;
} }
......
...@@ -27,8 +27,8 @@ adduser.update = Update profile picture ...@@ -27,8 +27,8 @@ adduser.update = Update profile picture
adduser.welcome = Welcome adduser.welcome = Welcome
adduser.welcometext = Here you can add new user or update your current user profile image. Please select desired action below. adduser.welcometext = Here you can add new user or update your current user profile image. Please select desired action below.
bill.billAmount = Amount bill.billAmount = Tilauksen summa (sis. alv)
bill.billNumber = Number bill.billNumber = Tilausnumero
bill.cancel = Cancel bill bill.cancel = Cancel bill
bill.expires = Expires bill.expires = Expires
bill.isExpired = Bill is expired bill.isExpired = Bill is expired
...@@ -311,7 +311,7 @@ page.bill.edit.header = Edit bill ...@@ -311,7 +311,7 @@ page.bill.edit.header = Edit bill
page.bill.list.header = Bills page.bill.list.header = Bills
page.bill.listAll.header = Bills page.bill.listAll.header = Bills
page.bill.placemap.header = Place map page.bill.placemap.header = Place map
page.bill.show.header = Bill info page.bill.show.header = Tilauksen tiedot
pagegroup.auth.login = frontpage pagegroup.auth.login = frontpage
...@@ -381,7 +381,6 @@ submenu.info.shop = Kauppa ...@@ -381,7 +381,6 @@ submenu.info.shop = Kauppa
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
submenu.neomap.view = Paikkakartta
submenu.reports.basicStatistics = Tilastoja submenu.reports.basicStatistics = Tilastoja
subnavi.cards = \u0009\u0009 subnavi.cards = \u0009\u0009
...@@ -446,6 +445,15 @@ invite.permissionDenied=Sinulla ei ole oikeutta luovuttaa paikkaa eteenp\u00E4in ...@@ -446,6 +445,15 @@ invite.permissionDenied=Sinulla ei ole oikeutta luovuttaa paikkaa eteenp\u00E4in
invite.userLoginSuccessfull=Kutsu vastaanotettu onnistuneesti invite.userLoginSuccessfull=Kutsu vastaanotettu onnistuneesti
invite.userLoginUnSuccessfull=Kirjautuminen ep\u00E4onnistui invite.userLoginUnSuccessfull=Kirjautuminen ep\u00E4onnistui
placegroupview.placetransferred=Paikka annettu eteenp\u00E4in placegroupview.placetransferred=Paikka annettu eteenp\u00E4in
shop.create=
submenu.shop.createBill=Osta lippuja
submenu.shop.listReaders=
submenu.shop.shopToUser=
submenu.shop.showReaderEvents=
submenu.tournaments.admin.index=
submenu.bill.billSummary=
placegroupview.reservationProduct=
bill.isNoPaid=Maksamatta
product.expired=Vanhentuneet product.expired=Vanhentuneet
product.edit= product.edit=
etickets.title=Lippusi etickets.title=Lippusi
...@@ -458,3 +466,52 @@ etickets.placemap=Paikat kartalla ...@@ -458,3 +466,52 @@ etickets.placemap=Paikat kartalla
placegroup.showEticket=N\u00E4yt\u00E4 lippu placegroup.showEticket=N\u00E4yt\u00E4 lippu
mapView.enterQueue=Liity jonoon mapView.enterQueue=Liity jonoon
mapView.check=P\u00E4ivit\u00E4 jonopaikka mapView.check=P\u00E4ivit\u00E4 jonopaikka
submenu.place.placemap=Paikkakartta
submenu.poll.index=
submenu.product.create=
submenu.product.list=
product.name=Tuotteen nimi
placeSelect.placeName=
shop.product.name=Lippu
placeSelect.placePrice=
printedCard.cardState=
product.cashed=
product.shopInstant=
productshop.billCreated=
shop.cartPrice=
shop.product=
product.price=Hinta (sis. alv)
billine.name=Lippu
bill.receiverAddress=
bill.referencenumber=
billine.linePrice=
bortalApplication.networkauthentication.OVERRIDE_PLACE_REQUIREMENT=
submenu.place.viewplacemap=Paikkatilanne
svm.success.successMessage=Verkkomaksu onnistui.
template.loggedInAs=
page.svm.error.header=Verkkomaksu ep\u00E4onnistui
bill.isNotPaid=Maksamatta
bill.isPaid=Maksettu
bill.addr3=
bill.addr4=
bill.billIsPaid=
page.account.edit.header=
page.auth.login.loginerror.pagegroup=
page.product.create.pagegroup=
page.product.validateBillProducts.header=
page.role.create.pagegroup=
page.role.edit.pagegroup=
page.role.list.pagegroup=
page.shop.readerevents.header=
page.product.list.pagegroup=
page.tests.placemap.pagegroup=
place.groupremove=
placegroupView.editplace=
placegroupview.owner=Omistaja
placegroupview.groupCreator=Tilaaja
placegroupview.placeReleased=
place.mapX=
place.send=Siirr\u00E4 paikka
place.mapY=
place.cancelSend=Peruuta siirto
place.buyable=
...@@ -64,12 +64,12 @@ bill.addr4 = Address 4 ...@@ -64,12 +64,12 @@ bill.addr4 = Address 4
bill.addr5 = Address 5 bill.addr5 = Address 5
bill.address = Payers address bill.address = Payers address
bill.allowStatistics = My information can be used in statistics bill.allowStatistics = My information can be used in statistics
bill.billAmount = Bill amount (inc. vat) bill.billAmount = Order amount (inc. vat)
bill.billIsPaid = Bill is paid bill.billIsPaid = Order is paid
bill.billLines = Products bill.billLines = Products
bill.billMarkedPaidMail.message = Your deposit number {0} has been marked as paid. bill.billMarkedPaidMail.message = Your deposit number {0} has been marked as paid.
bill.billMarkedPaidMail.subject = Bill marked paid bill.billMarkedPaidMail.subject = Bill marked paid
bill.billNumber = Number bill.billNumber = Order number
bill.billPaidDate = Paid date bill.billPaidDate = Paid date
bill.cancel = Cancel bill bill.cancel = Cancel bill
bill.deliveryTerms = Delivery terms bill.deliveryTerms = Delivery terms
...@@ -114,8 +114,8 @@ billLine.time = Order Date ...@@ -114,8 +114,8 @@ billLine.time = Order Date
billedit.billnotfound = Bill not found. Select again. billedit.billnotfound = Bill not found. Select again.
billine.linePrice = Total (inc. vat) billine.linePrice = Total (inc. vat)
billine.name = Product billine.name = Ticket
billine.quantity = Quantity billine.quantity = Quantityicket
billine.referencedProduct = Referenced product billine.referencedProduct = Referenced product
billine.save = Save billine.save = Save
billine.unitName = Unit billine.unitName = Unit
...@@ -797,7 +797,7 @@ page.bill.edit.header = Edit bill ...@@ -797,7 +797,7 @@ page.bill.edit.header = Edit bill
page.bill.list.header = Bills page.bill.list.header = Bills
page.bill.listAll.header = Bills page.bill.listAll.header = Bills
page.bill.placemap.header = Place map page.bill.placemap.header = Place map
page.bill.show.header = Bill info page.bill.show.header = Order info
page.checkout.cancel.header = Payment cancelled! page.checkout.cancel.header = Payment cancelled!
page.checkout.delayed.header = Delayed payment page.checkout.delayed.header = Delayed payment
page.checkout.reject.header = Payment rejected! page.checkout.reject.header = Payment rejected!
...@@ -819,7 +819,7 @@ page.product.createBill.header = Buy products ...@@ -819,7 +819,7 @@ page.product.createBill.header = Buy products
page.product.createBill.pagegroup = shop page.product.createBill.pagegroup = shop
page.product.edit.pagegroup = admin page.product.edit.pagegroup = admin
page.product.list.pagegroup = admin page.product.list.pagegroup = admin
page.product.validateBillProducts.header = Bill created page.product.validateBillProducts.header = Order created
page.role.create.pagegroup = admin page.role.create.pagegroup = admin
page.role.edit.pagegroup = admin page.role.edit.pagegroup = admin
page.role.list.pagegroup = admin page.role.list.pagegroup = admin
...@@ -908,14 +908,14 @@ placegroup.printPdf = Print tickets ...@@ -908,14 +908,14 @@ placegroup.printPdf = Print tickets
placegroupView.editplace = Edit place placegroupView.editplace = Edit place
placegroupview.groupCreator = Reserver placegroupview.groupCreator = Orderer
placegroupview.header = My places placegroupview.header = My places
placegroupview.noMemberships = No places placegroupview.noMemberships = No places
placegroupview.placeReleaseFailed = Releasing of place failed! placegroupview.placeReleaseFailed = Releasing of place failed!
placegroupview.placeReleased = Place {0} released placegroupview.placeReleased = Place {0} released
placegroupview.releasePlace = Release placegroupview.releasePlace = Release
placegroupview.reservationName = Place placegroupview.reservationName = Place
placegroupview.reservationProduct = Product placegroupview.reservationProduct = Ticket
placegroupview.token = Placecode / user placegroupview.token = Placecode / user
placetoken.commit = Associate token placetoken.commit = Associate token
...@@ -946,7 +946,7 @@ product.barcode = Barcode ...@@ -946,7 +946,7 @@ product.barcode = Barcode
product.billed = Billed product.billed = Billed
product.boughtTotal = Products billed product.boughtTotal = Products billed
product.buyInPrice = Buy in price product.buyInPrice = Buy in price
product.cart.count = To shoppingcart product.cart.count = Count
product.cashed = Cashpaid product.cashed = Cashpaid
product.color = Color in UI product.color = Color in UI
product.create = Create product product.create = Create product
...@@ -955,11 +955,11 @@ product.createLimit = Create product limitation ...@@ -955,11 +955,11 @@ product.createLimit = Create product limitation
product.description = Description product.description = Description
product.edit = edit product.edit = edit
product.inventoryQuantity = Inventory count product.inventoryQuantity = Inventory count
product.name = Name of product product.name = Product name
product.paid = Paid product.paid = Paid
product.prepaid = Prepaid product.prepaid = Prepaid
product.prepaidInstant = Created when prepaid is paid product.prepaidInstant = Created when prepaid is paid
product.price = Price of product (inc. vat) product.price = Price (inc. vat)
product.providedRole = Product defines role product.providedRole = Product defines role
product.returnProductEdit = Return to product: product.returnProductEdit = Return to product:
product.save = Save product.save = Save
...@@ -1181,7 +1181,7 @@ submenu.auth.logout = Logout ...@@ -1181,7 +1181,7 @@ 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 orders
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
...@@ -1203,7 +1203,6 @@ submenu.license.manageCodes = Manage codes ...@@ -1203,7 +1203,6 @@ submenu.license.manageCodes = Manage codes
submenu.license.viewCodes = View codes submenu.license.viewCodes = View codes
submenu.map.create = Create map submenu.map.create = Create map
submenu.map.list = List maps submenu.map.list = List maps
submenu.neomap.view = Map
submenu.networkassociation.index = Associations submenu.networkassociation.index = Associations
submenu.orgrole.create = Create organisationrole submenu.orgrole.create = Create organisationrole
submenu.orgrole.list = Organisation roles submenu.orgrole.list = Organisation roles
...@@ -1221,7 +1220,7 @@ submenu.product.list = List products ...@@ -1221,7 +1220,7 @@ submenu.product.list = List products
submenu.reports.basicStatistics = Statistics submenu.reports.basicStatistics = Statistics
submenu.role.create = Create role submenu.role.create = Create role
submenu.role.list = Show Roles submenu.role.list = Show Roles
submenu.shop.createBill = Purchase submenu.shop.createBill = Purchase tickets
submenu.shop.listReaders = List readers submenu.shop.listReaders = List readers
submenu.shop.shopToUser = Shop to user submenu.shop.shopToUser = Shop to user
submenu.shop.showReaderEvents = Reader events submenu.shop.showReaderEvents = Reader events
...@@ -1279,7 +1278,7 @@ svm.notification.successMessage = Payment notification received ...@@ -1279,7 +1278,7 @@ svm.notification.successMessage = Payment notification received
svm.pending.errorMessage = Unknown error! If payment was successfull email will be sent after verification. svm.pending.errorMessage = Unknown error! If payment was successfull email will be sent after verification.
svm.pending.successMessage = Payment pending. You will receive email after payment verification. svm.pending.successMessage = Payment pending. You will receive email after payment verification.
svm.success.errorMessage = Payment could not be verified! svm.success.errorMessage = Payment could not be verified!
svm.success.successMessage = Payment was successfull. You can now your credits in the system. svm.success.successMessage = Payment was successfull.
template.loggedInAs = Logged in as template.loggedInAs = Logged in as
...@@ -1644,6 +1643,7 @@ invite.permissionDenied=You don't have permission to regive this place. ...@@ -1644,6 +1643,7 @@ invite.permissionDenied=You don't have permission to regive this place.
invite.userLoginSuccessfull=Invite accepted successfully invite.userLoginSuccessfull=Invite accepted successfully
invite.userLoginUnSuccessfull=Login unsuccessfull invite.userLoginUnSuccessfull=Login unsuccessfull
placegroupview.placetransferred=Place is transferred placegroupview.placetransferred=Place is transferred
bill.isNoPaid=Not paid
product.expired=Expired product.expired=Expired
etickets.title=Your ticket etickets.title=Your ticket
etickets.place=Place etickets.place=Place
...@@ -1655,3 +1655,10 @@ etickets.placemap=Places on map ...@@ -1655,3 +1655,10 @@ etickets.placemap=Places on map
placegroup.showEticket=Show eticket placegroup.showEticket=Show eticket
mapView.enterQueue=Enter queue mapView.enterQueue=Enter queue
mapView.check=Check own queuestatus mapView.check=Check own queuestatus
shop.product.name=Ticket
submenu.place.viewplacemap=Places status
page.svm.error.header=Payment failed
bill.isNotPaid=Not paid
placegroupview.owner=Owner
place.send=Transfer place
place.cancelSend=Cancel transfer
...@@ -64,12 +64,12 @@ bill.addr4 = Osoite 4 ...@@ -64,12 +64,12 @@ bill.addr4 = Osoite 4
bill.addr5 = Osoite 5 bill.addr5 = Osoite 5
bill.address = Maksajan osoite bill.address = Maksajan osoite
bill.allowStatistics = Tietoni saa julkaista tilastoissa bill.allowStatistics = Tietoni saa julkaista tilastoissa
bill.billAmount = Laskun summa (sis. alv) bill.billAmount = Tilauksen summa (sis. alv)
bill.billIsPaid = Lasku on maksettu bill.billIsPaid = Tilaus on maksettu
bill.billLines = Tuotteet bill.billLines = Tuotteet
bill.billMarkedPaidMail.message = Laskusi numero {0} on merkitty maksetuksi. Voit nyt siirty\u00E4 lippukauppaan varamaan haluamasi paikat. Tervetuloa tapahtumaan! bill.billMarkedPaidMail.message = Laskusi numero {0} on merkitty maksetuksi. Voit nyt siirty\u00E4 lippukauppaan varamaan haluamasi paikat. Tervetuloa tapahtumaan\!
bill.billMarkedPaidMail.subject = Lasku merkitty maksetuksi bill.billMarkedPaidMail.subject = Lasku merkitty maksetuksi
bill.billNumber = Numero bill.billNumber = Tilausnumero
bill.billPaidDate = Maksup\u00E4iv\u00E4 bill.billPaidDate = Maksup\u00E4iv\u00E4
bill.cancel = Peruuta lasku bill.cancel = Peruuta lasku
bill.deliveryTerms = Toimitusehdot bill.deliveryTerms = Toimitusehdot
...@@ -115,7 +115,7 @@ billLine.time = Tilausaika ...@@ -115,7 +115,7 @@ billLine.time = Tilausaika
billedit.billnotfound = Laskua ei l\u00F6ytynyt. Ole hyv\u00E4 ja valitse uudelleen. billedit.billnotfound = Laskua ei l\u00F6ytynyt. Ole hyv\u00E4 ja valitse uudelleen.
billine.linePrice = Yhteens\u00E4 (sis. alv) billine.linePrice = Yhteens\u00E4 (sis. alv)
billine.name = Tuote billine.name = Lippu
billine.quantity = Lukum\u00E4\u00E4r\u00E4 billine.quantity = Lukum\u00E4\u00E4r\u00E4
billine.referencedProduct = Tuoteviittaus billine.referencedProduct = Tuoteviittaus
billine.save = Tallenna billine.save = Tallenna
...@@ -806,7 +806,7 @@ page.bill.edit.header = Muokkaa laskua ...@@ -806,7 +806,7 @@ page.bill.edit.header = Muokkaa laskua
page.bill.list.header = Laskut page.bill.list.header = Laskut
page.bill.listAll.header = Laskut page.bill.listAll.header = Laskut
page.bill.placemap.header = Paikkakartta page.bill.placemap.header = Paikkakartta
page.bill.show.header = Laskun tiedot page.bill.show.header = Tilauksen tiedot
page.checkout.cancel.header = Maksu peruutettu. page.checkout.cancel.header = Maksu peruutettu.
page.checkout.delayed.header = Viiv\u00E4stetty maksu page.checkout.delayed.header = Viiv\u00E4stetty maksu
page.checkout.reject.header = Maksu hyl\u00E4tty! page.checkout.reject.header = Maksu hyl\u00E4tty!
...@@ -815,7 +815,7 @@ page.place.insertToken.header = Sy\u00F6t\u00E4 paikkakoodi ...@@ -815,7 +815,7 @@ page.place.insertToken.header = Sy\u00F6t\u00E4 paikkakoodi
page.place.mygroups.header = Paikkaryhm\u00E4t page.place.mygroups.header = Paikkaryhm\u00E4t
page.place.placemap.header = Paikkakartta page.place.placemap.header = Paikkakartta
page.product.createBill.header = Osta tuotteita page.product.createBill.header = Osta tuotteita
page.product.validateBillProducts.header = Lasku luotu page.product.validateBillProducts.header = Tilaus luotu
page.svm.failure.header = Verkkomaksuvirhe page.svm.failure.header = Verkkomaksuvirhe
page.svm.notification.header = Maksutapahtuman rekister\u00F6inti page.svm.notification.header = Maksutapahtuman rekister\u00F6inti
page.svm.pending.header = Maksukuittausta odotetaan page.svm.pending.header = Maksukuittausta odotetaan
...@@ -891,14 +891,14 @@ placegroup.printPdf = Tulosta lipputositteet ...@@ -891,14 +891,14 @@ placegroup.printPdf = Tulosta lipputositteet
placegroupView.editplace = Muokkaa paikkaa placegroupView.editplace = Muokkaa paikkaa
placegroupview.groupCreator = Varaaja placegroupview.groupCreator = Tilaaja
placegroupview.header = Omat paikat placegroupview.header = Omat paikat
placegroupview.noMemberships = Ei omia paikkoja placegroupview.noMemberships = Ei omia paikkoja
placegroupview.placeReleaseFailed = Paikan vapauttaminen ep\u00E4onnistui! placegroupview.placeReleaseFailed = Paikan vapauttaminen ep\u00E4onnistui!
placegroupview.placeReleased = Paikka {0} vapautettu placegroupview.placeReleased = Paikka {0} vapautettu
placegroupview.releasePlace = Vapauta placegroupview.releasePlace = Vapauta
placegroupview.reservationName = Paikka placegroupview.reservationName = Paikka
placegroupview.reservationProduct = Tuote placegroupview.reservationProduct = Lippu
placegroupview.token = Paikkakoodi / k\u00E4ytt\u00E4j\u00E4 placegroupview.token = Paikkakoodi / k\u00E4ytt\u00E4j\u00E4
placetoken.commit = Liit\u00E4 placetoken.commit = Liit\u00E4
...@@ -929,7 +929,7 @@ product.barcode = Viivakoodi ...@@ -929,7 +929,7 @@ product.barcode = Viivakoodi
product.billed = Laskutettu product.billed = Laskutettu
product.boughtTotal = Tuotteita laskutettu product.boughtTotal = Tuotteita laskutettu
product.buyInPrice = Sis\u00E4\u00E4nostohinta product.buyInPrice = Sis\u00E4\u00E4nostohinta
product.cart.count = Ostoskoriin product.cart.count = M\u00E4\u00E4r\u00E4
product.cashed = Ostettu k\u00E4teisell\u00E4 product.cashed = Ostettu k\u00E4teisell\u00E4
product.color = V\u00E4ri k\u00E4ytt\u00F6liittym\u00E4ss\u00E4 product.color = V\u00E4ri k\u00E4ytt\u00F6liittym\u00E4ss\u00E4
product.create = Luo tuote product.create = Luo tuote
...@@ -942,7 +942,7 @@ product.name = Tuotteen nimi ...@@ -942,7 +942,7 @@ product.name = Tuotteen nimi
product.paid = Maksettu product.paid = Maksettu
product.prepaid = Prepaid product.prepaid = Prepaid
product.prepaidInstant = Luodaan kun prepaid maksetaan product.prepaidInstant = Luodaan kun prepaid maksetaan
product.price = Tuotteen hinta (sis. alv) product.price = Hinta (sis. alv)
product.providedRole = Tuote tarjoaa roolin product.providedRole = Tuote tarjoaa roolin
product.returnProductEdit = Palaa tuotteeseen: product.returnProductEdit = Palaa tuotteeseen:
product.save = Tallenna product.save = Tallenna
...@@ -1161,7 +1161,7 @@ submenu.auth.logout = Kirjaudu ulos ...@@ -1161,7 +1161,7 @@ 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 tilaukset
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
...@@ -1183,7 +1183,7 @@ submenu.license.manageCodes = Hallinnoi lisenssej\u00E4 ...@@ -1183,7 +1183,7 @@ submenu.license.manageCodes = Hallinnoi lisenssej\u00E4
submenu.license.viewCodes = N\u00E4yt\u00E4 koodit submenu.license.viewCodes = N\u00E4yt\u00E4 koodit
submenu.map.create = Uusi kartta submenu.map.create = Uusi kartta
submenu.map.list = N\u00E4yt\u00E4 kartat submenu.map.list = N\u00E4yt\u00E4 kartat
submenu.neomap.view = Paikkakartta submenu.neomap.view = Varaa paikkasi
submenu.networkassociation.index = Assosiaatiot submenu.networkassociation.index = Assosiaatiot
submenu.orgrole.create = Luo j\u00E4rjest\u00E4j\u00E4rooli submenu.orgrole.create = Luo j\u00E4rjest\u00E4j\u00E4rooli
submenu.orgrole.list = J\u00E4rjest\u00E4j\u00E4roolit submenu.orgrole.list = J\u00E4rjest\u00E4j\u00E4roolit
...@@ -1201,7 +1201,7 @@ submenu.product.list = Listaa tuotteet ...@@ -1201,7 +1201,7 @@ submenu.product.list = Listaa tuotteet
submenu.reports.basicStatistics = Tilastoja submenu.reports.basicStatistics = Tilastoja
submenu.role.create = Luo rooli submenu.role.create = Luo rooli
submenu.role.list = N\u00E4yt\u00E4 roolit submenu.role.list = N\u00E4yt\u00E4 roolit
submenu.shop.createBill = Osta tuotteita submenu.shop.createBill = Osta lippuja
submenu.shop.listReaders = N\u00E4yt\u00E4 lukijat submenu.shop.listReaders = N\u00E4yt\u00E4 lukijat
submenu.shop.shopToUser = Osta k\u00E4ytt\u00E4j\u00E4lle submenu.shop.shopToUser = Osta k\u00E4ytt\u00E4j\u00E4lle
submenu.shop.showReaderEvents = Lukijan tapahtumat submenu.shop.showReaderEvents = Lukijan tapahtumat
...@@ -1617,7 +1617,6 @@ user.emailtooshortmessage=S\u00E4hk\u00F6postin tarvitsee olla v\u00E4hint\u00E4 ...@@ -1617,7 +1617,6 @@ user.emailtooshortmessage=S\u00E4hk\u00F6postin tarvitsee olla v\u00E4hint\u00E4
user.emailsunmatch=S\u00E4hk\u00F6postiosoitteet eiv\u00E4t t\u00E4sm\u00E4\u00E4. user.emailsunmatch=S\u00E4hk\u00F6postiosoitteet eiv\u00E4t t\u00E4sm\u00E4\u00E4.
user.emailAgain=S\u00E4hk\u00F6posti (uudelleen) user.emailAgain=S\u00E4hk\u00F6posti (uudelleen)
required=Vaaditaan required=Vaaditaan
submenu.neomap.view=Paikkakartta
user.cancelInvite=Peruuta kutsu user.cancelInvite=Peruuta kutsu
user.invite.placeInvite.header=Vastaanota l\u00E4hetetty paikka user.invite.placeInvite.header=Vastaanota l\u00E4hetetty paikka
userview.userExistsByEmail=S\u00E4hk\u00F6posti on jo olemassa. Sinulla saattaa jo olla tunnus j\u00E4rjestelm\u00E4ss\u00E4. userview.userExistsByEmail=S\u00E4hk\u00F6posti on jo olemassa. Sinulla saattaa jo olla tunnus j\u00E4rjestelm\u00E4ss\u00E4.
...@@ -1625,6 +1624,7 @@ invite.permissionDenied=Sinulla ei ole oikeutta luovuttaa paikkaa eteenp\u00E4in ...@@ -1625,6 +1624,7 @@ invite.permissionDenied=Sinulla ei ole oikeutta luovuttaa paikkaa eteenp\u00E4in
invite.userLoginSuccessfull=Kutsu vastaanotettu onnistuneesti invite.userLoginSuccessfull=Kutsu vastaanotettu onnistuneesti
invite.userLoginUnSuccessfull=Kirjautuminen ep\u00E4onnistui invite.userLoginUnSuccessfull=Kirjautuminen ep\u00E4onnistui
placegroupview.placetransferred=Paikka on annettu eteenp\u00E4in. placegroupview.placetransferred=Paikka on annettu eteenp\u00E4in.
bill.isNoPaid=Maksamatta
product.expired=Vanhentuneet product.expired=Vanhentuneet
etickets.title=Lippusi etickets.title=Lippusi
etickets.place=Paikka etickets.place=Paikka
...@@ -1636,3 +1636,10 @@ etickets.placemap=Paikat kartalla ...@@ -1636,3 +1636,10 @@ etickets.placemap=Paikat kartalla
placegroup.showEticket=N\u00E4yt\u00E4 lippu placegroup.showEticket=N\u00E4yt\u00E4 lippu
mapView.enterQueue=Liity jonoon mapView.enterQueue=Liity jonoon
mapView.check=P\u00E4ivit\u00E4 jonopaikka mapView.check=P\u00E4ivit\u00E4 jonopaikka
shop.product.name=Lippu
submenu.place.viewplacemap=Paikkatilanne
page.svm.error.header=Verkkomaksu ep\u00E4onnistui
bill.isNotPaid=Maksamatta
placegroupview.owner=Omistaja
place.send=Siirr\u00E4 paikka
place.cancelSend=Peruuta siirto
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!