Commit ad13358f by Juho Juopperi

Merge branch 'devel' into feature/maven

Conflicts:
	code/MoyaAuthModule/.classpath
	code/MoyaAuthModule/.settings/org.eclipse.jdt.core.prefs
	code/MoyaAuthModule/.settings/org.eclipse.wst.common.project.facet.core.xml
	code/MoyaAuthModuleClient/.settings/org.eclipse.jdt.core.prefs
	code/MoyaBeans/.classpath
	code/MoyaBeans/.settings/org.eclipse.jdt.core.prefs
	code/MoyaBeans/.settings/org.eclipse.wst.common.project.facet.core.xml
	code/MoyaBeansClient/.classpath
	code/MoyaBeansClient/.settings/org.eclipse.jdt.core.prefs
	code/MoyaDatabase/.classpath
	code/MoyaDatabase/.settings/org.eclipse.jdt.core.prefs
	code/MoyaDatabase/.settings/org.eclipse.wst.common.project.facet.core.xml
	code/MoyaTerminalWeb/.settings/org.eclipse.jdt.core.prefs
	code/MoyaUtilities/.classpath
	code/MoyaUtilities/.settings/org.eclipse.jdt.core.prefs
	code/MoyaWeb/.classpath
	code/MoyaWeb/.settings/org.eclipse.jdt.core.prefs
2 parents 1028fdb6 95715ae3
Showing with 527 additions and 384 deletions
...@@ -5,3 +5,4 @@ ...@@ -5,3 +5,4 @@
/code/MoyaDatabase/src/fi/codecrew/moya/model/*/*_.java /code/MoyaDatabase/src/fi/codecrew/moya/model/*/*_.java
*~ *~
.metadata .metadata
/code/*/target/
eclipse.preferences.version=1 eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.6 org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.source=1.6 org.eclipse.jdt.core.compiler.source=1.7
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<faceted-project> <faceted-project>
<installed facet="java" version="1.6"/> <runtime name="GlassFish 3.1.2"/>
<installed facet="java" version="1.7"/>
</faceted-project> </faceted-project>
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<attribute name="maven.pomderived" value="true"/> <attribute name="maven.pomderived" value="true"/>
</attributes> </attributes>
</classpathentry> </classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/OracleJDK 1.7u15">
<attributes> <attributes>
<attribute name="maven.pomderived" value="true"/> <attribute name="maven.pomderived" value="true"/>
</attributes> </attributes>
......
eclipse.preferences.version=1 eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.6 org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.source=1.6 org.eclipse.jdt.core.compiler.source=1.7
...@@ -3,5 +3,5 @@ ...@@ -3,5 +3,5 @@
<fixed facet="java"/> <fixed facet="java"/>
<fixed facet="jst.utility"/> <fixed facet="jst.utility"/>
<installed facet="jst.utility" version="1.0"/> <installed facet="jst.utility" version="1.0"/>
<installed facet="java" version="1.6"/> <installed facet="java" version="1.7"/>
</faceted-project> </faceted-project>
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<attribute name="org.eclipse.jst.component.nondependency" value=""/> <attribute name="org.eclipse.jst.component.nondependency" value=""/>
</attributes> </attributes>
</classpathentry> </classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
<attributes> <attributes>
<attribute name="owner.project.facets" value="java"/> <attribute name="owner.project.facets" value="java"/>
</attributes> </attributes>
......
eclipse.preferences.version=1 eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.6 org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.source=1.6 org.eclipse.jdt.core.compiler.source=1.7
...@@ -2,6 +2,7 @@ ...@@ -2,6 +2,7 @@
<faceted-project> <faceted-project>
<fixed facet="java"/> <fixed facet="java"/>
<fixed facet="jst.ejb"/> <fixed facet="jst.ejb"/>
<installed facet="java" version="1.6"/> <installed facet="jst.ejb" version="3.1"/>
<installed facet="jst.ejb" version="2.1"/> <installed facet="sun.facet" version="9"/>
<installed facet="java" version="1.7"/>
</faceted-project> </faceted-project>
default.configuration=
eclipse.preferences.version=1
hibernate3.enabled=false
...@@ -11,7 +11,9 @@ import org.slf4j.Logger; ...@@ -11,7 +11,9 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import fi.codecrew.moya.facade.PrintedCardFacade; import fi.codecrew.moya.facade.PrintedCardFacade;
import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.model.PrintedCard; import fi.codecrew.moya.model.PrintedCard;
import fi.codecrew.moya.model.User;
import fi.codecrew.moya.utilities.BarcodeUtils; import fi.codecrew.moya.utilities.BarcodeUtils;
/** /**
...@@ -21,12 +23,18 @@ import fi.codecrew.moya.utilities.BarcodeUtils; ...@@ -21,12 +23,18 @@ import fi.codecrew.moya.utilities.BarcodeUtils;
@LocalBean @LocalBean
public class BarcodeBean implements BarcodeBeanLocal { public class BarcodeBean implements BarcodeBeanLocal {
private static final String PRINTED_CARD_PREFIX = "277"; private static final String PRINTED_CARD_PREFIX = "277"; //2M
private static final String EVENTUSER_PREFIX = "279"; //2O
//private static final String NEXT_PREFIX = "289"; //2Y
//private static final String NEXT_PREFIX = "265"; //2A
private static final Logger logger = LoggerFactory.getLogger(BarcodeBean.class); private static final Logger logger = LoggerFactory.getLogger(BarcodeBean.class);
@EJB @EJB
PrintedCardFacade printedCardFacade; PrintedCardFacade printedCardFacade;
@EJB
UserBeanLocal userBean;
/** /**
* Default constructor. * Default constructor.
*/ */
...@@ -34,6 +42,21 @@ public class BarcodeBean implements BarcodeBeanLocal { ...@@ -34,6 +42,21 @@ public class BarcodeBean implements BarcodeBeanLocal {
// TODO Auto-generated constructor stub // TODO Auto-generated constructor stub
} }
public InputStream getUserBarcode(EventUser user) throws IOException {
StringBuilder sb = new StringBuilder();
sb.append(EVENTUSER_PREFIX);
String idStr = user.getId().toString();
for (int i = 12 - idStr.length() - sb.length(); i > 0; --i) {
sb.append("0");
}
sb.append(idStr);
String barcode = sb.toString();
logger.debug("Geneating barcode for user {} : {}", user, barcode);
return BarcodeUtils.getBarcodeEAN(barcode);
}
public InputStream getCardBarcode(PrintedCard printedCard) throws IOException { public InputStream getCardBarcode(PrintedCard printedCard) throws IOException {
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
sb.append(PRINTED_CARD_PREFIX); sb.append(PRINTED_CARD_PREFIX);
...@@ -67,4 +90,22 @@ public class BarcodeBean implements BarcodeBeanLocal { ...@@ -67,4 +90,22 @@ public class BarcodeBean implements BarcodeBeanLocal {
return printedCardFacade.findByBarcode(barcode); return printedCardFacade.findByBarcode(barcode);
} }
public EventUser getUser(String barcode) {
if(barcode == null || barcode.isEmpty())
return null;
// it's our special front barcode
try {
if (barcode.startsWith(EVENTUSER_PREFIX)) {
int id = Integer.parseInt(barcode.substring(3));
EventUser user = userBean.findByEventUserId(id);
return user;
}
} catch (NumberFormatException x) {
}
return null;
}
} }
package fi.codecrew.moya.beans; package fi.codecrew.moya.beans;
import java.io.IOException; import java.io.IOException;
import java.io.StringReader;
import java.io.StringWriter; import java.io.StringWriter;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.ArrayList; import java.util.ArrayList;
...@@ -21,11 +19,13 @@ import javax.ejb.EJB; ...@@ -21,11 +19,13 @@ import javax.ejb.EJB;
import javax.ejb.EJBException; import javax.ejb.EJBException;
import javax.ejb.LocalBean; import javax.ejb.LocalBean;
import javax.ejb.Stateless; import javax.ejb.Stateless;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import org.apache.commons.io.IOUtils; import org.apache.commons.io.IOUtils;
import org.apache.http.HttpResponse; import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair; import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.entity.UrlEncodedFormEntity; import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost; import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient; import org.apache.http.impl.client.DefaultHttpClient;
...@@ -36,11 +36,8 @@ import org.w3c.dom.Document; ...@@ -36,11 +36,8 @@ import org.w3c.dom.Document;
import org.w3c.dom.Element; import org.w3c.dom.Element;
import org.w3c.dom.Node; import org.w3c.dom.Node;
import org.w3c.dom.NodeList; import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException; import org.xml.sax.SAXException;
import com.sun.org.apache.xerces.internal.parsers.DOMParser;
import fi.codecrew.moya.checkoutfi.CheckoutFiParam; import fi.codecrew.moya.checkoutfi.CheckoutFiParam;
import fi.codecrew.moya.clientutils.BortalLocalContextHolder; import fi.codecrew.moya.clientutils.BortalLocalContextHolder;
import fi.codecrew.moya.enums.apps.BillPermission; import fi.codecrew.moya.enums.apps.BillPermission;
...@@ -168,8 +165,8 @@ public class CheckoutFiBean implements CheckoutFiBeanLocal { ...@@ -168,8 +165,8 @@ public class CheckoutFiBean implements CheckoutFiBeanLocal {
try { try {
final String calculatedHash = PasswordFunctions.calculateMd5(mdString.toString()); final String calculatedHash = PasswordFunctions.calculateMd5(mdString.toString());
// logger.info("Calculated checksum {} from {}", logger.info("Calculated checksum {} from {}",
// mdString.toString(), calculatedHash); mdString.toString(), calculatedHash);
nameValuePairs.add(new BasicNameValuePair("MAC", calculatedHash)); nameValuePairs.add(new BasicNameValuePair("MAC", calculatedHash));
...@@ -188,12 +185,8 @@ public class CheckoutFiBean implements CheckoutFiBeanLocal { ...@@ -188,12 +185,8 @@ public class CheckoutFiBean implements CheckoutFiBeanLocal {
return parseTokenXml(xmlReturn); return parseTokenXml(xmlReturn);
} catch (UnsupportedEncodingException e) {
logger.warn("Error sending checkout.fi request", e);
} catch (ClientProtocolException e) {
logger.warn("Error sending query to checkout.fi", e);
} catch (IOException e) { } catch (IOException e) {
logger.warn("Error sending query to checkout.fi", e); logger.warn("Error sending checkout.fi request", e);
} }
return null; return null;
...@@ -229,9 +222,12 @@ public class CheckoutFiBean implements CheckoutFiBeanLocal { ...@@ -229,9 +222,12 @@ public class CheckoutFiBean implements CheckoutFiBeanLocal {
private static List<CheckoutBank> parseTokenXml(String xmlReturn) { private static List<CheckoutBank> parseTokenXml(String xmlReturn) {
try { try {
DOMParser parser = new DOMParser(); // DOMParser parser = new DOMParser();
parser.parse(new InputSource(new StringReader(xmlReturn))); // parser.parse(new InputSource(new StringReader(xmlReturn)));
Document doc = parser.getDocument(); DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(xmlReturn);
// Document doc = parser.getDocument();
Element root = doc.getDocumentElement(); Element root = doc.getDocumentElement();
root.normalize(); root.normalize();
// NodeList rootChildren = root.getChildNodes(); // NodeList rootChildren = root.getChildNodes();
...@@ -258,12 +254,8 @@ public class CheckoutFiBean implements CheckoutFiBeanLocal { ...@@ -258,12 +254,8 @@ public class CheckoutFiBean implements CheckoutFiBeanLocal {
} }
return retbanks; return retbanks;
} catch (SAXException e) { } catch (SAXException | IOException | ParserConfigurationException e) {
// TODO Auto-generated catch block logger.warn("Error parsing response from checkout response:" + xmlReturn, e);
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} }
return null; return null;
} }
......
...@@ -8,12 +8,10 @@ import javax.annotation.security.RolesAllowed; ...@@ -8,12 +8,10 @@ import javax.annotation.security.RolesAllowed;
import javax.ejb.EJB; import javax.ejb.EJB;
import javax.ejb.Stateless; import javax.ejb.Stateless;
import sun.reflect.generics.reflectiveObjects.NotImplementedException; import fi.codecrew.moya.enums.apps.ShopPermission;
import fi.codecrew.moya.facade.FoodWaveFacade; import fi.codecrew.moya.facade.FoodWaveFacade;
import fi.codecrew.moya.facade.FoodWaveTemplateFacade; import fi.codecrew.moya.facade.FoodWaveTemplateFacade;
import fi.codecrew.moya.facade.ProductFacade; import fi.codecrew.moya.facade.ProductFacade;
import fi.codecrew.moya.beans.FoodWaveBeanLocal;
import fi.codecrew.moya.enums.apps.ShopPermission;
import fi.codecrew.moya.model.FoodWave; import fi.codecrew.moya.model.FoodWave;
import fi.codecrew.moya.model.FoodWaveTemplate; import fi.codecrew.moya.model.FoodWaveTemplate;
import fi.codecrew.moya.model.Product; import fi.codecrew.moya.model.Product;
...@@ -59,7 +57,7 @@ public class FoodWaveBean implements FoodWaveBeanLocal { ...@@ -59,7 +57,7 @@ public class FoodWaveBean implements FoodWaveBeanLocal {
@Override @Override
public List<FoodWave> findShoppableFoodwaves() { public List<FoodWave> findShoppableFoodwaves() {
throw new NotImplementedException(); throw new java.lang.UnsupportedOperationException();
} }
@Override @Override
......
...@@ -13,11 +13,6 @@ import javax.resource.spi.IllegalStateException; ...@@ -13,11 +13,6 @@ import javax.resource.spi.IllegalStateException;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import fi.codecrew.moya.facade.EventUserFacade;
import fi.codecrew.moya.facade.UserFacade;
import fi.codecrew.moya.beans.EventBeanLocal;
import fi.codecrew.moya.beans.LoggingBeanLocal;
import fi.codecrew.moya.beans.PermissionBeanLocal;
import fi.codecrew.moya.enums.apps.BillPermission; import fi.codecrew.moya.enums.apps.BillPermission;
import fi.codecrew.moya.enums.apps.CompoPermission; import fi.codecrew.moya.enums.apps.CompoPermission;
import fi.codecrew.moya.enums.apps.ContentPermission; import fi.codecrew.moya.enums.apps.ContentPermission;
...@@ -29,6 +24,8 @@ import fi.codecrew.moya.enums.apps.ShopPermission; ...@@ -29,6 +24,8 @@ import fi.codecrew.moya.enums.apps.ShopPermission;
import fi.codecrew.moya.enums.apps.SpecialPermission; import fi.codecrew.moya.enums.apps.SpecialPermission;
import fi.codecrew.moya.enums.apps.TerminalPermission; import fi.codecrew.moya.enums.apps.TerminalPermission;
import fi.codecrew.moya.enums.apps.UserPermission; import fi.codecrew.moya.enums.apps.UserPermission;
import fi.codecrew.moya.facade.EventUserFacade;
import fi.codecrew.moya.facade.UserFacade;
import fi.codecrew.moya.model.EventUser; import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.model.User; import fi.codecrew.moya.model.User;
...@@ -176,8 +173,13 @@ public class PermissionBean implements PermissionBeanLocal { ...@@ -176,8 +173,13 @@ public class PermissionBean implements PermissionBeanLocal {
@Override @Override
public boolean isLoggedIn() { public boolean isLoggedIn() {
Principal principal = context.getCallerPrincipal();
return !getAnonEventUser().equals(getCurrentUser()) || getCurrentUser().getUser().isSuperadmin(); boolean ret = principal != null && !User.ANONYMOUS_LOGINNAME.equalsIgnoreCase(principal.getName());
// logger.info("Checking principal {} against anon: {}", principal,
// ret);
return ret;
// return !getAnonEventUser().equals(getCurrentUser()) ||
// getCurrentUser().getUser().isSuperadmin();
} }
@Override @Override
......
...@@ -483,11 +483,11 @@ public class PlaceBean implements PlaceBeanLocal { ...@@ -483,11 +483,11 @@ public class PlaceBean implements PlaceBeanLocal {
@RolesAllowed(MapPermission.S_BUY_PLACES) @RolesAllowed(MapPermission.S_BUY_PLACES)
public Place unbuyPlace(Place place) { public Place unbuyPlace(Place place) {
place = placeFacade.reload(place); place = placeFacade.reload(place);
if (place.getGroup() != null) { if (place.getGroup() != null) {
place.getGroup().getPlaces().remove(place); place.getGroup().getPlaces().remove(place);
place.setGroup(null);
} }
place.setGroup(null);
if (place.getPlaceReserver() != null) if (place.getPlaceReserver() != null)
{ {
......
...@@ -21,21 +21,19 @@ import com.pdfjet.PDF; ...@@ -21,21 +21,19 @@ import com.pdfjet.PDF;
import com.pdfjet.Page; import com.pdfjet.Page;
import com.pdfjet.TextLine; import com.pdfjet.TextLine;
import fi.codecrew.moya.enums.apps.MapPermission;
import fi.codecrew.moya.enums.apps.SpecialPermission;
import fi.codecrew.moya.facade.EventUserFacade; import fi.codecrew.moya.facade.EventUserFacade;
import fi.codecrew.moya.facade.GroupMembershipFacade; import fi.codecrew.moya.facade.GroupMembershipFacade;
import fi.codecrew.moya.facade.PlaceGroupFacade; import fi.codecrew.moya.facade.PlaceGroupFacade;
import fi.codecrew.moya.beans.EventBeanLocal;
import fi.codecrew.moya.beans.LoggingBeanLocal;
import fi.codecrew.moya.beans.PermissionBeanLocal;
import fi.codecrew.moya.beans.PlaceGroupBeanLocal;
import fi.codecrew.moya.beans.SecurityLogType;
import fi.codecrew.moya.enums.apps.MapPermission;
import fi.codecrew.moya.enums.apps.SpecialPermission;
import fi.codecrew.moya.model.EventUser; import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.model.GroupMembership; import fi.codecrew.moya.model.GroupMembership;
import fi.codecrew.moya.model.LanEventProperty;
import fi.codecrew.moya.model.LanEventPropertyKey;
import fi.codecrew.moya.model.PlaceGroup; import fi.codecrew.moya.model.PlaceGroup;
import fi.codecrew.moya.model.User; import fi.codecrew.moya.model.User;
import fi.codecrew.moya.utilities.BarcodeUtils; import fi.codecrew.moya.utilities.BarcodeUtils;
import fi.codecrew.moya.utilities.I18n;
/** /**
* Session Bean implementation class PlaceGroupBean * Session Bean implementation class PlaceGroupBean
...@@ -50,6 +48,9 @@ public class PlaceGroupBean implements PlaceGroupBeanLocal { ...@@ -50,6 +48,9 @@ public class PlaceGroupBean implements PlaceGroupBeanLocal {
private EventBeanLocal eventbean; private EventBeanLocal eventbean;
@EJB @EJB
private BarcodeBeanLocal barcodeBean;
@EJB
private GroupMembershipFacade gmemfacade; private GroupMembershipFacade gmemfacade;
@EJB @EJB
private LoggingBeanLocal loggingbean; private LoggingBeanLocal loggingbean;
...@@ -134,6 +135,22 @@ public class PlaceGroupBean implements PlaceGroupBeanLocal { ...@@ -134,6 +135,22 @@ public class PlaceGroupBean implements PlaceGroupBeanLocal {
@RolesAllowed(SpecialPermission.S_USER) @RolesAllowed(SpecialPermission.S_USER)
public void getGroupMembershipPdf(EventUser usr, OutputStream ostream) { public void getGroupMembershipPdf(EventUser usr, OutputStream ostream) {
List<GroupMembership> memberships = getMembershipsAndCreations(usr); List<GroupMembership> memberships = getMembershipsAndCreations(usr);
LanEventProperty tmpProperty = eventbean.getProperty(LanEventPropertyKey.PLACECODE_FROM_USER);
boolean placecodeFromUser = false;
if (tmpProperty != null && tmpProperty.isBooleanValue())
{
placecodeFromUser = true;
}
tmpProperty = eventbean.getProperty(LanEventPropertyKey.PLACECODE_PRINT_ONLY_OWN);
boolean printOnlyOwn = false;
if (tmpProperty != null && tmpProperty.isBooleanValue())
{
printOnlyOwn = true;
}
try { try {
PDF pdf = new PDF(ostream); PDF pdf = new PDF(ostream);
Font font = new Font(pdf, CoreFont.TIMES_ROMAN); Font font = new Font(pdf, CoreFont.TIMES_ROMAN);
...@@ -149,15 +166,35 @@ public class PlaceGroupBean implements PlaceGroupBeanLocal { ...@@ -149,15 +166,35 @@ public class PlaceGroupBean implements PlaceGroupBeanLocal {
y = YSTART; y = YSTART;
} }
if(printOnlyOwn && (membership.getUser() == null || !membership.getUser().equals(usr))) {
continue;
}
// //
// PNGImage jpeg = new // PNGImage jpeg = new
// PNGImage(BarcodeBean.getBarcode(membership.getInviteToken())); // PNGImage(BarcodeBean.getBarcode(membership.getInviteToken()));
// logger.debug("Jpeg: " + jpeg.getWidth() + " h. " + // logger.debug("Jpeg: " + jpeg.getWidth() + " h. " +
// jpeg.getHeight()); // jpeg.getHeight());
if(placecodeFromUser) {
if(membership.getUser() != null) {
Image image = new Image(pdf, barcodeBean.getUserBarcode(membership.getUser()), ImageType.PNG);
image.scaleBy(0.8);
image.setPosition(50, y);
image.drawOn(page);
} else {
TextLine nouser = new TextLine(bigfont, "EMPTY PLACE" );
nouser.setPosition(85, y+10);
nouser.drawOn(page);
}
} else {
Image image = new Image(pdf, BarcodeUtils.getBarcode(membership.getInviteToken()), ImageType.PNG); Image image = new Image(pdf, BarcodeUtils.getBarcode(membership.getInviteToken()), ImageType.PNG);
image.scaleBy(0.8); image.scaleBy(0.8);
image.setPosition(50, y); image.setPosition(50, y);
image.drawOn(page); image.drawOn(page);
}
StringBuilder sb = new StringBuilder(); StringBuilder sb = new StringBuilder();
if (membership.getPlaceReservation().getName() != null) if (membership.getPlaceReservation().getName() != null)
......
...@@ -14,11 +14,8 @@ import javax.ejb.Stateless; ...@@ -14,11 +14,8 @@ import javax.ejb.Stateless;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import fi.codecrew.moya.facade.SitePageFacade;
import fi.codecrew.moya.beans.EventBeanLocal;
import fi.codecrew.moya.beans.PermissionBeanLocal;
import fi.codecrew.moya.beans.SitePageBeanLocal;
import fi.codecrew.moya.enums.apps.ContentPermission; import fi.codecrew.moya.enums.apps.ContentPermission;
import fi.codecrew.moya.facade.SitePageFacade;
import fi.codecrew.moya.model.PageContent; import fi.codecrew.moya.model.PageContent;
import fi.codecrew.moya.model.Role; import fi.codecrew.moya.model.Role;
import fi.codecrew.moya.model.SitePage; import fi.codecrew.moya.model.SitePage;
...@@ -122,6 +119,7 @@ public class SitePageBean implements SitePageBeanLocal { ...@@ -122,6 +119,7 @@ public class SitePageBean implements SitePageBeanLocal {
{ {
for (Role r : page.getAllowedRoles()) { for (Role r : page.getAllowedRoles()) {
if (roles.contains(r)) { if (roles.contains(r)) {
logger.debug("Has role for page {}, role {}", page, r);
ret = sitepagefacade.findContents(page, new Date()); ret = sitepagefacade.findContents(page, new Date());
break; break;
} }
......
...@@ -133,12 +133,13 @@ public class UserBean implements UserBeanLocal { ...@@ -133,12 +133,13 @@ public class UserBean implements UserBeanLocal {
EventUser ret = eventUserFacade.merge(user); EventUser ret = eventUserFacade.merge(user);
ctbean.checkPrintedCard(ret); ctbean.checkPrintedCard(ret);
// currentEventuser = null;
return ret; return ret;
} }
@Override @Override
public List<Role> findUsersRoles(EventUser u) { public List<Role> findUsersRoles(EventUser u) {
EventUser currusr = permbean.getCurrentUser(); EventUser currusr = permbean.getCurrentUser();
if (!currusr.equals(u) && !permbean.hasPermission(UserPermission.MODIFY)) { if (!currusr.equals(u) && !permbean.hasPermission(UserPermission.MODIFY)) {
loggerbean.logMessage(SecurityLogType.permissionDenied, permbean.getCurrentUser(), "User tried to fetc another users roles: " + u); loggerbean.logMessage(SecurityLogType.permissionDenied, permbean.getCurrentUser(), "User tried to fetc another users roles: " + u);
...@@ -149,7 +150,15 @@ public class UserBean implements UserBeanLocal { ...@@ -149,7 +150,15 @@ public class UserBean implements UserBeanLocal {
} }
// private EventUser currentEventuser;
// private ArrayList<Role> currentEventuserRoles;
public ArrayList<Role> localFindUsersRoles(EventUser u) { public ArrayList<Role> localFindUsersRoles(EventUser u) {
// if (currentEventuser != null && u.equals(currentEventuser)) {
// logger.debug("Returnin cached eventuserroles for user {}: {}",
// currentEventuser, currentEventuserRoles);
// return currentEventuserRoles;
// }
Set<Role> checkedRoles = new HashSet<Role>(); Set<Role> checkedRoles = new HashSet<Role>();
if (u != null) if (u != null)
{ {
...@@ -176,6 +185,11 @@ public class UserBean implements UserBeanLocal { ...@@ -176,6 +185,11 @@ public class UserBean implements UserBeanLocal {
} }
} }
} }
// currentEventuser = u;
// currentEventuserRoles = new ArrayList<Role>(checkedRoles);
// logger.debug("Returning parsed eventUser roles for user {}: {} ", u,
// currentEventuserRoles);
// return currentEventuserRoles;
return new ArrayList<Role>(checkedRoles); return new ArrayList<Role>(checkedRoles);
} }
......
...@@ -74,7 +74,7 @@ public class VerkkomaksutFiBean implements VerkkomaksutFiBeanLocal { ...@@ -74,7 +74,7 @@ public class VerkkomaksutFiBean implements VerkkomaksutFiBeanLocal {
LanEventPrivateProperty expire = eventbean.getPrivateProperty(LanEventPrivatePropertyKey.VERKKOMAKSU_KEY_EXPIRE); LanEventPrivateProperty expire = eventbean.getPrivateProperty(LanEventPrivatePropertyKey.VERKKOMAKSU_KEY_EXPIRE);
String merchantid = eventbean.getPrivatePropertyString(LanEventPrivatePropertyKey.VERKKOMAKSU_MERCHANT_ID); String merchantid = eventbean.getPrivatePropertyString(LanEventPrivatePropertyKey.VERKKOMAKSU_MERCHANT_ID);
String merchantPassword = eventbean.getPrivatePropertyString(LanEventPrivatePropertyKey.VERKKOMAKSU_MERCHANT_PASSWORD); String merchantPassword = eventbean.getPrivatePropertyString(LanEventPrivatePropertyKey.VERKKOMAKSU_MERCHANT_PASSWORD);
return !((expire != null && new Date().after(expire.getDateValue())) return !((expire != null && expire.getDateValue() != null && new Date().after(expire.getDateValue()))
|| merchantid == null || merchantid.isEmpty() || merchantid == null || merchantid.isEmpty()
|| merchantPassword == null || merchantPassword.isEmpty()); || merchantPassword == null || merchantPassword.isEmpty());
} }
......
...@@ -9,17 +9,18 @@ import javax.ejb.LocalBean; ...@@ -9,17 +9,18 @@ import javax.ejb.LocalBean;
import javax.ejb.Stateless; import javax.ejb.Stateless;
import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Path;
import javax.persistence.criteria.Root; import javax.persistence.criteria.Root;
import fi.codecrew.moya.model.AccountEvent_;
import fi.codecrew.moya.model.Product_;
import fi.codecrew.moya.model.Role_;
import fi.codecrew.moya.beans.EventBeanLocal; import fi.codecrew.moya.beans.EventBeanLocal;
import fi.codecrew.moya.model.AccountEvent; import fi.codecrew.moya.model.AccountEvent;
import fi.codecrew.moya.model.AccountEvent_;
import fi.codecrew.moya.model.EventUser; import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.model.LanEvent; import fi.codecrew.moya.model.LanEvent;
import fi.codecrew.moya.model.Product; import fi.codecrew.moya.model.Product;
import fi.codecrew.moya.model.Product_;
import fi.codecrew.moya.model.Role; import fi.codecrew.moya.model.Role;
import fi.codecrew.moya.model.Role_;
@Stateless @Stateless
@LocalBean @LocalBean
...@@ -36,6 +37,27 @@ public class AccountEventFacade extends IntegerPkGenericFacade<AccountEvent> { ...@@ -36,6 +37,27 @@ public class AccountEventFacade extends IntegerPkGenericFacade<AccountEvent> {
CriteriaBuilder cb = getEm().getCriteriaBuilder(); CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<Role> cq = cb.createQuery(Role.class); CriteriaQuery<Role> cq = cb.createQuery(Role.class);
Root<AccountEvent> root = cq.from(AccountEvent.class);
Path<Role> role = root.get(AccountEvent_.product).get(Product_.provides);
cq.select(role);
cq.where(
cb.equal(role.get(Role_.event), event),
cb.equal(root.get(AccountEvent_.user), u)
);
// TypedQuery<Role> q =
// em.createQuery("select distinct ac.product.provides from AccountEvent ac where ac.id.eventId = :eventid and ac.user = :user and ac.product.provides is not null",
// Role.class);
// q.setParameter("eventid", event.getId());
// q.setParameter("user", u);
return getEm().createQuery(cq).getResultList();
}
public List<Role> findProvidedRoles_OLD(LanEvent event, EventUser u) {
CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<Role> cq = cb.createQuery(Role.class);
Root<Role> root = cq.from(Role.class); Root<Role> root = cq.from(Role.class);
cq.where( cq.where(
......
package fi.codecrew.moya.facade; package fi.codecrew.moya.facade;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map;
import javax.ejb.EJB; import javax.ejb.EJB;
import javax.ejb.LocalBean; import javax.ejb.LocalBean;
...@@ -12,24 +14,23 @@ import javax.persistence.criteria.CriteriaQuery; ...@@ -12,24 +14,23 @@ import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.From; import javax.persistence.criteria.From;
import javax.persistence.criteria.Root; import javax.persistence.criteria.Root;
import fi.codecrew.moya.beans.EventBeanLocal;
import fi.codecrew.moya.enums.DatabaseHasCompare;
import fi.codecrew.moya.enums.DatabaseValueCompare;
import fi.codecrew.moya.facade.callbacks.EventLimiter; import fi.codecrew.moya.facade.callbacks.EventLimiter;
import fi.codecrew.moya.facade.callbacks.EventUserAccountSaldoPredicate; import fi.codecrew.moya.facade.callbacks.EventUserAccountSaldoPredicate;
import fi.codecrew.moya.facade.callbacks.EventUserPlacegroupPredicate; import fi.codecrew.moya.facade.callbacks.EventUserPlacegroupPredicate;
import fi.codecrew.moya.facade.callbacks.EventUserRolefilter; import fi.codecrew.moya.facade.callbacks.EventUserRolefilter;
import fi.codecrew.moya.facade.callbacks.EventUserSearchPredicate; import fi.codecrew.moya.facade.callbacks.EventUserSearchPredicate;
import fi.codecrew.moya.facade.callbacks.FacadeCallback;
import fi.codecrew.moya.facade.callbacks.OrderCallback; import fi.codecrew.moya.facade.callbacks.OrderCallback;
import fi.codecrew.moya.model.EventUser_;
import fi.codecrew.moya.model.PrintedCard_;
import fi.codecrew.moya.model.User_;
import fi.codecrew.moya.beans.EventBeanLocal;
import fi.codecrew.moya.enums.DatabaseHasCompare;
import fi.codecrew.moya.enums.DatabaseValueCompare;
import fi.codecrew.moya.model.EventUser; import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.model.PrintedCard; import fi.codecrew.moya.model.EventUser_;
import fi.codecrew.moya.model.LanEvent;
import fi.codecrew.moya.model.User; import fi.codecrew.moya.model.User;
import fi.codecrew.moya.model.User_;
import fi.codecrew.moya.util.UserSearchQuery; import fi.codecrew.moya.util.UserSearchQuery;
import fi.codecrew.moya.utilities.SearchResult; import fi.codecrew.moya.utilities.SearchResult;
import fi.codecrew.moya.utilities.jpa.FacadeCallback;
/** /**
* Session Bean implementation class EventUserFacade * Session Bean implementation class EventUserFacade
...@@ -45,37 +46,63 @@ public class EventUserFacade extends IntegerPkGenericFacade<EventUser> { ...@@ -45,37 +46,63 @@ public class EventUserFacade extends IntegerPkGenericFacade<EventUser> {
super(EventUser.class); super(EventUser.class);
} }
public EventUser findByLogin(String login) { private final Map<Integer, Map<String, Integer>> logincache = new HashMap<Integer, Map<String, Integer>>();
public EventUser findByLogin(final String login) {
LanEvent event = eventBean.getCurrentEvent();
EventUser ret;
if ((ret = checkCache(login, event)) == null)
{
CriteriaBuilder cb = getEm().getCriteriaBuilder(); CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<EventUser> cq = cb.createQuery(EventUser.class); CriteriaQuery<EventUser> cq = cb.createQuery(EventUser.class);
Root<EventUser> root = cq.from(EventUser.class); Root<EventUser> root = cq.from(EventUser.class);
cq.where( cq.where(
cb.equal(root.get(EventUser_.user).get(User_.login), login), cb.equal(root.get(EventUser_.user).get(User_.login), login),
cb.equal(root.get(EventUser_.event), cb.equal(root.get(EventUser_.event),
eventBean.getCurrentEvent())); event));
ret = getSingleNullableResult(getEm().createQuery(cq));
if (ret != null)
logincache.get(event.getId()).put(ret.getLogin(), ret.getId());
}
return ret;
}
private EventUser checkCache(final String login, final LanEvent event) {
if (!logincache.containsKey(event.getId()))
logincache.put(event.getId(), new HashMap<String, Integer>());
Integer euId = null;
EventUser ret = null;
if ((euId = logincache.get(event.getId()).get(login)) != null) {
ret = this.find(euId);
}
return ret;
return getSingleNullableResult(getEm().createQuery(cq));
} }
public EventUser find(User user) { public EventUser find(User user) {
LanEvent event = eventBean.getCurrentEvent();
EventUser ret;
if ((ret = checkCache(user.getLogin(), event)) == null)
{
CriteriaBuilder cb = getEm().getCriteriaBuilder(); CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<EventUser> cq = cb.createQuery(EventUser.class); CriteriaQuery<EventUser> cq = cb.createQuery(EventUser.class);
Root<EventUser> root = cq.from(EventUser.class); Root<EventUser> root = cq.from(EventUser.class);
cq.where( cq.where(
cb.equal(root.get(EventUser_.user), user), cb.equal(root.get(EventUser_.user), user),
cb.equal(root.get(EventUser_.event), cb.equal(root.get(EventUser_.event), event));
eventBean.getCurrentEvent()));
return getSingleNullableResult(getEm().createQuery(cq));
ret = getSingleNullableResult(getEm().createQuery(cq));
}
return ret;
} }
public List<EventUser> findAll() { public List<EventUser> findAll() {
CriteriaBuilder cb = getEm().getCriteriaBuilder(); CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<EventUser> cq = cb.createQuery(EventUser.class); CriteriaQuery<EventUser> cq = cb.createQuery(EventUser.class);
Root<EventUser> root = cq.from(EventUser.class); Root<EventUser> root = cq.from(EventUser.class);
cq.where(cb.equal(root.get(EventUser_.event), cq.where(cb.equal(root.get(EventUser_.event), eventBean.getCurrentEvent()));
eventBean.getCurrentEvent()));
return getEm().createQuery(cq).getResultList(); return getEm().createQuery(cq).getResultList();
} }
......
package fi.codecrew.moya.facade; package fi.codecrew.moya.facade;
import java.util.Calendar;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
...@@ -11,11 +10,10 @@ import javax.persistence.criteria.CriteriaBuilder; ...@@ -11,11 +10,10 @@ import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root; import javax.persistence.criteria.Root;
import fi.codecrew.moya.model.FoodWaveTemplate_;
import fi.codecrew.moya.model.FoodWave_;
import fi.codecrew.moya.model.OrgRole_;
import fi.codecrew.moya.beans.EventBeanLocal; import fi.codecrew.moya.beans.EventBeanLocal;
import fi.codecrew.moya.model.FoodWave; import fi.codecrew.moya.model.FoodWave;
import fi.codecrew.moya.model.FoodWaveTemplate_;
import fi.codecrew.moya.model.FoodWave_;
@Stateless @Stateless
@LocalBean @LocalBean
...@@ -32,7 +30,7 @@ public class FoodWaveFacade extends IntegerPkGenericFacade<FoodWave> { ...@@ -32,7 +30,7 @@ public class FoodWaveFacade extends IntegerPkGenericFacade<FoodWave> {
CriteriaBuilder cb = getEm().getCriteriaBuilder(); CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<FoodWave> cq = cb.createQuery(FoodWave.class); CriteriaQuery<FoodWave> cq = cb.createQuery(FoodWave.class);
Root<FoodWave> root = cq.from(FoodWave.class); Root<FoodWave> root = cq.from(FoodWave.class);
cq.where( cb.equal(root.get(FoodWave_.template).get(FoodWaveTemplate_.event), eventBean.getCurrentEvent())); cq.where(cb.equal(root.get(FoodWave_.template).get(FoodWaveTemplate_.event), eventBean.getCurrentEvent()));
return getEm().createQuery(cq).getResultList(); return getEm().createQuery(cq).getResultList();
} }
......
...@@ -3,6 +3,7 @@ package fi.codecrew.moya.facade; ...@@ -3,6 +3,7 @@ package fi.codecrew.moya.facade;
import javax.persistence.EntityManager; import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext; import javax.persistence.PersistenceContext;
import fi.codecrew.moya.utilities.jpa.GenericFacade;
import fi.codecrew.moya.utilities.jpa.ModelInterface; import fi.codecrew.moya.utilities.jpa.ModelInterface;
/** /**
......
...@@ -15,7 +15,6 @@ import javax.persistence.metamodel.SingularAttribute; ...@@ -15,7 +15,6 @@ import javax.persistence.metamodel.SingularAttribute;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import fi.codecrew.moya.facade.callbacks.FacadeCallback;
import fi.codecrew.moya.facade.callbacks.OrderCallback; import fi.codecrew.moya.facade.callbacks.OrderCallback;
import fi.codecrew.moya.facade.callbacks.StringSearchPredicateCreator; import fi.codecrew.moya.facade.callbacks.StringSearchPredicateCreator;
import fi.codecrew.moya.model.User_; import fi.codecrew.moya.model.User_;
...@@ -23,6 +22,7 @@ import fi.codecrew.moya.beans.EventBeanLocal; ...@@ -23,6 +22,7 @@ import fi.codecrew.moya.beans.EventBeanLocal;
import fi.codecrew.moya.model.User; import fi.codecrew.moya.model.User;
import fi.codecrew.moya.utilities.SearchQuery; import fi.codecrew.moya.utilities.SearchQuery;
import fi.codecrew.moya.utilities.SearchResult; import fi.codecrew.moya.utilities.SearchResult;
import fi.codecrew.moya.utilities.jpa.FacadeCallback;
@Stateless @Stateless
@LocalBean @LocalBean
......
...@@ -9,6 +9,7 @@ import javax.persistence.criteria.From; ...@@ -9,6 +9,7 @@ import javax.persistence.criteria.From;
import javax.persistence.criteria.Predicate; import javax.persistence.criteria.Predicate;
import javax.persistence.metamodel.SingularAttribute; import javax.persistence.metamodel.SingularAttribute;
import fi.codecrew.moya.utilities.jpa.FacadeCallback;
import fi.codecrew.moya.utilities.jpa.ModelInterface; import fi.codecrew.moya.utilities.jpa.ModelInterface;
public class AndPredicateCreator<A, T extends ModelInterface> implements FacadeCallback<T> { public class AndPredicateCreator<A, T extends ModelInterface> implements FacadeCallback<T> {
......
...@@ -10,6 +10,7 @@ import javax.persistence.criteria.Predicate; ...@@ -10,6 +10,7 @@ import javax.persistence.criteria.Predicate;
import fi.codecrew.moya.model.EventUser_; import fi.codecrew.moya.model.EventUser_;
import fi.codecrew.moya.model.EventUser; import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.model.LanEvent; import fi.codecrew.moya.model.LanEvent;
import fi.codecrew.moya.utilities.jpa.FacadeCallback;
public class EventLimiter implements FacadeCallback<EventUser> { public class EventLimiter implements FacadeCallback<EventUser> {
......
...@@ -14,6 +14,7 @@ import fi.codecrew.moya.model.AccountEvent_; ...@@ -14,6 +14,7 @@ import fi.codecrew.moya.model.AccountEvent_;
import fi.codecrew.moya.enums.DatabaseValueCompare; import fi.codecrew.moya.enums.DatabaseValueCompare;
import fi.codecrew.moya.model.AccountEvent; import fi.codecrew.moya.model.AccountEvent;
import fi.codecrew.moya.model.EventUser; import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.utilities.jpa.FacadeCallback;
public class EventUserAccountSaldoPredicate implements FacadeCallback<EventUser> { public class EventUserAccountSaldoPredicate implements FacadeCallback<EventUser> {
private final DatabaseValueCompare compare; private final DatabaseValueCompare compare;
......
...@@ -9,6 +9,7 @@ import javax.persistence.criteria.Predicate; ...@@ -9,6 +9,7 @@ import javax.persistence.criteria.Predicate;
import fi.codecrew.moya.model.EventUser_; import fi.codecrew.moya.model.EventUser_;
import fi.codecrew.moya.model.EventUser; import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.utilities.jpa.FacadeCallback;
public class EventUserPlacegroupPredicate implements FacadeCallback<EventUser> { public class EventUserPlacegroupPredicate implements FacadeCallback<EventUser> {
......
...@@ -25,6 +25,7 @@ import fi.codecrew.moya.model.Product_; ...@@ -25,6 +25,7 @@ import fi.codecrew.moya.model.Product_;
import fi.codecrew.moya.model.Role_; import fi.codecrew.moya.model.Role_;
import fi.codecrew.moya.model.EventUser; import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.model.Role; import fi.codecrew.moya.model.Role;
import fi.codecrew.moya.utilities.jpa.FacadeCallback;
public class EventUserRolefilter implements FacadeCallback<EventUser> { public class EventUserRolefilter implements FacadeCallback<EventUser> {
......
...@@ -11,6 +11,7 @@ import javax.persistence.metamodel.SingularAttribute; ...@@ -11,6 +11,7 @@ import javax.persistence.metamodel.SingularAttribute;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import fi.codecrew.moya.utilities.jpa.FacadeCallback;
import fi.codecrew.moya.utilities.jpa.ModelInterface; import fi.codecrew.moya.utilities.jpa.ModelInterface;
public class OrPredicateCreator<A, T extends ModelInterface> implements FacadeCallback<T> { public class OrPredicateCreator<A, T extends ModelInterface> implements FacadeCallback<T> {
......
...@@ -9,6 +9,7 @@ import javax.persistence.criteria.Path; ...@@ -9,6 +9,7 @@ import javax.persistence.criteria.Path;
import javax.persistence.criteria.Predicate; import javax.persistence.criteria.Predicate;
import javax.persistence.metamodel.SingularAttribute; import javax.persistence.metamodel.SingularAttribute;
import fi.codecrew.moya.utilities.jpa.FacadeCallback;
import fi.codecrew.moya.utilities.jpa.ModelInterface; import fi.codecrew.moya.utilities.jpa.ModelInterface;
public class OrderCallback<T extends ModelInterface> implements FacadeCallback<T> { public class OrderCallback<T extends ModelInterface> implements FacadeCallback<T> {
......
...@@ -10,6 +10,7 @@ import javax.persistence.criteria.Path; ...@@ -10,6 +10,7 @@ import javax.persistence.criteria.Path;
import javax.persistence.criteria.Predicate; import javax.persistence.criteria.Predicate;
import javax.persistence.metamodel.SingularAttribute; import javax.persistence.metamodel.SingularAttribute;
import fi.codecrew.moya.utilities.jpa.FacadeCallback;
import fi.codecrew.moya.utilities.jpa.ModelInterface; import fi.codecrew.moya.utilities.jpa.ModelInterface;
public abstract class PathStringSearchPredicateCreator<T extends ModelInterface, D extends ModelInterface> implements FacadeCallback<T> { public abstract class PathStringSearchPredicateCreator<T extends ModelInterface, D extends ModelInterface> implements FacadeCallback<T> {
......
...@@ -12,7 +12,6 @@ ...@@ -12,7 +12,6 @@
<attribute name="maven.pomderived" value="true"/> <attribute name="maven.pomderived" value="true"/>
</attributes> </attributes>
</classpathentry> </classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
<attributes> <attributes>
<attribute name="maven.pomderived" value="true"/> <attribute name="maven.pomderived" value="true"/>
</attributes> </attributes>
...@@ -24,4 +23,9 @@ ...@@ -24,4 +23,9 @@
</attributes> </attributes>
</classpathentry> </classpathentry>
<classpathentry kind="output" path="target/classes"/> <classpathentry kind="output" path="target/classes"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
<attributes>
<attribute name="owner.project.facets" value="java"/>
</attributes>
</classpathentry>
</classpath> </classpath>
eclipse.preferences.version=1 eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.compliance=1.6 org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.source=1.6 org.eclipse.jdt.core.compiler.source=1.7
...@@ -3,5 +3,5 @@ ...@@ -3,5 +3,5 @@
<fixed facet="java"/> <fixed facet="java"/>
<fixed facet="jst.utility"/> <fixed facet="jst.utility"/>
<installed facet="jst.utility" version="1.0"/> <installed facet="jst.utility" version="1.0"/>
<installed facet="java" version="1.6"/> <installed facet="java" version="1.7"/>
</faceted-project> </faceted-project>
...@@ -5,12 +5,16 @@ import java.io.InputStream; ...@@ -5,12 +5,16 @@ import java.io.InputStream;
import javax.ejb.Local; import javax.ejb.Local;
import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.model.PrintedCard; import fi.codecrew.moya.model.PrintedCard;
@Local @Local
public interface BarcodeBeanLocal { public interface BarcodeBeanLocal {
public PrintedCard getPrintedCard(String barcode) ; public PrintedCard getPrintedCard(String barcode) ;
public EventUser getUser(String barcode);
public InputStream getUserBarcode(EventUser user) throws IOException;
public InputStream getCardBarcode(PrintedCard printedCard) throws IOException; public InputStream getCardBarcode(PrintedCard printedCard) throws IOException;
} }
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<classpath> <classpath>
<classpathentry kind="src" path="src"/> <classpathentry kind="src" path="src"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
<classpathentry kind="output" path="bin"/> <classpathentry kind="output" path="bin"/>
</classpath> </classpath>
eclipse.preferences.version=1 eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.6 org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.6 org.eclipse.jdt.core.compiler.source=1.7
...@@ -6,6 +6,7 @@ import java.io.IOException; ...@@ -6,6 +6,7 @@ import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.util.HashSet; import java.util.HashSet;
import java.util.Set; import java.util.Set;
import java.util.logging.Logger;
import javax.print.DocFlavor; import javax.print.DocFlavor;
import javax.print.DocPrintJob; import javax.print.DocPrintJob;
...@@ -32,6 +33,8 @@ public class CardPrinter { ...@@ -32,6 +33,8 @@ public class CardPrinter {
protected PrintService printService; protected PrintService printService;
private static final Logger log = LoggerFactory.getLogger(CardPrinter.class);
// private static final Logger logger = // private static final Logger logger =
// LoggerFactory.getLogger(CardPrinter.class); // LoggerFactory.getLogger(CardPrinter.class);
......
...@@ -6,15 +6,16 @@ ...@@ -6,15 +6,16 @@
<attribute name="maven.pomderived" value="true"/> <attribute name="maven.pomderived" value="true"/>
</attributes> </attributes>
</classpathentry> </classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"> <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes> <attributes>
<attribute name="maven.pomderived" value="true"/> <attribute name="maven.pomderived" value="true"/>
</attributes> </attributes>
</classpathentry> </classpathentry>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> <classpathentry kind="output" path="target/classes"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
<attributes> <attributes>
<attribute name="maven.pomderived" value="true"/> <attribute name="owner.project.facets" value="java"/>
</attributes> </attributes>
</classpathentry> </classpathentry>
<classpathentry kind="output" path="target/classes"/> <classpathentry kind="output" path="build/classes"/>
</classpath> </classpath>
eclipse.preferences.version=1 eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.6 org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.source=1.6 org.eclipse.jdt.core.compiler.source=1.7
org.eclipse.jdt.core.formatter.align_type_members_on_columns=false org.eclipse.jdt.core.formatter.align_type_members_on_columns=false
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0 org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
......
...@@ -4,6 +4,6 @@ ...@@ -4,6 +4,6 @@
<fixed facet="jst.java"/> <fixed facet="jst.java"/>
<fixed facet="jpt.jpa"/> <fixed facet="jpt.jpa"/>
<installed facet="jpt.jpa" version="2.0"/> <installed facet="jpt.jpa" version="2.0"/>
<installed facet="jst.java" version="1.6"/>
<installed facet="jst.web" version="3.0"/> <installed facet="jst.web" version="3.0"/>
<installed facet="jst.java" version="1.7"/>
</faceted-project> </faceted-project>
...@@ -6,6 +6,7 @@ import javax.persistence.GenerationType; ...@@ -6,6 +6,7 @@ import javax.persistence.GenerationType;
import javax.persistence.Id; import javax.persistence.Id;
import javax.persistence.MappedSuperclass; import javax.persistence.MappedSuperclass;
import fi.codecrew.moya.utilities.jpa.EntityEquals;
import fi.codecrew.moya.utilities.jpa.ModelInterface; import fi.codecrew.moya.utilities.jpa.ModelInterface;
@MappedSuperclass @MappedSuperclass
......
...@@ -8,7 +8,10 @@ public enum LanEventPropertyKey { ...@@ -8,7 +8,10 @@ public enum LanEventPropertyKey {
PORTAL_EMAIL_NAME(Type.TEXT, "Streamparty intranet"), PORTAL_EMAIL_NAME(Type.TEXT, "Streamparty intranet"),
ADMIN_MAIL(Type.TEXT, "intra@streamparty.org"), ADMIN_MAIL(Type.TEXT, "intra@streamparty.org"),
EVENT_LAYOUT(Type.TEXT, "template1"), EVENT_LAYOUT(Type.TEXT, "template1"),
SHOP_DEFAULT_CASH(Type.BOOL, null), ; SHOP_DEFAULT_CASH(Type.BOOL, null),
PLACECODE_FROM_USER(Type.BOOL, null),
PLACECODE_PRINT_ONLY_OWN(Type.BOOL, null),
;
private enum Type { private enum Type {
TEXT, DATE, DATA, BOOL TEXT, DATE, DATA, BOOL
}; };
...@@ -29,7 +32,7 @@ public enum LanEventPropertyKey { ...@@ -29,7 +32,7 @@ public enum LanEventPropertyKey {
} }
public boolean isBoolean() { public boolean isBoolean() {
return Type.DATA.equals(type); return Type.BOOL.equals(type);
} }
private LanEventPropertyKey(Type t, String def) private LanEventPropertyKey(Type t, String def)
......
...@@ -50,6 +50,7 @@ public class Place extends GenericEntity { ...@@ -50,6 +50,7 @@ public class Place extends GenericEntity {
private String details = ""; private String details = "";
@Column(name = "place_code") @Column(name = "place_code")
private String code = ""; private String code = "";
@OneToOne(mappedBy = "placeReservation") @OneToOne(mappedBy = "placeReservation")
private GroupMembership placeReserver; private GroupMembership placeReserver;
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
<attribute name="maven.pomderived" value="true"/> <attribute name="maven.pomderived" value="true"/>
</attributes> </attributes>
</classpathentry> </classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/OracleJDK 1.7u15">
<attributes> <attributes>
<attribute name="maven.pomderived" value="true"/> <attribute name="maven.pomderived" value="true"/>
</attributes> </attributes>
......
eclipse.preferences.version=1 eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.6 org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.source=1.6 org.eclipse.jdt.core.compiler.source=1.7
...@@ -3,8 +3,8 @@ ...@@ -3,8 +3,8 @@
<fixed facet="wst.jsdt.web"/> <fixed facet="wst.jsdt.web"/>
<fixed facet="jst.web"/> <fixed facet="jst.web"/>
<fixed facet="java"/> <fixed facet="java"/>
<installed facet="java" version="1.6"/>
<installed facet="jst.web" version="3.0"/> <installed facet="jst.web" version="3.0"/>
<installed facet="sun.facet" version="9"/> <installed facet="sun.facet" version="9"/>
<installed facet="wst.jsdt.web" version="1.0"/> <installed facet="wst.jsdt.web" version="1.0"/>
<installed facet="java" version="1.7"/>
</faceted-project> </faceted-project>
...@@ -6,11 +6,6 @@ ...@@ -6,11 +6,6 @@
<attribute name="maven.pomderived" value="true"/> <attribute name="maven.pomderived" value="true"/>
</attributes> </attributes>
</classpathentry> </classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes> <attributes>
<attribute name="maven.pomderived" value="true"/> <attribute name="maven.pomderived" value="true"/>
...@@ -18,4 +13,10 @@ ...@@ -18,4 +13,10 @@
</attributes> </attributes>
</classpathentry> </classpathentry>
<classpathentry kind="output" path="target/classes"/> <classpathentry kind="output" path="target/classes"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
<attributes>
<attribute name="owner.project.facets" value="java"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="build/classes"/>
</classpath> </classpath>
eclipse.preferences.version=1 eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.6 org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.debug.lineNumber=generate org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.source=1.6 org.eclipse.jdt.core.compiler.source=1.7
...@@ -2,6 +2,6 @@ ...@@ -2,6 +2,6 @@
<faceted-project> <faceted-project>
<fixed facet="jst.java"/> <fixed facet="jst.java"/>
<fixed facet="jst.utility"/> <fixed facet="jst.utility"/>
<installed facet="jst.java" version="6.0"/>
<installed facet="jst.utility" version="1.0"/> <installed facet="jst.utility" version="1.0"/>
<installed facet="jst.java" version="1.7"/>
</faceted-project> </faceted-project>
package fi.codecrew.moya.model; package fi.codecrew.moya.utilities.jpa;
import java.util.Date; import java.util.Date;
import java.util.Random; import java.util.Random;
......
package fi.codecrew.moya.facade.callbacks; package fi.codecrew.moya.utilities.jpa;
import java.util.List; import java.util.List;
...@@ -7,7 +7,6 @@ import javax.persistence.criteria.CriteriaQuery; ...@@ -7,7 +7,6 @@ import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.From; import javax.persistence.criteria.From;
import javax.persistence.criteria.Predicate; import javax.persistence.criteria.Predicate;
import fi.codecrew.moya.utilities.jpa.ModelInterface;
public interface FacadeCallback<C extends ModelInterface> { public interface FacadeCallback<C extends ModelInterface> {
......
package fi.codecrew.moya.facade; package fi.codecrew.moya.utilities.jpa;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Collections; import java.util.Collections;
...@@ -14,10 +14,8 @@ import javax.persistence.criteria.Path; ...@@ -14,10 +14,8 @@ import javax.persistence.criteria.Path;
import javax.persistence.criteria.Predicate; import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root; import javax.persistence.criteria.Root;
import fi.codecrew.moya.facade.callbacks.FacadeCallback;
import fi.codecrew.moya.utilities.SearchQuery; import fi.codecrew.moya.utilities.SearchQuery;
import fi.codecrew.moya.utilities.SearchResult; import fi.codecrew.moya.utilities.SearchResult;
import fi.codecrew.moya.utilities.jpa.ModelInterface;
public abstract class GenericFacade<C extends ModelInterface> { public abstract class GenericFacade<C extends ModelInterface> {
......
...@@ -6,11 +6,6 @@ ...@@ -6,11 +6,6 @@
<attribute name="maven.pomderived" value="true"/> <attribute name="maven.pomderived" value="true"/>
</attributes> </attributes>
</classpathentry> </classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6">
<attributes>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER"> <classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
<attributes> <attributes>
<attribute name="maven.pomderived" value="true"/> <attribute name="maven.pomderived" value="true"/>
...@@ -18,4 +13,12 @@ ...@@ -18,4 +13,12 @@
</attributes> </attributes>
</classpathentry> </classpathentry>
<classpathentry kind="output" path="target/classes"/> <classpathentry kind="output" path="target/classes"/>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.web.container"/>
<classpathentry kind="con" path="org.eclipse.jst.j2ee.internal.module.container"/>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7">
<attributes>
<attribute name="owner.project.facets" value="java"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="build/classes"/>
</classpath> </classpath>
eclipse.preferences.version=1 eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6 org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.compliance=1.6 org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
org.eclipse.jdt.core.compiler.source=1.6 org.eclipse.jdt.core.compiler.source=1.7
...@@ -3,8 +3,8 @@ ...@@ -3,8 +3,8 @@
<fixed facet="jst.web"/> <fixed facet="jst.web"/>
<fixed facet="java"/> <fixed facet="java"/>
<fixed facet="wst.jsdt.web"/> <fixed facet="wst.jsdt.web"/>
<installed facet="java" version="1.6"/>
<installed facet="jst.web" version="3.0"/> <installed facet="jst.web" version="3.0"/>
<installed facet="sun.facet" version="9"/> <installed facet="sun.facet" version="9"/>
<installed facet="wst.jsdt.web" version="1.0"/> <installed facet="wst.jsdt.web" version="1.0"/>
<installed facet="java" version="1.7"/>
</faceted-project> </faceted-project>
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
id="WebApp_ID" version="3.0">
<display-name>LanBortalWeb</display-name> <display-name>LanBortalWeb</display-name>
<session-config> <session-config>
<session-timeout>120</session-timeout> <session-timeout>120</session-timeout>
</session-config> </session-config>
<context-param> <context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name> <param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value> <!-- Production | Development -->
<!-- <param-value>Production</param-value> --> <param-value>Production</param-value>
</context-param> </context-param>
<context-param> <context-param>
<param-name>javax.faces.FACELETS_SKIP_COMMENTS</param-name> <param-name>javax.faces.FACELETS_SKIP_COMMENTS</param-name>
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
template="/layout/#{sessionHandler.fullscreen}/template.xhtml"> template="/layout/#{sessionHandler.fullscreen}/template.xhtml">
<f:metadata> <f:metadata>
<f:event type="preRenderView" listener="#{barcodeView.initView}" /> <f:event type="preRenderView" listener="#{incomingView.initView}" />
</f:metadata> </f:metadata>
<f:metadata> <f:metadata>
<f:event type="preRenderView" listener="#{readerListDataView.initView}" /> <f:event type="preRenderView" listener="#{readerListDataView.initView}" />
...@@ -27,36 +27,7 @@ ...@@ -27,36 +27,7 @@
<br /> <br />
<br /> <br />
<!-- reader eventtiles --> <reader:barcode_and_rfid selectvalue="#{i18n['barcodeReader.readBarcode']}" selectaction="#{incomingView.selectUser}" />
<h:form>
<p:poll interval="3" />
<ui:repeat value="#{readerView.readerEvents}" var="event" >
<h:link styleClass="userimagetile" outcome="/admin/incoming/printCard"
rendered="#{!empty event.printedCard.user}">
<div>
<img
src="#{request.contextPath}/dydata/userimage/#{event.printedCard.user.currentImage.id}.img" />
<br />
<h:outputText styleClass="usertilenick"
value="#{event.printedCard.user.nick}" />
<br />
<h:outputText value="#{event.printedCard.user.wholeName}" />
<br />
<ui:repeat
value="#{readerView.getUserRoles(event.printedCard.user)}"
var="role">
<h:outputText value="#{role.name}" />
<br />
</ui:repeat>
</div>
<f:param name="userid" value="#{event.printedCard.user.user.id}" />
</h:link>
</ui:repeat>
</h:form>
...@@ -66,9 +37,7 @@ ...@@ -66,9 +37,7 @@
<reader:readerlisttiles /> <reader:readerlisttiles />
<br /> <br />
<h:form>
<reader:barcode selectvalue="#{i18n['barcodeReader.readBarcode']}" selectaction="#{barcodeView.readBarcode}" />
</h:form>
</ui:define> </ui:define>
</ui:composition> </ui:composition>
......
<!DOCTYPE html <!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" <html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core" xmlns:c="http://java.sun.com/jsp/jstl/core" xmlns:p="http://primefaces.org/ui" xmlns:shop="http://java.sun.com/jsf/composite/cditools/shop" xmlns:reader="http://java.sun.com/jsf/composite/cditools/reader"
xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:tools="http://java.sun.com/jsf/composite/cditools" xmlns:user="http://java.sun.com/jsf/composite/cditools/user">
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jsp/jstl/core"
xmlns:p="http://primefaces.org/ui"
xmlns:shop="http://java.sun.com/jsf/composite/cditools/shop"
xmlns:reader="http://java.sun.com/jsf/composite/cditools/reader"
xmlns:tools="http://java.sun.com/jsf/composite/cditools"
xmlns:user="http://java.sun.com/jsf/composite/cditools/user">
<h:body> <h:body>
<ui:composition <ui:composition template="/layout/#{sessionHandler.fullscreen}/template.xhtml">
template="/layout/#{sessionHandler.fullscreen}/template.xhtml">
<f:metadata> <f:metadata>
<f:viewParam name="userid" value="#{userView.userid}" /> <f:viewParam name="userid" value="#{userView.userid}" />
<f:event type="preRenderView" listener="#{incomingView.initView}" /> <f:event type="preRenderView" listener="#{userView.initView}" />
<f:event type="preRenderView" listener="#{userView.prepareCardDownload}" />
</f:metadata> </f:metadata>
<ui:define name="content"> <ui:define name="content">
<h:outputText value="#{userView.user.user.login}" /> <h:outputScript library="primefaces" name="jquery/jquery.js" target="head" />
<h:form>
<user:edit commitaction="#{userCartView.saveUser()}" commitvalue="#{i18n['user.save']}" /> <user:edit commitaction="#{incomingView.saveUser()}" commitvalue="#{i18n['user.save']}" />
<br />
<br />
<br />
<h:form>
<p:imageCropper value="#{userView.croppedImage}" aspectRatio="0.7317073170731707" image="/dydata/userimage/#{userView.user.currentImage.id}.jpg" />
<h:commandButton action="#{userView.crop}" value="#{i18n['user.cropImage']}" />
</h:form>
<br />
<br />
<h:form>
<user:previewAndPrintCard />
<p:commandButton action="#{userView.acceptPrintedCard()}" value="accept printed card" />
</h:form> </h:form>
</ui:define> </ui:define>
......
...@@ -15,7 +15,7 @@ ...@@ -15,7 +15,7 @@
template="/layout/#{sessionHandler.fullscreen}/template.xhtml"> template="/layout/#{sessionHandler.fullscreen}/template.xhtml">
<f:metadata> <f:metadata>
<f:event type="preRenderView" listener="#{barcodeView.initView}" /> <f:event type="preRenderView" listener="#{infoView.initView}" />
</f:metadata> </f:metadata>
<f:metadata> <f:metadata>
<f:event type="preRenderView" listener="#{readerListDataView.initView}" /> <f:event type="preRenderView" listener="#{readerListDataView.initView}" />
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
<reader:readerlisttiles /> <reader:readerlisttiles />
<br /> <br />
<h:form> <h:form>
<reader:barcode selectvalue="#{i18n['barcodeReader.readBarcode']}" selectaction="#{barcodeView.readBarcode}" /> <reader:barcode selectvalue="#{i18n['barcodeReader.readBarcode']}" selectaction="#{infoView.selectUser}" />
</h:form> </h:form>
</ui:define> </ui:define>
......
...@@ -77,6 +77,8 @@ ...@@ -77,6 +77,8 @@
<h:column> <h:column>
<f:facet name="header">#{i18n['lanEventProperty.value']}</f:facet> <f:facet name="header">#{i18n['lanEventProperty.value']}</f:facet>
<h:outputText rendered="#{prop.key.text}" value="#{prop.textvalue}" /> <h:outputText rendered="#{prop.key.text}" value="#{prop.textvalue}" />
<h:outputText rendered="#{prop.key.boolean and prop.booleanValue}" value="true" />
<h:outputText rendered="#{prop.key.boolean and not prop.booleanValue}" value="false" />
<h:outputText rendered="#{prop.key.date}" value="#{prop.dateValue}"> <h:outputText rendered="#{prop.key.date}" value="#{prop.dateValue}">
<f:convertDateTime pattern="#{sessionHandler.datetimeFormat}" timeZone="#{sessionHandler.timezone}" /> <f:convertDateTime pattern="#{sessionHandler.datetimeFormat}" timeZone="#{sessionHandler.timezone}" />
</h:outputText> </h:outputText>
...@@ -124,6 +126,10 @@ ...@@ -124,6 +126,10 @@
<p:calendar rendered="#{eventPropertyView.property.key.date}" value="#{eventPropertyView.property.dateValue}" pattern="#{sessionHandler.datetimeFormat}" /> <p:calendar rendered="#{eventPropertyView.property.key.date}" value="#{eventPropertyView.property.dateValue}" pattern="#{sessionHandler.datetimeFormat}" />
<h:message rendered="#{eventPropertyView.property.key.date}" for="textval" /> <h:message rendered="#{eventPropertyView.property.key.date}" for="textval" />
<h:outputLabel rendered="#{eventPropertyView.property.key.boolean}" for="booleanval" value="#{i18n['lanEventProperty.booleanValue']}" />
<h:selectBooleanCheckbox rendered="#{eventPropertyView.property.key.boolean}" id="booleanval" value="#{eventPropertyView.property.booleanValue}" />
<h:message rendered="#{eventPropertyView.property.key.boolean}" for="booleanval" />
</h:panelGrid> </h:panelGrid>
<h:commandButton action="#{eventPropertyView.saveProperty}" value="#{i18n['lanEventProperty.save']}" /> <h:commandButton action="#{eventPropertyView.saveProperty}" value="#{i18n['lanEventProperty.save']}" />
</h:form> </h:form>
......
...@@ -17,7 +17,7 @@ ...@@ -17,7 +17,7 @@
<composite:implementation> <composite:implementation>
<h:form id="shoppingcartform"> <h:form id="shoppingcartform">
<h:panelGrid columns="2"> <h:panelGrid columns="2" style="width:100%;" columnClasses="shopProductbuttons,topalign">
<h:panelGroup> <h:panelGroup>
<div id="shopItems"> <div id="shopItems">
...@@ -30,7 +30,7 @@ ...@@ -30,7 +30,7 @@
<h:outputText value="#{cart.product.price}"> <h:outputText value="#{cart.product.price}">
<f:convertNumber maxFractionDigits="2" minFractionDigits="2" /> <f:convertNumber maxFractionDigits="2" minFractionDigits="2" />
</h:outputText> </h:outputText>
eur
</div> </div>
</h:commandLink> </h:commandLink>
</ui:repeat> </ui:repeat>
...@@ -75,7 +75,7 @@ ...@@ -75,7 +75,7 @@
<f:facet name="header"> <f:facet name="header">
<h:outputText value="#{i18n['shop.actions']}" /> <h:outputText value="#{i18n['shop.actions']}" />
</f:facet> </f:facet>
<h:commandButton action="#{productShopView.removeBought()}" value="Poista" /> <p:commandButton action="#{productShopView.removeBought()}" update="@form" value="Poista" />
</p:column> </p:column>
</p:dataTable> </p:dataTable>
......
...@@ -24,11 +24,6 @@ ...@@ -24,11 +24,6 @@
<h:outputScript library="primefaces" name="jquery/jquery.js" <h:outputScript library="primefaces" name="jquery/jquery.js"
target="head" /> target="head" />
<!-- <h2>
<h:outputText rendered="#{!cc.attrs.creating}" disabled="#{!cc.attrs.creating and !userView.canSave}" id="viewlogin" value="#{userView.selectedUser.login}" />
</h2>
-->
<h:panelGrid columns="2"> <h:panelGrid columns="2">
<h:panelGroup> <h:panelGroup>
......
<?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:p="http://primefaces.org/ui">
<composite:interface>
</composite:interface>
<composite:implementation>
<p:commandButton action="#{userView.prepareCardDownload()}" rendered="#{userView.waitForAcceptance==false}" value="print card" ajax="true" update="@form" onclick="PrimeFaces.monitorDownload(start, stop)">
<p:fileDownload value="#{userView.streamedFile}" />
</p:commandButton>
</composite:implementation>
</html>
...@@ -38,7 +38,7 @@ td span span div.rating-cancel { ...@@ -38,7 +38,7 @@ td span span div.rating-cancel {
} }
#login { #login {
width: 385px; width: 388px;
height: 23px; height: 23px;
float: right; float: right;
margin-top: 10px; margin-top: 10px;
...@@ -57,22 +57,44 @@ td span span div.rating-cancel { ...@@ -57,22 +57,44 @@ td span span div.rating-cancel {
height: 23px; height: 23px;
color: #fff; color: #fff;
border: 0px; border: 0px;
padding-left: 10px; padding: 0 0 0 10px;
} }
#header #login .ui-state-default
{
/*color: #4f4f4f;*/
}
#header #login input
{
-webkit-box-shadow: none;
}
#header #login button
{
border-radius: 14px;
-webkit-border-radius: 14px;
}
#header #login span
{
padding: .4em .5em;
line-height: 1;
font-size: 12px;
}
.button { .button {
background: url('../img/button.png') no-repeat; /* background: url('../img/button.png') no-repeat;
width: 100px; width: 100px;
text-align: center; text-align: center;
border: 0px; border: 0px;
height: 23px; height: 23px;
color: #fff; color: #fff;
padding: 0px; padding: 0px;*/
} }
.button:hover { .button:hover {
background: url('../img/button2.png') no-repeat; /*background: url('../img/button2.png') no-repeat;
cursor: pointer; cursor: pointer;
*/
} }
#wrapper { #wrapper {
...@@ -259,3 +281,17 @@ table.border td,table.border th { ...@@ -259,3 +281,17 @@ table.border td,table.border th {
.nowrap { .nowrap {
white-space: nowrap; white-space: nowrap;
} }
.shopProductbuttons
{
width: 320px;
vertical-align: top;
}
button.ui-button span
{
line-height: 1;
padding: .4em .5em;
}
\ No newline at end of file
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:h="http://java.sun.com/jsf/html" xmlns:f="http://java.sun.com/jsf/core"
xmlns:shop="http://java.sun.com/jsf/composite/cditools/shop" xmlns:c="http://java.sun.com/jsp/jstl/core">
<h:body>
<ui:composition template="/layout/#{sessionHandler.layout}/template.xhtml">
<f:metadata>
<f:event type="preRenderView" listener="#{barcodeView.initView}" />
</f:metadata>
<ui:define name="content">
<h:form>
<h:inputText name="barcode" value="#{barcodeView.barcode}" />
<h:commandButton action="#{barcodeView.readBarcode}" value="#{i18n['barcodeReader.readBarcode']}"/>
</h:form>
</ui:define>
</ui:composition>
</h:body>
</html>
\ No newline at end of file
...@@ -48,51 +48,17 @@ ...@@ -48,51 +48,17 @@
<ui:fragment rendered="#{userView.canManage()}"> <ui:fragment rendered="#{userView.canManage()}">
<h2>Ylläpito</h2> <h2>Ylläpito</h2>
<h:form> <h:form>
<p:commandButton action="#{userView.prepareCardDownload()}" rendered="#{userView.waitForAcceptance==false}" value="print card" ajax="true" update="@form" onclick="PrimeFaces.monitorDownload(start, stop)"> <users:previewAndPrintCard />
<p:fileDownload value="#{userView.streamedFile}" />
</p:commandButton>
<p:commandButton action="#{userView.acceptPrintedCard()}" value="accept printed card" /> <p:commandButton action="#{userView.acceptPrintedCard()}" value="accept printed card" />
</h:form> </h:form>
<!-- <h:form>
<h:commandButton action="#{userView.makeCard()}" value="#{i18n['user.makeCard']}" />
<h:dataTable var="card" value="#{userCardView.printedCards}">
<h:column>
<h:outputText value="#{card.enabled}" />
</h:column>
<h:column>
<h:outputText value="#{card.enabled}" />
</h:column>
<h:column>
<a href="#{request.contextPath}/UserCard?cardid=#{card.id}">View Card</a>
<a href="#{request.contextPath}/UserCard?cardid=#{card.id}&amp;download=1">Print Card</a>
</h:column>
</h:dataTable>
</h:form>-->
<h3>RFID</h3>
<!-- reader:rfid linkoutcome="/shop/shopToUser" linkvalue="#{i18n['readerevent.shopToUser']}" / --> <h3>RFID</h3>
<reader:barcode_rfid selectvalue="#{i18n['readerevent.associateToUser']}" selectaction="#{userView.attachBarcodeToCard()}"/> <reader:barcode_rfid selectvalue="#{i18n['readerevent.associateToUser']}" selectaction="#{userView.attachBarcodeToCard()}"/>
</ui:fragment> </ui:fragment>
<!-- <h:dataTable var="image" value="#{userView.user.userImageList}"> -->
<!-- <h:column> -->
<!-- <h:outputText value="#{image.id}" /> -->
<!-- </h:column> -->
<!-- <h:column> -->
<!-- <h:outputText value="#{image.name}" /> -->
<!-- </h:column> -->
<!-- <h:column> -->
<!-- <h:outputText value="#{image.description}" /> -->
<!-- </h:column> -->
<!-- </h:dataTable> -->
</ui:fragment> </ui:fragment>
......
...@@ -57,6 +57,8 @@ bill.address = Maksajan osoite ...@@ -57,6 +57,8 @@ bill.address = Maksajan osoite
bill.billAmount = Laskun summa bill.billAmount = Laskun summa
bill.billIsPaid = Lasku on maksettu bill.billIsPaid = Lasku 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.subject = Lasku merkitty maksetuksi
bill.billNumber = Laskun numero bill.billNumber = Laskun numero
bill.billPaidDate = Maksup\u00E4iv\u00E4 bill.billPaidDate = Maksup\u00E4iv\u00E4
bill.deliveryTerms = Toimitusehdot bill.deliveryTerms = Toimitusehdot
......
...@@ -12,6 +12,7 @@ import javax.servlet.http.HttpServletResponse; ...@@ -12,6 +12,7 @@ import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import fi.codecrew.moya.beans.EventBeanLocal;
import fi.codecrew.moya.beans.PermissionBeanLocal; import fi.codecrew.moya.beans.PermissionBeanLocal;
import fi.codecrew.moya.beans.PlaceGroupBeanLocal; import fi.codecrew.moya.beans.PlaceGroupBeanLocal;
......
...@@ -121,8 +121,7 @@ public class PlaceMap extends HttpServlet { ...@@ -121,8 +121,7 @@ public class PlaceMap extends HttpServlet {
} }
} }
private void printPlaceMapToStream(OutputStream outputStream, private void printPlaceMapToStream(OutputStream outputStream, String filetype, EventMap map) throws IOException
String filetype, EventMap map) throws IOException
{ {
if (!permbean.hasPermission(MapPermission.VIEW)) if (!permbean.hasPermission(MapPermission.VIEW))
...@@ -152,8 +151,7 @@ public class PlaceMap extends HttpServlet { ...@@ -152,8 +151,7 @@ public class PlaceMap extends HttpServlet {
EventUser user = permbean.getCurrentUser(); EventUser user = permbean.getCurrentUser();
// List<Place> selectedPlaces = placemapBean.findSelectedPlaces(map); // List<Place> selectedPlaces = placemapBean.findSelectedPlaces(map);
BufferedImage image = ImageIO.read(new ByteArrayInputStream(map BufferedImage image = ImageIO.read(new ByteArrayInputStream(map.getMapData()));
.getMapData()));
Graphics2D g2d = image.createGraphics(); Graphics2D g2d = image.createGraphics();
for (Place place : places) { for (Place place : places) {
......
...@@ -3,7 +3,7 @@ package fi.codecrew.moya.web.cdiview.actionlog; ...@@ -3,7 +3,7 @@ package fi.codecrew.moya.web.cdiview.actionlog;
import java.util.List; import java.util.List;
import javax.ejb.EJB; import javax.ejb.EJB;
import javax.faces.bean.RequestScoped; import javax.enterprise.context.RequestScoped;
import javax.inject.Named; import javax.inject.Named;
import fi.codecrew.moya.beans.ActionLogBeanLocal; import fi.codecrew.moya.beans.ActionLogBeanLocal;
......
...@@ -54,7 +54,7 @@ public class MenuView extends GenericCDIView { ...@@ -54,7 +54,7 @@ public class MenuView extends GenericCDIView {
public List<PageContent> getPagecontent(String pagekey) public List<PageContent> getPagecontent(String pagekey)
{ {
String key = new StringBuilder(layoutview.getPagepath()).append(":").append(pagekey).toString(); String key = new StringBuilder(layoutview.getPagepath()).append(":").append(pagekey).toString();
// logger.debug("Getting pagecontent for key {}", key); logger.debug("Getting pagecontent for key {}. Matches: {}", key, contents.containsKey(key));
if (!contents.containsKey(key)) { if (!contents.containsKey(key)) {
contents.put(key, pagebean.findContentsForUser(key)); contents.put(key, pagebean.findContentsForUser(key));
......
...@@ -313,8 +313,29 @@ public class ReaderView extends GenericCDIView { ...@@ -313,8 +313,29 @@ public class ReaderView extends GenericCDIView {
return card; return card;
} }
public EventUser getUser() {
PrintedCard card = getPrintedCard();
if(card != null) {
return card.getUser();
}
// todo: palauta tarvittaessa käyttäjä paikkaviivakoodista
// todo: siirrä käyttämään userbeanin getUserByBarcode-häsmäkkää
return null;
}
public void clearBarcode() { public void clearBarcode() {
this.barcode = null; this.barcode = null;
} }
public String saveUser() {
userview.saveUser();
return null;
}
} }
package fi.codecrew.moya.web.cdiview.shop;
import javax.ejb.EJB;
import javax.enterprise.context.ConversationScoped;
import javax.inject.Inject;
import javax.inject.Named;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import fi.codecrew.moya.beans.UserBeanLocal;
import fi.codecrew.moya.enums.apps.UserPermission;
import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.web.cdiview.GenericCDIView;
import fi.codecrew.moya.web.cdiview.user.UserView;
@Named
@ConversationScoped
public class BarcodeView extends GenericCDIView {
private static final long serialVersionUID = -5723180869625883034L;
private String barcode;
private static final Logger logger = LoggerFactory.getLogger(BarcodeView.class);
@Inject
private UserView userView;
@Inject
private ProductShopView productShopView;
@EJB
private UserBeanLocal userBean;
public String getBarcode() {
return barcode;
}
public void initView() {
super.requirePermissions(UserPermission.VIEW_ALL);
}
public void setBarcode(String barcode) {
this.barcode = barcode;
}
public String readBarcode() {
EventUser user = userBean.getUserByBarcode(barcode);
userView.setUser(user);
if (user == null) {
super.addFaceMessage("barcodeView.userNotFound", barcode);
logger.info("User not found by barcode: {}", barcode);
return null;
}
productShopView.initShopView();
super.beginConversation();
logger.info("Recieved Barcode: {}", barcode);
return "/shop/shopToUser";
}
public UserView getUserView() {
return userView;
}
public void setUserView(UserView userView) {
this.userView = userView;
}
public ProductShopView getProductShopView() {
return productShopView;
}
public void setProductShopView(ProductShopView productShopView) {
this.productShopView = productShopView;
}
}
...@@ -17,7 +17,7 @@ import fi.codecrew.moya.model.FoodWave; ...@@ -17,7 +17,7 @@ import fi.codecrew.moya.model.FoodWave;
import fi.codecrew.moya.web.annotations.SelectedUser; import fi.codecrew.moya.web.annotations.SelectedUser;
import fi.codecrew.moya.web.cdiview.GenericCDIView; import fi.codecrew.moya.web.cdiview.GenericCDIView;
@Named @Named()
@ConversationScoped @ConversationScoped
public class FoodShopView extends GenericCDIView { public class FoodShopView extends GenericCDIView {
...@@ -26,7 +26,6 @@ public class FoodShopView extends GenericCDIView { ...@@ -26,7 +26,6 @@ public class FoodShopView extends GenericCDIView {
private static final long serialVersionUID = 1288114954999406683L; private static final long serialVersionUID = 1288114954999406683L;
@Inject @Inject
@SelectedUser @SelectedUser
private EventUser user; private EventUser user;
......
...@@ -178,18 +178,11 @@ public class UserView extends GenericCDIView { ...@@ -178,18 +178,11 @@ public class UserView extends GenericCDIView {
} }
public void prepareCardDownload() { public void prepareCardDownload() {
try { try {
mpr = cardPrintBean.getUserCardAsPrintablePdf(this.user.getId()); mpr = cardPrintBean.getUserCardAsPrintablePdf(getSelectedUser().getId());
ByteArrayInputStream pdfstream = new ByteArrayInputStream(mpr.getPdf()); ByteArrayInputStream pdfstream = new ByteArrayInputStream(mpr.getPdf());
setStreamedFile(new DefaultStreamedContent(pdfstream, "application/pdf","user_" + getSelectedUser().getId() + "_card.pdf"));
// file = File.createTempFile("cardprintout", null); logger.info("user_" + getSelectedUser().getId() + "_card.pdf");
// FileOutputStream fostream = new FileOutputStream(file);
// fostream.write(mpr.getPdf());
// fostream.close();
// setStreamedFile(new DefaultStreamedContent(new
// FileInputStream(this.file)));
setStreamedFile(new DefaultStreamedContent(pdfstream));
} catch (Exception e) { } catch (Exception e) {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(e.getMessage())); FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(e.getMessage()));
} }
...@@ -217,13 +210,13 @@ public class UserView extends GenericCDIView { ...@@ -217,13 +210,13 @@ public class UserView extends GenericCDIView {
} }
public String sendImage() { public String sendImage() {
logger.debug("sending image");
if (getImage() == null) if (getImage() == null)
{ {
logger.debug("NO image to send!");
super.addFaceMessage("user.imageUpload.imageNotFound"); super.addFaceMessage("user.imageUpload.imageNotFound");
} else { } else {
logger.debug("uploading image");
UserImage userimage = userbean.uploadImage(user, getImage().getContentType(), getImage().getContents(), getImage().getFileName(), ""); UserImage userimage = userbean.uploadImage(user, getImage().getContentType(), getImage().getContents(), getImage().getFileName(), "");
user = userbean.getEventUser(userimage.getUser()); user = userbean.getEventUser(userimage.getUser());
super.addFaceMessage("user.imageUploaded"); super.addFaceMessage("user.imageUploaded");
...@@ -282,13 +275,15 @@ public class UserView extends GenericCDIView { ...@@ -282,13 +275,15 @@ public class UserView extends GenericCDIView {
} }
public String saveUser() { public String saveUser() {
logger.info("Saving user");
if (permbean.getCurrentUser().equals(user) || permbean.hasPermission(UserPermission.MODIFY)) { if (permbean.getCurrentUser().equals(user) || permbean.hasPermission(UserPermission.MODIFY)) {
this.addFaceMessage("user.successfullySaved"); this.addFaceMessage("user.successfullySaved");
user = userbean.mergeChanges(user); user = userbean.mergeChanges(user);
logger.info("User saved");
} else { } else {
this.addFaceMessage("user.saveFailed"); this.addFaceMessage("user.saveFailed");
logger.info("save failed!");
} }
return "edit"; return "edit";
...@@ -428,6 +423,8 @@ public class UserView extends GenericCDIView { ...@@ -428,6 +423,8 @@ public class UserView extends GenericCDIView {
} }
public StreamedContent getStreamedFile() { public StreamedContent getStreamedFile() {
if(streamedFile == null)
logger.info("Tried to get empty streamed file");
return streamedFile; return streamedFile;
} }
......
package fi.codecrew.moya.web.converter; package fi.codecrew.moya.web.converter;
import javax.ejb.EJB; import javax.ejb.EJB;
import javax.faces.bean.RequestScoped; import javax.enterprise.context.RequestScoped;
import javax.inject.Named; import javax.inject.Named;
import fi.codecrew.moya.beans.VotingBeanLocal; import fi.codecrew.moya.beans.VotingBeanLocal;
......
package fi.codecrew.moya.web.converter; package fi.codecrew.moya.web.converter;
import javax.ejb.EJB; import javax.ejb.EJB;
import javax.faces.bean.RequestScoped; import javax.enterprise.context.RequestScoped;
import javax.inject.Named; import javax.inject.Named;
import fi.codecrew.moya.beans.UserBeanLocal; import fi.codecrew.moya.beans.UserBeanLocal;
......
package fi.codecrew.moya.web.converter; package fi.codecrew.moya.web.converter;
import javax.ejb.EJB; import javax.ejb.EJB;
import javax.faces.bean.RequestScoped; import javax.enterprise.context.RequestScoped;
import javax.inject.Named; import javax.inject.Named;
import fi.codecrew.moya.beans.UserBeanLocal; import fi.codecrew.moya.beans.UserBeanLocal;
......
package fi.codecrew.moya.web.cdiview.user; package fi.codecrew.moya.web.flow;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
import javax.ejb.EJB;
import javax.enterprise.context.ConversationScoped; import javax.enterprise.context.ConversationScoped;
import javax.inject.Inject; import javax.inject.Inject;
import javax.inject.Named; import javax.inject.Named;
import org.primefaces.model.UploadedFile;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import fi.codecrew.moya.beans.CardTemplateBeanLocal;
import fi.codecrew.moya.beans.EventBeanLocal;
import fi.codecrew.moya.enums.apps.UserPermission;
import fi.codecrew.moya.model.CardTemplate;
import fi.codecrew.moya.model.EventUser; import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.utilities.I18n;
import fi.codecrew.moya.web.annotations.SelectedUser; import fi.codecrew.moya.web.annotations.SelectedUser;
import fi.codecrew.moya.web.cdiview.GenericCDIView; import fi.codecrew.moya.web.cdiview.GenericCDIView;
import fi.codecrew.moya.web.cdiview.reader.ReaderView;
import fi.codecrew.moya.web.cdiview.user.UserView;
@Named @Named
@ConversationScoped @ConversationScoped
public class IncomingView extends GenericCDIView { public class IncomingView extends GenericCDIView {
private static final long serialVersionUID = -9115983838324313414L; private static final long serialVersionUID = 802344850073689859L;
private static final Logger logger = LoggerFactory.getLogger(IncomingView.class);
@Inject @Inject
@SelectedUser @SelectedUser
private transient EventUser user; private transient EventUser user;
...@@ -35,13 +27,30 @@ public class IncomingView extends GenericCDIView { ...@@ -35,13 +27,30 @@ public class IncomingView extends GenericCDIView {
@Inject @Inject
private UserView userview; private UserView userview;
@Inject
private ReaderView readerView;
public void initView() { public void initView() {
super.beginConversation(); super.beginConversation();
} }
public String saveUser() { public String saveUser() {
logger.info("Saving user in incomingView");
userview.saveUser(); userview.saveUser();
return null; return null;
} }
public String selectUser() {
EventUser user = readerView.getUser();
if(user == null) {
return null;
}
userview.setUser(user);
userview.prepareCardDownload();
return "printCard";
}
} }
package fi.codecrew.moya.web.flow;
import javax.enterprise.context.ConversationScoped;
import javax.inject.Inject;
import javax.inject.Named;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.web.annotations.SelectedUser;
import fi.codecrew.moya.web.cdiview.GenericCDIView;
import fi.codecrew.moya.web.cdiview.reader.ReaderView;
import fi.codecrew.moya.web.cdiview.user.UserView;
@Named
@ConversationScoped
public class InfoView extends GenericCDIView {
private static final long serialVersionUID = 802344850073689859L;
private static final Logger logger = LoggerFactory.getLogger(InfoView.class);
@Inject
@SelectedUser
private transient EventUser user;
@Inject
private UserView userview;
@Inject
private ReaderView readerView;
public void initView() {
super.beginConversation();
}
public String saveUser() {
logger.info("Saving user in incomingView");
userview.saveUser();
return null;
}
public String selectUser() {
EventUser user = readerView.getUser();
if(user == null) {
return null;
}
userview.setUser(user);
return "general";
}
}
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!