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 591 additions and 450 deletions
......@@ -5,3 +5,4 @@
/code/MoyaDatabase/src/fi/codecrew/moya/model/*/*_.java
*~
.metadata
/code/*/target/
eclipse.preferences.version=1
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.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.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
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"?>
<faceted-project>
<installed facet="java" version="1.6"/>
<runtime name="GlassFish 3.1.2"/>
<installed facet="java" version="1.7"/>
</faceted-project>
......@@ -6,7 +6,7 @@
<attribute name="maven.pomderived" value="true"/>
</attributes>
</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>
<attribute name="maven.pomderived" value="true"/>
</attributes>
......
eclipse.preferences.version=1
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.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.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
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 @@
<fixed facet="java"/>
<fixed facet="jst.utility"/>
<installed facet="jst.utility" version="1.0"/>
<installed facet="java" version="1.6"/>
<installed facet="java" version="1.7"/>
</faceted-project>
......@@ -12,7 +12,7 @@
<attribute name="org.eclipse.jst.component.nondependency" value=""/>
</attributes>
</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>
<attribute name="owner.project.facets" value="java"/>
</attributes>
......
eclipse.preferences.version=1
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.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.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
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 @@
<faceted-project>
<fixed facet="java"/>
<fixed facet="jst.ejb"/>
<installed facet="java" version="1.6"/>
<installed facet="jst.ejb" version="2.1"/>
<installed facet="jst.ejb" version="3.1"/>
<installed facet="sun.facet" version="9"/>
<installed facet="java" version="1.7"/>
</faceted-project>
default.configuration=
eclipse.preferences.version=1
hibernate3.enabled=false
......@@ -11,7 +11,9 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import fi.codecrew.moya.facade.PrintedCardFacade;
import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.model.PrintedCard;
import fi.codecrew.moya.model.User;
import fi.codecrew.moya.utilities.BarcodeUtils;
/**
......@@ -21,11 +23,17 @@ import fi.codecrew.moya.utilities.BarcodeUtils;
@LocalBean
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);
@EJB
PrintedCardFacade printedCardFacade;
@EJB
UserBeanLocal userBean;
/**
* Default constructor.
......@@ -33,6 +41,21 @@ public class BarcodeBean implements BarcodeBeanLocal {
public BarcodeBean() {
// 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 {
StringBuilder sb = new StringBuilder();
......@@ -67,4 +90,22 @@ public class BarcodeBean implements BarcodeBeanLocal {
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;
import java.io.IOException;
import java.io.StringReader;
import java.io.StringWriter;
import java.io.UnsupportedEncodingException;
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
......@@ -21,11 +19,13 @@ import javax.ejb.EJB;
import javax.ejb.EJBException;
import javax.ejb.LocalBean;
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.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
......@@ -36,11 +36,8 @@ import org.w3c.dom.Document;
import org.w3c.dom.Element;
import org.w3c.dom.Node;
import org.w3c.dom.NodeList;
import org.xml.sax.InputSource;
import org.xml.sax.SAXException;
import com.sun.org.apache.xerces.internal.parsers.DOMParser;
import fi.codecrew.moya.checkoutfi.CheckoutFiParam;
import fi.codecrew.moya.clientutils.BortalLocalContextHolder;
import fi.codecrew.moya.enums.apps.BillPermission;
......@@ -168,8 +165,8 @@ public class CheckoutFiBean implements CheckoutFiBeanLocal {
try {
final String calculatedHash = PasswordFunctions.calculateMd5(mdString.toString());
// logger.info("Calculated checksum {} from {}",
// mdString.toString(), calculatedHash);
logger.info("Calculated checksum {} from {}",
mdString.toString(), calculatedHash);
nameValuePairs.add(new BasicNameValuePair("MAC", calculatedHash));
......@@ -188,12 +185,8 @@ public class CheckoutFiBean implements CheckoutFiBeanLocal {
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) {
logger.warn("Error sending query to checkout.fi", e);
logger.warn("Error sending checkout.fi request", e);
}
return null;
......@@ -229,9 +222,12 @@ public class CheckoutFiBean implements CheckoutFiBeanLocal {
private static List<CheckoutBank> parseTokenXml(String xmlReturn) {
try {
DOMParser parser = new DOMParser();
parser.parse(new InputSource(new StringReader(xmlReturn)));
Document doc = parser.getDocument();
// DOMParser parser = new DOMParser();
// parser.parse(new InputSource(new StringReader(xmlReturn)));
DocumentBuilderFactory dbFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder dBuilder = dbFactory.newDocumentBuilder();
Document doc = dBuilder.parse(xmlReturn);
// Document doc = parser.getDocument();
Element root = doc.getDocumentElement();
root.normalize();
// NodeList rootChildren = root.getChildNodes();
......@@ -258,12 +254,8 @@ public class CheckoutFiBean implements CheckoutFiBeanLocal {
}
return retbanks;
} catch (SAXException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (SAXException | IOException | ParserConfigurationException e) {
logger.warn("Error parsing response from checkout response:" + xmlReturn, e);
}
return null;
}
......
......@@ -8,12 +8,10 @@ import javax.annotation.security.RolesAllowed;
import javax.ejb.EJB;
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.FoodWaveTemplateFacade;
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.FoodWaveTemplate;
import fi.codecrew.moya.model.Product;
......@@ -59,7 +57,7 @@ public class FoodWaveBean implements FoodWaveBeanLocal {
@Override
public List<FoodWave> findShoppableFoodwaves() {
throw new NotImplementedException();
throw new java.lang.UnsupportedOperationException();
}
@Override
......@@ -125,7 +123,7 @@ public class FoodWaveBean implements FoodWaveBeanLocal {
product = productfacade.merge(product);
template.getProducts().remove(product);
product.getFoodWaveTemplates().remove(template);
return template;
}
......
......@@ -13,11 +13,6 @@ import javax.resource.spi.IllegalStateException;
import org.slf4j.Logger;
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.CompoPermission;
import fi.codecrew.moya.enums.apps.ContentPermission;
......@@ -29,6 +24,8 @@ import fi.codecrew.moya.enums.apps.ShopPermission;
import fi.codecrew.moya.enums.apps.SpecialPermission;
import fi.codecrew.moya.enums.apps.TerminalPermission;
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.User;
......@@ -176,8 +173,13 @@ public class PermissionBean implements PermissionBeanLocal {
@Override
public boolean isLoggedIn() {
return !getAnonEventUser().equals(getCurrentUser()) || getCurrentUser().getUser().isSuperadmin();
Principal principal = context.getCallerPrincipal();
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
......
......@@ -483,11 +483,11 @@ public class PlaceBean implements PlaceBeanLocal {
@RolesAllowed(MapPermission.S_BUY_PLACES)
public Place unbuyPlace(Place place) {
place = placeFacade.reload(place);
if (place.getGroup() != null) {
place.getGroup().getPlaces().remove(place);
place.setGroup(null);
}
place.setGroup(null);
if (place.getPlaceReserver() != null)
{
......
......@@ -21,21 +21,19 @@ import com.pdfjet.PDF;
import com.pdfjet.Page;
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.GroupMembershipFacade;
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.GroupMembership;
import fi.codecrew.moya.model.LanEventProperty;
import fi.codecrew.moya.model.LanEventPropertyKey;
import fi.codecrew.moya.model.PlaceGroup;
import fi.codecrew.moya.model.User;
import fi.codecrew.moya.utilities.BarcodeUtils;
import fi.codecrew.moya.utilities.I18n;
/**
* Session Bean implementation class PlaceGroupBean
......@@ -48,6 +46,9 @@ public class PlaceGroupBean implements PlaceGroupBeanLocal {
private static final int YSTART = 30;
@EJB
private EventBeanLocal eventbean;
@EJB
private BarcodeBeanLocal barcodeBean;
@EJB
private GroupMembershipFacade gmemfacade;
......@@ -134,6 +135,22 @@ public class PlaceGroupBean implements PlaceGroupBeanLocal {
@RolesAllowed(SpecialPermission.S_USER)
public void getGroupMembershipPdf(EventUser usr, OutputStream ostream) {
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 {
PDF pdf = new PDF(ostream);
Font font = new Font(pdf, CoreFont.TIMES_ROMAN);
......@@ -148,16 +165,36 @@ public class PlaceGroupBean implements PlaceGroupBeanLocal {
page = new Page(pdf, A4.PORTRAIT);
y = YSTART;
}
if(printOnlyOwn && (membership.getUser() == null || !membership.getUser().equals(usr))) {
continue;
}
//
// PNGImage jpeg = new
// PNGImage(BarcodeBean.getBarcode(membership.getInviteToken()));
// logger.debug("Jpeg: " + jpeg.getWidth() + " h. " +
// jpeg.getHeight());
Image image = new Image(pdf, BarcodeUtils.getBarcode(membership.getInviteToken()), ImageType.PNG);
image.scaleBy(0.8);
image.setPosition(50, y);
image.drawOn(page);
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.scaleBy(0.8);
image.setPosition(50, y);
image.drawOn(page);
}
StringBuilder sb = new StringBuilder();
if (membership.getPlaceReservation().getName() != null)
......
......@@ -14,11 +14,8 @@ import javax.ejb.Stateless;
import org.slf4j.Logger;
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.facade.SitePageFacade;
import fi.codecrew.moya.model.PageContent;
import fi.codecrew.moya.model.Role;
import fi.codecrew.moya.model.SitePage;
......@@ -122,6 +119,7 @@ public class SitePageBean implements SitePageBeanLocal {
{
for (Role r : page.getAllowedRoles()) {
if (roles.contains(r)) {
logger.debug("Has role for page {}, role {}", page, r);
ret = sitepagefacade.findContents(page, new Date());
break;
}
......
......@@ -133,12 +133,13 @@ public class UserBean implements UserBeanLocal {
EventUser ret = eventUserFacade.merge(user);
ctbean.checkPrintedCard(ret);
// currentEventuser = null;
return ret;
}
@Override
public List<Role> findUsersRoles(EventUser u) {
EventUser currusr = permbean.getCurrentUser();
if (!currusr.equals(u) && !permbean.hasPermission(UserPermission.MODIFY)) {
loggerbean.logMessage(SecurityLogType.permissionDenied, permbean.getCurrentUser(), "User tried to fetc another users roles: " + u);
......@@ -149,7 +150,15 @@ public class UserBean implements UserBeanLocal {
}
// private EventUser currentEventuser;
// private ArrayList<Role> currentEventuserRoles;
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>();
if (u != null)
{
......@@ -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);
}
......
......@@ -74,7 +74,7 @@ public class VerkkomaksutFiBean implements VerkkomaksutFiBeanLocal {
LanEventPrivateProperty expire = eventbean.getPrivateProperty(LanEventPrivatePropertyKey.VERKKOMAKSU_KEY_EXPIRE);
String merchantid = eventbean.getPrivatePropertyString(LanEventPrivatePropertyKey.VERKKOMAKSU_MERCHANT_ID);
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()
|| merchantPassword == null || merchantPassword.isEmpty());
}
......
......@@ -9,17 +9,18 @@ import javax.ejb.LocalBean;
import javax.ejb.Stateless;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Path;
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.model.AccountEvent;
import fi.codecrew.moya.model.AccountEvent_;
import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.model.LanEvent;
import fi.codecrew.moya.model.Product;
import fi.codecrew.moya.model.Product_;
import fi.codecrew.moya.model.Role;
import fi.codecrew.moya.model.Role_;
@Stateless
@LocalBean
......@@ -36,6 +37,27 @@ public class AccountEventFacade extends IntegerPkGenericFacade<AccountEvent> {
CriteriaBuilder cb = getEm().getCriteriaBuilder();
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);
cq.where(
......
package fi.codecrew.moya.facade;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.ejb.EJB;
import javax.ejb.LocalBean;
......@@ -12,24 +14,23 @@ import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.From;
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.EventUserAccountSaldoPredicate;
import fi.codecrew.moya.facade.callbacks.EventUserPlacegroupPredicate;
import fi.codecrew.moya.facade.callbacks.EventUserRolefilter;
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.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.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.util.UserSearchQuery;
import fi.codecrew.moya.utilities.SearchResult;
import fi.codecrew.moya.utilities.jpa.FacadeCallback;
/**
* Session Bean implementation class EventUserFacade
......@@ -45,37 +46,63 @@ public class EventUserFacade extends IntegerPkGenericFacade<EventUser> {
super(EventUser.class);
}
public EventUser findByLogin(String login) {
CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<EventUser> cq = cb.createQuery(EventUser.class);
Root<EventUser> root = cq.from(EventUser.class);
cq.where(
cb.equal(root.get(EventUser_.user).get(User_.login), login),
cb.equal(root.get(EventUser_.event),
eventBean.getCurrentEvent()));
private final Map<Integer, Map<String, Integer>> logincache = new HashMap<Integer, Map<String, Integer>>();
return getSingleNullableResult(getEm().createQuery(cq));
public EventUser findByLogin(final String login) {
LanEvent event = eventBean.getCurrentEvent();
EventUser ret;
if ((ret = checkCache(login, event)) == null)
{
CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<EventUser> cq = cb.createQuery(EventUser.class);
Root<EventUser> root = cq.from(EventUser.class);
cq.where(
cb.equal(root.get(EventUser_.user).get(User_.login), login),
cb.equal(root.get(EventUser_.event),
event));
ret = getSingleNullableResult(getEm().createQuery(cq));
if (ret != null)
logincache.get(event.getId()).put(ret.getLogin(), ret.getId());
}
return ret;
}
public EventUser find(User user) {
CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<EventUser> cq = cb.createQuery(EventUser.class);
Root<EventUser> root = cq.from(EventUser.class);
cq.where(
cb.equal(root.get(EventUser_.user), user),
cb.equal(root.get(EventUser_.event),
eventBean.getCurrentEvent()));
private EventUser checkCache(final String login, final LanEvent event) {
if (!logincache.containsKey(event.getId()))
logincache.put(event.getId(), new HashMap<String, Integer>());
return getSingleNullableResult(getEm().createQuery(cq));
Integer euId = null;
EventUser ret = null;
if ((euId = logincache.get(event.getId()).get(login)) != null) {
ret = this.find(euId);
}
return ret;
}
public EventUser find(User user) {
LanEvent event = eventBean.getCurrentEvent();
EventUser ret;
if ((ret = checkCache(user.getLogin(), event)) == null)
{
CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<EventUser> cq = cb.createQuery(EventUser.class);
Root<EventUser> root = cq.from(EventUser.class);
cq.where(
cb.equal(root.get(EventUser_.user), user),
cb.equal(root.get(EventUser_.event), event));
ret = getSingleNullableResult(getEm().createQuery(cq));
}
return ret;
}
public List<EventUser> findAll() {
CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<EventUser> cq = cb.createQuery(EventUser.class);
Root<EventUser> root = cq.from(EventUser.class);
cq.where(cb.equal(root.get(EventUser_.event),
eventBean.getCurrentEvent()));
cq.where(cb.equal(root.get(EventUser_.event), eventBean.getCurrentEvent()));
return getEm().createQuery(cq).getResultList();
}
......
package fi.codecrew.moya.facade;
import java.util.Calendar;
import java.util.Date;
import java.util.List;
......@@ -11,11 +10,10 @@ import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
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.model.FoodWave;
import fi.codecrew.moya.model.FoodWaveTemplate_;
import fi.codecrew.moya.model.FoodWave_;
@Stateless
@LocalBean
......@@ -26,13 +24,13 @@ public class FoodWaveFacade extends IntegerPkGenericFacade<FoodWave> {
public FoodWaveFacade() {
super(FoodWave.class);
}
public List<FoodWave> getEventFoodWaves() {
CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<FoodWave> cq = cb.createQuery(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();
}
......
......@@ -3,6 +3,7 @@ package fi.codecrew.moya.facade;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import fi.codecrew.moya.utilities.jpa.GenericFacade;
import fi.codecrew.moya.utilities.jpa.ModelInterface;
/**
......
......@@ -15,7 +15,6 @@ import javax.persistence.metamodel.SingularAttribute;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import fi.codecrew.moya.facade.callbacks.FacadeCallback;
import fi.codecrew.moya.facade.callbacks.OrderCallback;
import fi.codecrew.moya.facade.callbacks.StringSearchPredicateCreator;
import fi.codecrew.moya.model.User_;
......@@ -23,6 +22,7 @@ import fi.codecrew.moya.beans.EventBeanLocal;
import fi.codecrew.moya.model.User;
import fi.codecrew.moya.utilities.SearchQuery;
import fi.codecrew.moya.utilities.SearchResult;
import fi.codecrew.moya.utilities.jpa.FacadeCallback;
@Stateless
@LocalBean
......
......@@ -9,6 +9,7 @@ import javax.persistence.criteria.From;
import javax.persistence.criteria.Predicate;
import javax.persistence.metamodel.SingularAttribute;
import fi.codecrew.moya.utilities.jpa.FacadeCallback;
import fi.codecrew.moya.utilities.jpa.ModelInterface;
public class AndPredicateCreator<A, T extends ModelInterface> implements FacadeCallback<T> {
......
......@@ -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.LanEvent;
import fi.codecrew.moya.utilities.jpa.FacadeCallback;
public class EventLimiter implements FacadeCallback<EventUser> {
......
......@@ -14,6 +14,7 @@ import fi.codecrew.moya.model.AccountEvent_;
import fi.codecrew.moya.enums.DatabaseValueCompare;
import fi.codecrew.moya.model.AccountEvent;
import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.utilities.jpa.FacadeCallback;
public class EventUserAccountSaldoPredicate implements FacadeCallback<EventUser> {
private final DatabaseValueCompare compare;
......
......@@ -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.utilities.jpa.FacadeCallback;
public class EventUserPlacegroupPredicate implements FacadeCallback<EventUser> {
......
......@@ -25,6 +25,7 @@ import fi.codecrew.moya.model.Product_;
import fi.codecrew.moya.model.Role_;
import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.model.Role;
import fi.codecrew.moya.utilities.jpa.FacadeCallback;
public class EventUserRolefilter implements FacadeCallback<EventUser> {
......
......@@ -11,6 +11,7 @@ import javax.persistence.metamodel.SingularAttribute;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import fi.codecrew.moya.utilities.jpa.FacadeCallback;
import fi.codecrew.moya.utilities.jpa.ModelInterface;
public class OrPredicateCreator<A, T extends ModelInterface> implements FacadeCallback<T> {
......
......@@ -9,6 +9,7 @@ import javax.persistence.criteria.Path;
import javax.persistence.criteria.Predicate;
import javax.persistence.metamodel.SingularAttribute;
import fi.codecrew.moya.utilities.jpa.FacadeCallback;
import fi.codecrew.moya.utilities.jpa.ModelInterface;
public class OrderCallback<T extends ModelInterface> implements FacadeCallback<T> {
......
......@@ -10,6 +10,7 @@ import javax.persistence.criteria.Path;
import javax.persistence.criteria.Predicate;
import javax.persistence.metamodel.SingularAttribute;
import fi.codecrew.moya.utilities.jpa.FacadeCallback;
import fi.codecrew.moya.utilities.jpa.ModelInterface;
public abstract class PathStringSearchPredicateCreator<T extends ModelInterface, D extends ModelInterface> implements FacadeCallback<T> {
......
......@@ -12,7 +12,6 @@
<attribute name="maven.pomderived" value="true"/>
</attributes>
</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>
......@@ -24,4 +23,9 @@
</attributes>
</classpathentry>
<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>
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
org.eclipse.jdt.core.compiler.compliance=1.6
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
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 @@
<fixed facet="java"/>
<fixed facet="jst.utility"/>
<installed facet="jst.utility" version="1.0"/>
<installed facet="java" version="1.6"/>
<installed facet="java" version="1.7"/>
</faceted-project>
......@@ -5,12 +5,16 @@ import java.io.InputStream;
import javax.ejb.Local;
import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.model.PrintedCard;
@Local
public interface BarcodeBeanLocal {
public PrintedCard getPrintedCard(String barcode) ;
public EventUser getUser(String barcode);
public InputStream getUserBarcode(EventUser user) throws IOException;
public InputStream getCardBarcode(PrintedCard printedCard) throws IOException;
}
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<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"/>
</classpath>
eclipse.preferences.version=1
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.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.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=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;
import java.io.InputStream;
import java.util.HashSet;
import java.util.Set;
import java.util.logging.Logger;
import javax.print.DocFlavor;
import javax.print.DocPrintJob;
......@@ -32,6 +33,8 @@ public class CardPrinter {
protected PrintService printService;
private static final Logger log = LoggerFactory.getLogger(CardPrinter.class);
// private static final Logger logger =
// LoggerFactory.getLogger(CardPrinter.class);
......
......@@ -6,15 +6,16 @@
<attribute name="maven.pomderived" value="true"/>
</attributes>
</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>
<attribute name="maven.pomderived" value="true"/>
</attributes>
</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>
<attribute name="maven.pomderived" value="true"/>
<attribute name="owner.project.facets" value="java"/>
</attributes>
</classpathentry>
<classpathentry kind="output" path="target/classes"/>
<classpathentry kind="output" path="build/classes"/>
</classpath>
eclipse.preferences.version=1
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.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.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
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.alignment_for_arguments_in_allocation_expression=16
org.eclipse.jdt.core.formatter.alignment_for_arguments_in_annotation=0
......
......@@ -4,6 +4,6 @@
<fixed facet="jst.java"/>
<fixed facet="jpt.jpa"/>
<installed facet="jpt.jpa" version="2.0"/>
<installed facet="jst.java" version="1.6"/>
<installed facet="jst.web" version="3.0"/>
<installed facet="jst.java" version="1.7"/>
</faceted-project>
......@@ -6,6 +6,7 @@ import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.MappedSuperclass;
import fi.codecrew.moya.utilities.jpa.EntityEquals;
import fi.codecrew.moya.utilities.jpa.ModelInterface;
@MappedSuperclass
......
......@@ -8,7 +8,10 @@ public enum LanEventPropertyKey {
PORTAL_EMAIL_NAME(Type.TEXT, "Streamparty intranet"),
ADMIN_MAIL(Type.TEXT, "intra@streamparty.org"),
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 {
TEXT, DATE, DATA, BOOL
};
......@@ -29,14 +32,14 @@ public enum LanEventPropertyKey {
}
public boolean isBoolean() {
return Type.DATA.equals(type);
return Type.BOOL.equals(type);
}
private LanEventPropertyKey(Type t, String def)
{
this.type = t;
defaultvalue = def;
}
}
public String getDefaultvalue() {
return defaultvalue;
......
......@@ -50,6 +50,7 @@ public class Place extends GenericEntity {
private String details = "";
@Column(name = "place_code")
private String code = "";
@OneToOne(mappedBy = "placeReservation")
private GroupMembership placeReserver;
......
......@@ -6,7 +6,7 @@
<attribute name="maven.pomderived" value="true"/>
</attributes>
</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>
<attribute name="maven.pomderived" value="true"/>
</attributes>
......
eclipse.preferences.version=1
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.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.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
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 @@
<fixed facet="wst.jsdt.web"/>
<fixed facet="jst.web"/>
<fixed facet="java"/>
<installed facet="java" version="1.6"/>
<installed facet="jst.web" version="3.0"/>
<installed facet="sun.facet" version="9"/>
<installed facet="wst.jsdt.web" version="1.0"/>
<installed facet="java" version="1.7"/>
</faceted-project>
......@@ -6,11 +6,6 @@
<attribute name="maven.pomderived" value="true"/>
</attributes>
</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">
<attributes>
<attribute name="maven.pomderived" value="true"/>
......@@ -18,4 +13,10 @@
</attributes>
</classpathentry>
<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>
eclipse.preferences.version=1
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.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.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
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 @@
<faceted-project>
<fixed facet="jst.java"/>
<fixed facet="jst.utility"/>
<installed facet="jst.java" version="6.0"/>
<installed facet="jst.utility" version="1.0"/>
<installed facet="jst.java" version="1.7"/>
</faceted-project>
package fi.codecrew.moya.model;
package fi.codecrew.moya.utilities.jpa;
import java.util.Date;
import java.util.Random;
......
package fi.codecrew.moya.facade.callbacks;
package fi.codecrew.moya.utilities.jpa;
import java.util.List;
......@@ -7,7 +7,6 @@ import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.From;
import javax.persistence.criteria.Predicate;
import fi.codecrew.moya.utilities.jpa.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.Collections;
......@@ -14,10 +14,8 @@ import javax.persistence.criteria.Path;
import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;
import fi.codecrew.moya.facade.callbacks.FacadeCallback;
import fi.codecrew.moya.utilities.SearchQuery;
import fi.codecrew.moya.utilities.SearchResult;
import fi.codecrew.moya.utilities.jpa.ModelInterface;
public abstract class GenericFacade<C extends ModelInterface> {
......
......@@ -6,11 +6,6 @@
<attribute name="maven.pomderived" value="true"/>
</attributes>
</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">
<attributes>
<attribute name="maven.pomderived" value="true"/>
......@@ -18,4 +13,12 @@
</attributes>
</classpathentry>
<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>
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
org.eclipse.jdt.core.compiler.compliance=1.6
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
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 @@
<fixed facet="jst.web"/>
<fixed facet="java"/>
<fixed facet="wst.jsdt.web"/>
<installed facet="java" version="1.6"/>
<installed facet="jst.web" version="3.0"/>
<installed facet="sun.facet" version="9"/>
<installed facet="wst.jsdt.web" version="1.0"/>
<installed facet="java" version="1.7"/>
</faceted-project>
......@@ -15,7 +15,7 @@
template="/layout/#{sessionHandler.fullscreen}/template.xhtml">
<f:metadata>
<f:event type="preRenderView" listener="#{barcodeView.initView}" />
<f:event type="preRenderView" listener="#{incomingView.initView}" />
</f:metadata>
<f:metadata>
<f:event type="preRenderView" listener="#{readerListDataView.initView}" />
......@@ -27,36 +27,7 @@
<br />
<br />
<!-- reader eventtiles -->
<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>
<reader:barcode_and_rfid selectvalue="#{i18n['barcodeReader.readBarcode']}" selectaction="#{incomingView.selectUser}" />
......@@ -66,9 +37,7 @@
<reader:readerlisttiles />
<br />
<h:form>
<reader:barcode selectvalue="#{i18n['barcodeReader.readBarcode']}" selectaction="#{barcodeView.readBarcode}" />
</h:form>
</ui:define>
</ui:composition>
......
<!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: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">
<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:tools="http://java.sun.com/jsf/composite/cditools" xmlns:user="http://java.sun.com/jsf/composite/cditools/user">
<h:body>
<ui:composition
template="/layout/#{sessionHandler.fullscreen}/template.xhtml">
<ui:composition template="/layout/#{sessionHandler.fullscreen}/template.xhtml">
<f:metadata>
<f:metadata>
<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>
<ui:define name="content">
<h:outputText value="#{userView.user.user.login}" />
<h:form>
<user:edit commitaction="#{userCartView.saveUser()}" commitvalue="#{i18n['user.save']}" />
</h:form>
</ui:define>
<h:outputScript library="primefaces" name="jquery/jquery.js" target="head" />
<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>
</ui:define>
</ui:composition>
</h:body>
</html>
\ No newline at end of file
......@@ -15,7 +15,7 @@
template="/layout/#{sessionHandler.fullscreen}/template.xhtml">
<f:metadata>
<f:event type="preRenderView" listener="#{barcodeView.initView}" />
<f:event type="preRenderView" listener="#{infoView.initView}" />
</f:metadata>
<f:metadata>
<f:event type="preRenderView" listener="#{readerListDataView.initView}" />
......@@ -36,7 +36,7 @@
<reader:readerlisttiles />
<br />
<h:form>
<reader:barcode selectvalue="#{i18n['barcodeReader.readBarcode']}" selectaction="#{barcodeView.readBarcode}" />
<reader:barcode selectvalue="#{i18n['barcodeReader.readBarcode']}" selectaction="#{infoView.selectUser}" />
</h:form>
</ui:define>
......
......@@ -77,6 +77,8 @@
<h:column>
<f:facet name="header">#{i18n['lanEventProperty.value']}</f:facet>
<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}">
<f:convertDateTime pattern="#{sessionHandler.datetimeFormat}" timeZone="#{sessionHandler.timezone}" />
</h:outputText>
......@@ -123,6 +125,10 @@
<h:outputLabel rendered="#{eventPropertyView.property.key.date}" for="textval" value="#{i18n['lanEventProperty.textValue']}" />
<p:calendar rendered="#{eventPropertyView.property.key.date}" value="#{eventPropertyView.property.dateValue}" pattern="#{sessionHandler.datetimeFormat}" />
<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:commandButton action="#{eventPropertyView.saveProperty}" value="#{i18n['lanEventProperty.save']}" />
......
......@@ -17,7 +17,7 @@
<composite:implementation>
<h:form id="shoppingcartform">
<h:panelGrid columns="2">
<h:panelGrid columns="2" style="width:100%;" columnClasses="shopProductbuttons,topalign">
<h:panelGroup>
<div id="shopItems">
......@@ -30,7 +30,7 @@
<h:outputText value="#{cart.product.price}">
<f:convertNumber maxFractionDigits="2" minFractionDigits="2" />
</h:outputText>
eur
</div>
</h:commandLink>
</ui:repeat>
......@@ -75,7 +75,7 @@
<f:facet name="header">
<h:outputText value="#{i18n['shop.actions']}" />
</f:facet>
<h:commandButton action="#{productShopView.removeBought()}" value="Poista" />
<p:commandButton action="#{productShopView.removeBought()}" update="@form" value="Poista" />
</p:column>
</p:dataTable>
......
......@@ -24,11 +24,6 @@
<h:outputScript library="primefaces" name="jquery/jquery.js"
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: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 {
}
#login {
width: 385px;
width: 388px;
height: 23px;
float: right;
margin-top: 10px;
......@@ -57,22 +57,44 @@ td span span div.rating-cancel {
height: 23px;
color: #fff;
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 {
background: url('../img/button.png') no-repeat;
/* background: url('../img/button.png') no-repeat;
width: 100px;
text-align: center;
border: 0px;
height: 23px;
color: #fff;
padding: 0px;
padding: 0px;*/
}
.button:hover {
background: url('../img/button2.png') no-repeat;
/*background: url('../img/button2.png') no-repeat;
cursor: pointer;
*/
}
#wrapper {
......@@ -258,4 +280,18 @@ table.border td,table.border th {
.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 @@
<ui:fragment rendered="#{userView.canManage()}">
<h2>Ylläpito</h2>
<h:form>
<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>
<users:previewAndPrintCard />
<p:commandButton action="#{userView.acceptPrintedCard()}" value="accept printed card" />
</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']}" / -->
<reader:barcode_rfid selectvalue="#{i18n['readerevent.associateToUser']}" selectaction="#{userView.attachBarcodeToCard()}"/>
</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>
......
......@@ -48,38 +48,40 @@ applicationPermission.name = Oikeusryhm\u00E4
barcodeReader.readBarcode = Lue viivakoodi
bill.addr1 = Osoite 1
bill.addr2 = Osoite 2
bill.addr3 = Osoite 3
bill.addr4 = Osoite 4
bill.addr5 = Osoite 5
bill.address = Maksajan osoite
bill.billAmount = Laskun summa
bill.billIsPaid = Lasku on maksettu
bill.billLines = Tuotteet
bill.billNumber = Laskun numero
bill.billPaidDate = Maksup\u00E4iv\u00E4
bill.deliveryTerms = Toimitusehdot
bill.edit = Muokkaa
bill.isPaid = Maksettu
bill.markPaid = Maksettu
bill.markedPaid = Lasku merkitty maksetuksi.
bill.notes = Huomioita
bill.noticetime = Huomautusaika
bill.ourReference = Myyj\u00E4n viite
bill.paidDate = Maksup\u00E4iv\u00E4
bill.payer = Maksaja
bill.paymentTime = Maksuehdot
bill.paymentTime.now = Heti
bill.printBill = Tulosta lasku
bill.receiverAddress = Kauppiaan osoite
bill.referenceNumberBase = Viitenumeropohja
bill.referencenumber = Viitenumero
bill.sentDate = P\u00E4iv\u00E4ys
bill.show = N\u00E4yt\u00E4
bill.theirReference = Asiakkaan viite
bill.totalPrice = Laskun summa
bill.totalprice = Yhteens\u00E4
bill.addr1 = Osoite 1
bill.addr2 = Osoite 2
bill.addr3 = Osoite 3
bill.addr4 = Osoite 4
bill.addr5 = Osoite 5
bill.address = Maksajan osoite
bill.billAmount = Laskun summa
bill.billIsPaid = Lasku on maksettu
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.billPaidDate = Maksup\u00E4iv\u00E4
bill.deliveryTerms = Toimitusehdot
bill.edit = Muokkaa
bill.isPaid = Maksettu
bill.markPaid = Maksettu
bill.markedPaid = Lasku merkitty maksetuksi.
bill.notes = Huomioita
bill.noticetime = Huomautusaika
bill.ourReference = Myyj\u00E4n viite
bill.paidDate = Maksup\u00E4iv\u00E4
bill.payer = Maksaja
bill.paymentTime = Maksuehdot
bill.paymentTime.now = Heti
bill.printBill = Tulosta lasku
bill.receiverAddress = Kauppiaan osoite
bill.referenceNumberBase = Viitenumeropohja
bill.referencenumber = Viitenumero
bill.sentDate = P\u00E4iv\u00E4ys
bill.show = N\u00E4yt\u00E4
bill.theirReference = Asiakkaan viite
bill.totalPrice = Laskun summa
bill.totalprice = Yhteens\u00E4
billLine.eventuser = Asiakas
billLine.nick = Nimimerkki
......
......@@ -12,6 +12,7 @@ import javax.servlet.http.HttpServletResponse;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import fi.codecrew.moya.beans.EventBeanLocal;
import fi.codecrew.moya.beans.PermissionBeanLocal;
import fi.codecrew.moya.beans.PlaceGroupBeanLocal;
......
......@@ -121,8 +121,7 @@ public class PlaceMap extends HttpServlet {
}
}
private void printPlaceMapToStream(OutputStream outputStream,
String filetype, EventMap map) throws IOException
private void printPlaceMapToStream(OutputStream outputStream, String filetype, EventMap map) throws IOException
{
if (!permbean.hasPermission(MapPermission.VIEW))
......@@ -152,8 +151,7 @@ public class PlaceMap extends HttpServlet {
EventUser user = permbean.getCurrentUser();
// List<Place> selectedPlaces = placemapBean.findSelectedPlaces(map);
BufferedImage image = ImageIO.read(new ByteArrayInputStream(map
.getMapData()));
BufferedImage image = ImageIO.read(new ByteArrayInputStream(map.getMapData()));
Graphics2D g2d = image.createGraphics();
for (Place place : places) {
......
......@@ -3,7 +3,7 @@ package fi.codecrew.moya.web.cdiview.actionlog;
import java.util.List;
import javax.ejb.EJB;
import javax.faces.bean.RequestScoped;
import javax.enterprise.context.RequestScoped;
import javax.inject.Named;
import fi.codecrew.moya.beans.ActionLogBeanLocal;
......
......@@ -54,7 +54,7 @@ public class MenuView extends GenericCDIView {
public List<PageContent> getPagecontent(String pagekey)
{
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)) {
contents.put(key, pagebean.findContentsForUser(key));
......
......@@ -313,8 +313,29 @@ public class ReaderView extends GenericCDIView {
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() {
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;
import fi.codecrew.moya.web.annotations.SelectedUser;
import fi.codecrew.moya.web.cdiview.GenericCDIView;
@Named
@Named()
@ConversationScoped
public class FoodShopView extends GenericCDIView {
......@@ -26,7 +26,6 @@ public class FoodShopView extends GenericCDIView {
private static final long serialVersionUID = 1288114954999406683L;
@Inject
@SelectedUser
private EventUser user;
......
......@@ -178,18 +178,11 @@ public class UserView extends GenericCDIView {
}
public void prepareCardDownload() {
try {
mpr = cardPrintBean.getUserCardAsPrintablePdf(this.user.getId());
mpr = cardPrintBean.getUserCardAsPrintablePdf(getSelectedUser().getId());
ByteArrayInputStream pdfstream = new ByteArrayInputStream(mpr.getPdf());
// file = File.createTempFile("cardprintout", null);
// FileOutputStream fostream = new FileOutputStream(file);
// fostream.write(mpr.getPdf());
// fostream.close();
// setStreamedFile(new DefaultStreamedContent(new
// FileInputStream(this.file)));
setStreamedFile(new DefaultStreamedContent(pdfstream));
setStreamedFile(new DefaultStreamedContent(pdfstream, "application/pdf","user_" + getSelectedUser().getId() + "_card.pdf"));
logger.info("user_" + getSelectedUser().getId() + "_card.pdf");
} catch (Exception e) {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(e.getMessage()));
}
......@@ -217,13 +210,13 @@ public class UserView extends GenericCDIView {
}
public String sendImage() {
logger.debug("sending image");
if (getImage() == null)
{
logger.debug("NO image to send!");
super.addFaceMessage("user.imageUpload.imageNotFound");
} else {
logger.debug("uploading image");
UserImage userimage = userbean.uploadImage(user, getImage().getContentType(), getImage().getContents(), getImage().getFileName(), "");
user = userbean.getEventUser(userimage.getUser());
super.addFaceMessage("user.imageUploaded");
......@@ -237,7 +230,7 @@ public class UserView extends GenericCDIView {
super.beginConversation();
}
}
public void initView() {
/*
......@@ -282,13 +275,15 @@ public class UserView extends GenericCDIView {
}
public String saveUser() {
logger.info("Saving user");
if (permbean.getCurrentUser().equals(user) || permbean.hasPermission(UserPermission.MODIFY)) {
this.addFaceMessage("user.successfullySaved");
user = userbean.mergeChanges(user);
logger.info("User saved");
} else {
this.addFaceMessage("user.saveFailed");
logger.info("save failed!");
}
return "edit";
......@@ -428,6 +423,8 @@ public class UserView extends GenericCDIView {
}
public StreamedContent getStreamedFile() {
if(streamedFile == null)
logger.info("Tried to get empty streamed file");
return streamedFile;
}
......
package fi.codecrew.moya.web.converter;
import javax.ejb.EJB;
import javax.faces.bean.RequestScoped;
import javax.enterprise.context.RequestScoped;
import javax.inject.Named;
import fi.codecrew.moya.beans.VotingBeanLocal;
......
package fi.codecrew.moya.web.converter;
import javax.ejb.EJB;
import javax.faces.bean.RequestScoped;
import javax.enterprise.context.RequestScoped;
import javax.inject.Named;
import fi.codecrew.moya.beans.UserBeanLocal;
......
package fi.codecrew.moya.web.converter;
import javax.ejb.EJB;
import javax.faces.bean.RequestScoped;
import javax.enterprise.context.RequestScoped;
import javax.inject.Named;
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.inject.Inject;
import javax.inject.Named;
import org.primefaces.model.UploadedFile;
import org.slf4j.Logger;
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.utilities.I18n;
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 IncomingView extends GenericCDIView {
private static final long serialVersionUID = -9115983838324313414L;
@Inject
@SelectedUser
private transient EventUser user;
@Inject
private UserView userview;
public void initView() {
super.beginConversation();
}
public String saveUser() {
userview.saveUser();
return null;
}
private static final long serialVersionUID = 802344850073689859L;
private static final Logger logger = LoggerFactory.getLogger(IncomingView.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);
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!