Commit 5a7124c9 by Tuomas Riihimäki

le fix

1 parent 21bd2932
...@@ -25,8 +25,8 @@ import fi.insomnia.bortal.enums.apps.MapPermission; ...@@ -25,8 +25,8 @@ import fi.insomnia.bortal.enums.apps.MapPermission;
import fi.insomnia.bortal.enums.apps.SpecialPermission; import fi.insomnia.bortal.enums.apps.SpecialPermission;
import fi.insomnia.bortal.facade.GroupMembershipFacade; import fi.insomnia.bortal.facade.GroupMembershipFacade;
import fi.insomnia.bortal.facade.PlaceGroupFacade; import fi.insomnia.bortal.facade.PlaceGroupFacade;
import fi.insomnia.bortal.model.EventUser;
import fi.insomnia.bortal.model.GroupMembership; import fi.insomnia.bortal.model.GroupMembership;
import fi.insomnia.bortal.model.IUser;
import fi.insomnia.bortal.model.PlaceGroup; import fi.insomnia.bortal.model.PlaceGroup;
/** /**
...@@ -76,7 +76,7 @@ public class PlaceGroupBean implements PlaceGroupBeanLocal { ...@@ -76,7 +76,7 @@ public class PlaceGroupBean implements PlaceGroupBeanLocal {
@Override @Override
@RolesAllowed(SpecialPermission.S_USER) @RolesAllowed(SpecialPermission.S_USER)
public List<GroupMembership> getMembershipsAndCreations(IUser user) { public List<GroupMembership> getMembershipsAndCreations(EventUser user) {
if (user == null) { if (user == null) {
user = permbean.getCurrentUser(); user = permbean.getCurrentUser();
} else if (!permbean.isCurrentUser(user) && !permbean.hasPermission(MapPermission.MANAGE_OTHERS)) { } else if (!permbean.isCurrentUser(user) && !permbean.hasPermission(MapPermission.MANAGE_OTHERS)) {
...@@ -88,7 +88,7 @@ public class PlaceGroupBean implements PlaceGroupBeanLocal { ...@@ -88,7 +88,7 @@ public class PlaceGroupBean implements PlaceGroupBeanLocal {
@Override @Override
@RolesAllowed(SpecialPermission.S_USER) @RolesAllowed(SpecialPermission.S_USER)
public List<GroupMembership> getMemberships(IUser user) { public List<GroupMembership> getMemberships(EventUser user) {
if (user == null) { if (user == null) {
user = permbean.getCurrentUser(); user = permbean.getCurrentUser();
} else if (!permbean.isCurrentUser(user) && !permbean.hasPermission(MapPermission.MANAGE_OTHERS)) { } else if (!permbean.isCurrentUser(user) && !permbean.hasPermission(MapPermission.MANAGE_OTHERS)) {
...@@ -100,7 +100,7 @@ public class PlaceGroupBean implements PlaceGroupBeanLocal { ...@@ -100,7 +100,7 @@ public class PlaceGroupBean implements PlaceGroupBeanLocal {
@Override @Override
@RolesAllowed(MapPermission.S_BUY_PLACES) @RolesAllowed(MapPermission.S_BUY_PLACES)
public boolean associateToToken(IUser user, String token) { public boolean associateToToken(EventUser user, String token) {
if (!permbean.isCurrentUser(user) && !permbean.hasPermission(MapPermission.MANAGE_OTHERS)) { if (!permbean.isCurrentUser(user) && !permbean.hasPermission(MapPermission.MANAGE_OTHERS)) {
throw new EJBAccessException(); throw new EJBAccessException();
...@@ -121,7 +121,7 @@ public class PlaceGroupBean implements PlaceGroupBeanLocal { ...@@ -121,7 +121,7 @@ public class PlaceGroupBean implements PlaceGroupBeanLocal {
@Override @Override
@RolesAllowed(SpecialPermission.S_USER) @RolesAllowed(SpecialPermission.S_USER)
public void getGroupMembershipPdf(IUser usr, OutputStream ostream) { public void getGroupMembershipPdf(EventUser usr, OutputStream ostream) {
List<GroupMembership> memberships = getMembershipsAndCreations(usr); List<GroupMembership> memberships = getMembershipsAndCreations(usr);
try { try {
PDF pdf = new PDF(ostream); PDF pdf = new PDF(ostream);
...@@ -191,7 +191,7 @@ public class PlaceGroupBean implements PlaceGroupBeanLocal { ...@@ -191,7 +191,7 @@ public class PlaceGroupBean implements PlaceGroupBeanLocal {
@Override @Override
@RolesAllowed(SpecialPermission.S_USER) @RolesAllowed(SpecialPermission.S_USER)
public List<PlaceGroup> getPlacegroups(IUser user) { public List<PlaceGroup> getPlacegroups(EventUser user) {
return pgfacade.find(user); return pgfacade.find(user);
} }
} }
...@@ -13,14 +13,15 @@ import javax.ejb.Stateless; ...@@ -13,14 +13,15 @@ import javax.ejb.Stateless;
import fi.insomnia.bortal.enums.apps.ShopPermission; import fi.insomnia.bortal.enums.apps.ShopPermission;
import fi.insomnia.bortal.facade.AccountEventFacade; import fi.insomnia.bortal.facade.AccountEventFacade;
import fi.insomnia.bortal.facade.DiscountFacade; import fi.insomnia.bortal.facade.DiscountFacade;
import fi.insomnia.bortal.facade.EventUserFacade;
import fi.insomnia.bortal.facade.ProductFacade; import fi.insomnia.bortal.facade.ProductFacade;
import fi.insomnia.bortal.facade.UserFacade; import fi.insomnia.bortal.facade.UserFacade;
import fi.insomnia.bortal.model.AccountEvent; import fi.insomnia.bortal.model.AccountEvent;
import fi.insomnia.bortal.model.Discount; import fi.insomnia.bortal.model.Discount;
import fi.insomnia.bortal.model.DiscountInstance; import fi.insomnia.bortal.model.DiscountInstance;
import fi.insomnia.bortal.model.EventUser;
import fi.insomnia.bortal.model.LanEvent; import fi.insomnia.bortal.model.LanEvent;
import fi.insomnia.bortal.model.Product; import fi.insomnia.bortal.model.Product;
import fi.insomnia.bortal.model.User;
/** /**
* Session Bean implementation class ProductBean * Session Bean implementation class ProductBean
...@@ -52,6 +53,8 @@ public class ProductBean implements ProductBeanLocal { ...@@ -52,6 +53,8 @@ public class ProductBean implements ProductBeanLocal {
@EJB @EJB
private PermissionBeanLocal permbean; private PermissionBeanLocal permbean;
@EJB
private EventUserFacade eventUserFacade;
/** /**
* Default constructor. * Default constructor.
...@@ -130,14 +133,14 @@ public class ProductBean implements ProductBeanLocal { ...@@ -130,14 +133,14 @@ public class ProductBean implements ProductBeanLocal {
// } // }
@Override @Override
public AccountEvent createAccountEvent(Product product, BigDecimal quantity, User user) { public AccountEvent createAccountEvent(Product product, BigDecimal quantity, EventUser user) {
BigDecimal unitPrice = product.getPrice().negate(); BigDecimal unitPrice = product.getPrice().negate();
List<Discount> discounts = product.getActiveDiscounts(quantity); List<Discount> discounts = product.getActiveDiscounts(quantity);
for (Discount d : discounts) { for (Discount d : discounts) {
unitPrice = unitPrice.multiply(d.getPercentage()); unitPrice = unitPrice.multiply(d.getPercentage());
} }
user = userFacade.find(user.getId()); user = eventUserFacade.find(user.getId());
AccountEvent ret = new AccountEvent(user, product, unitPrice, quantity, Calendar.getInstance()); AccountEvent ret = new AccountEvent(user, product, unitPrice, quantity, Calendar.getInstance());
ret.setDelivered(Calendar.getInstance()); ret.setDelivered(Calendar.getInstance());
......
...@@ -117,13 +117,13 @@ public class UserBean implements UserBeanLocal { ...@@ -117,13 +117,13 @@ public class UserBean implements UserBeanLocal {
@Override @Override
@RolesAllowed(SpecialPermission.S_USER) @RolesAllowed(SpecialPermission.S_USER)
public User mergeChanges(User user) { public EventUser mergeChanges(EventUser user) {
if (!permbean.isCurrentUser(user) && !permbean.hasPermission(UserPermission.MODIFY)) { if (!permbean.isCurrentUser(user) && !permbean.hasPermission(UserPermission.MODIFY)) {
loggerbean.logMessage(SecurityLogType.permissionDenied, permbean.getCurrentUser(), "User tried to save another user: " + user); loggerbean.logMessage(SecurityLogType.permissionDenied, permbean.getCurrentUser(), "User tried to save another user: " + user);
throw new EJBAccessException("Not enough rights to save user"); throw new EJBAccessException("Not enough rights to save user");
} }
User ret = userFacade.merge(user); EventUser ret = eventUserFacade.merge(user);
ctbean.checkPrintedCard(ret); ctbean.checkPrintedCard(ret);
return ret; return ret;
...@@ -186,9 +186,9 @@ public class UserBean implements UserBeanLocal { ...@@ -186,9 +186,9 @@ public class UserBean implements UserBeanLocal {
@Override @Override
@RolesAllowed(SpecialPermission.S_USER) @RolesAllowed(SpecialPermission.S_USER)
public UserImage uploadImage(User user, String contentType, byte[] image, String filename, String description) { public UserImage uploadImage(EventUser user, String contentType, byte[] image, String filename, String description) {
user = userFacade.merge(user); user = eventUserFacade.merge(user);
logger.debug("uploading image to userid {}", user); logger.debug("uploading image to userid {}", user);
IUser curruser = permbean.getCurrentUser(); IUser curruser = permbean.getCurrentUser();
...@@ -197,7 +197,7 @@ public class UserBean implements UserBeanLocal { ...@@ -197,7 +197,7 @@ public class UserBean implements UserBeanLocal {
throw new EJBAccessException("No permission to upload image as another user"); throw new EJBAccessException("No permission to upload image as another user");
} }
UserImage userimage = new UserImage(user); UserImage userimage = new UserImage(user.getUser());
userimage.setMimeType(contentType); userimage.setMimeType(contentType);
userimage.setImageData(image); userimage.setImageData(image);
userimage.setName(filename); userimage.setName(filename);
...@@ -241,11 +241,12 @@ public class UserBean implements UserBeanLocal { ...@@ -241,11 +241,12 @@ public class UserBean implements UserBeanLocal {
@Override @Override
@RolesAllowed(UserPermission.S_CREATE_NEW) @RolesAllowed(UserPermission.S_CREATE_NEW)
public void createNewUser(User user, String password) { public void createNewUser(EventUser user, String password) {
user.resetPassword(password); user.resetPassword(password);
user.setEvent(eventBean.getCurrentEvent());
// Tallennetaan olio kantaan... // Tallennetaan olio kantaan...
userFacade.create(user); eventUserFacade.create(user);
em.flush(); em.flush();
} }
...@@ -347,14 +348,13 @@ public class UserBean implements UserBeanLocal { ...@@ -347,14 +348,13 @@ public class UserBean implements UserBeanLocal {
@Override @Override
@PermitAll @PermitAll
public void createFromToken(User user, String token) { public void createFromToken(EventUser user, String token) {
GroupMembership gm = findToken(token); GroupMembership gm = findToken(token);
EventUser eventuser = new EventUser(user, eventBean.getCurrentEvent()); user.setEvent(eventBean.getCurrentEvent());
gm.setUser(user);
gm.setUser(eventuser);
gm.setInviteAccepted(Calendar.getInstance()); gm.setInviteAccepted(Calendar.getInstance());
userFacade.create(user); eventUserFacade.create(user);
} }
@Override @Override
...@@ -422,4 +422,17 @@ public class UserBean implements UserBeanLocal { ...@@ -422,4 +422,17 @@ public class UserBean implements UserBeanLocal {
EventUser ret = eventUserFacade.merge(user); EventUser ret = eventUserFacade.merge(user);
return ret; return ret;
} }
@Override
public EventUser getEventUser(User user) {
EventUser ret = eventUserFacade.find(user);
if (ret == null)
{
ret = new EventUser(user, eventBean.getCurrentEvent());
eventUserFacade.create(ret);
eventUserFacade.flush();
}
return ret;
}
} }
...@@ -27,6 +27,7 @@ import org.slf4j.Logger; ...@@ -27,6 +27,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import fi.insomnia.bortal.enums.apps.SpecialPermission; import fi.insomnia.bortal.enums.apps.SpecialPermission;
import fi.insomnia.bortal.facade.UserFacade;
import fi.insomnia.bortal.model.LanEventPropertyKey; import fi.insomnia.bortal.model.LanEventPropertyKey;
import fi.insomnia.bortal.model.User; import fi.insomnia.bortal.model.User;
import fi.insomnia.bortal.model.UserImage; import fi.insomnia.bortal.model.UserImage;
...@@ -56,6 +57,8 @@ public class UtilBean implements UtilBeanLocal { ...@@ -56,6 +57,8 @@ public class UtilBean implements UtilBeanLocal {
private Queue mailQueue; private Queue mailQueue;
@Resource(name = "connFactory", mappedName = "jms/mailconnectionfactory") @Resource(name = "connFactory", mappedName = "jms/mailconnectionfactory")
private QueueConnectionFactory mailQuefactory; private QueueConnectionFactory mailQuefactory;
@EJB
private UserFacade userfacade;
@Override @Override
public boolean sendMail(MailMessage message) { public boolean sendMail(MailMessage message) {
...@@ -94,7 +97,7 @@ public class UtilBean implements UtilBeanLocal { ...@@ -94,7 +97,7 @@ public class UtilBean implements UtilBeanLocal {
@Override @Override
public boolean convertImage(User user) { public boolean convertImage(User user) {
user = userbean.mergeChanges(user); user = userfacade.find(user.getId());
UserImage oldpic = user.getCurrentImage(); UserImage oldpic = user.getCurrentImage();
if (oldpic == null || oldpic.getMimeType() == null || if (oldpic == null || oldpic.getMimeType() == null ||
......
...@@ -10,6 +10,7 @@ import javax.persistence.criteria.Root; ...@@ -10,6 +10,7 @@ import javax.persistence.criteria.Root;
import fi.insomnia.bortal.beans.EventBeanLocal; import fi.insomnia.bortal.beans.EventBeanLocal;
import fi.insomnia.bortal.model.EventUser; import fi.insomnia.bortal.model.EventUser;
import fi.insomnia.bortal.model.EventUser_; import fi.insomnia.bortal.model.EventUser_;
import fi.insomnia.bortal.model.User;
import fi.insomnia.bortal.model.User_; import fi.insomnia.bortal.model.User_;
/** /**
...@@ -38,4 +39,17 @@ public class EventUserFacade extends IntegerPkGenericFacade<EventUser> { ...@@ -38,4 +39,17 @@ public class EventUserFacade extends IntegerPkGenericFacade<EventUser> {
return getSingleNullableResult(getEm().createQuery(cq)); return getSingleNullableResult(getEm().createQuery(cq));
} }
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()));
return getSingleNullableResult(getEm().createQuery(cq));
}
} }
...@@ -5,8 +5,8 @@ import java.util.List; ...@@ -5,8 +5,8 @@ import java.util.List;
import javax.ejb.Local; import javax.ejb.Local;
import fi.insomnia.bortal.model.EventUser;
import fi.insomnia.bortal.model.GroupMembership; import fi.insomnia.bortal.model.GroupMembership;
import fi.insomnia.bortal.model.IUser;
import fi.insomnia.bortal.model.PlaceGroup; import fi.insomnia.bortal.model.PlaceGroup;
@Local @Local
...@@ -18,16 +18,16 @@ public interface PlaceGroupBeanLocal { ...@@ -18,16 +18,16 @@ public interface PlaceGroupBeanLocal {
// List<GroupMembership> getMemberships(User user); // List<GroupMembership> getMemberships(User user);
boolean associateToToken(IUser user, String token);
void releaseAndGenerateToken(GroupMembership gmem); void releaseAndGenerateToken(GroupMembership gmem);
List<GroupMembership> getMembershipsAndCreations(IUser user); List<GroupMembership> getMembershipsAndCreations(EventUser user);
List<GroupMembership> getMemberships(EventUser user);
List<GroupMembership> getMemberships(IUser user); List<PlaceGroup> getPlacegroups(EventUser user);
List<PlaceGroup> getPlacegroups(IUser user); void getGroupMembershipPdf(EventUser usr, OutputStream ostream);
void getGroupMembershipPdf(IUser usr, OutputStream ostream); boolean associateToToken(EventUser user, String token);
} }
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!