Commit 5a7124c9 by Tuomas Riihimäki

le fix

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