Commit d2560cb6 by Tuomas Riihimäki

merge

2 parents 96d55ecb d1b6de18
...@@ -21,6 +21,7 @@ import fi.insomnia.bortal.enums.apps.SpecialPermission; ...@@ -21,6 +21,7 @@ import fi.insomnia.bortal.enums.apps.SpecialPermission;
import fi.insomnia.bortal.enums.apps.UserPermission; import fi.insomnia.bortal.enums.apps.UserPermission;
import fi.insomnia.bortal.facade.AccountEventFacade; import fi.insomnia.bortal.facade.AccountEventFacade;
import fi.insomnia.bortal.model.AccountEvent; import fi.insomnia.bortal.model.AccountEvent;
import fi.insomnia.bortal.model.EventUser;
import fi.insomnia.bortal.model.IUser; import fi.insomnia.bortal.model.IUser;
import fi.insomnia.bortal.model.Product; import fi.insomnia.bortal.model.Product;
import fi.insomnia.bortal.model.Role; import fi.insomnia.bortal.model.Role;
...@@ -91,10 +92,10 @@ public class AccountEventBean implements AccountEventBeanLocal { ...@@ -91,10 +92,10 @@ public class AccountEventBean implements AccountEventBeanLocal {
*/ */
@Override @Override
@RolesAllowed(ShopPermission.S_SHOP_PRODUCTS) @RolesAllowed(ShopPermission.S_SHOP_PRODUCTS)
public void shopCash(User shoppingUser, Map<Product, BigDecimal> shopMap, boolean buyInstant) { public void shopCash(EventUser shoppingUser, Map<Product, BigDecimal> shopMap, boolean buyInstant) {
logger.debug("Shoping cash. buyinstant {}", buyInstant); logger.debug("Shoping cash. buyinstant {}", buyInstant);
IUser seller = permbean.getCurrentUser(); EventUser seller = permbean.getCurrentUser();
shoppingUser = userbean.findById(shoppingUser.getId()); shoppingUser = userbean.findEventUserById(shoppingUser.getId());
BigDecimal tot = BigDecimal.ZERO; BigDecimal tot = BigDecimal.ZERO;
...@@ -126,7 +127,7 @@ public class AccountEventBean implements AccountEventBeanLocal { ...@@ -126,7 +127,7 @@ public class AccountEventBean implements AccountEventBeanLocal {
accountfacade.create(ac); accountfacade.create(ac);
} }
userbean.mergeChanges(shoppingUser); userbean.mergeEventUserChanges(shoppingUser);
} }
......
...@@ -71,6 +71,9 @@ public class UserBean implements UserBeanLocal { ...@@ -71,6 +71,9 @@ public class UserBean implements UserBeanLocal {
@EJB @EJB
private UserFacade userFacade; private UserFacade userFacade;
@EJB
private EventUserFacade eventUserFacade;
@PersistenceContext @PersistenceContext
private EntityManager em; private EntityManager em;
...@@ -375,7 +378,7 @@ public class UserBean implements UserBeanLocal { ...@@ -375,7 +378,7 @@ public class UserBean implements UserBeanLocal {
UserImage ret = new UserImage(user); UserImage ret = new UserImage(user);
ret.setMimeType(currimage.getMimeType()); ret.setMimeType(currimage.getMimeType());
EventUser curruser = permbean.getCurrentUser(); User curruser = permbean.getCurrentUser().getUser();
ret.setDescription("Cropped by: [" + curruser.getId() + "] " + curruser.getWholeName() + " from image: " + currimage.getId()); ret.setDescription("Cropped by: [" + curruser.getId() + "] " + curruser.getWholeName() + " from image: " + currimage.getId());
ret.setImageData(naamaout.toByteArray()); ret.setImageData(naamaout.toByteArray());
...@@ -404,4 +407,21 @@ public class UserBean implements UserBeanLocal { ...@@ -404,4 +407,21 @@ public class UserBean implements UserBeanLocal {
IUser usr = userFacade.findByLogin(login); IUser usr = userFacade.findByLogin(login);
return usr != null; return usr != null;
} }
@Override
public EventUser findEventUserById(Integer integer) {
return eventUserFacade.find(integer);
}
@Override
@RolesAllowed(SpecialPermission.S_USER)
public EventUser mergeEventUserChanges(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");
}
EventUser ret = eventUserFacade.merge(user);
return ret;
}
} }
...@@ -7,10 +7,10 @@ import java.util.Map; ...@@ -7,10 +7,10 @@ import java.util.Map;
import javax.ejb.Local; import javax.ejb.Local;
import fi.insomnia.bortal.model.AccountEvent; import fi.insomnia.bortal.model.AccountEvent;
import fi.insomnia.bortal.model.EventUser;
import fi.insomnia.bortal.model.IUser; import fi.insomnia.bortal.model.IUser;
import fi.insomnia.bortal.model.Product; import fi.insomnia.bortal.model.Product;
import fi.insomnia.bortal.model.Role; import fi.insomnia.bortal.model.Role;
import fi.insomnia.bortal.model.User;
@Local @Local
public interface AccountEventBeanLocal { public interface AccountEventBeanLocal {
...@@ -23,7 +23,7 @@ public interface AccountEventBeanLocal { ...@@ -23,7 +23,7 @@ public interface AccountEventBeanLocal {
List<Role> getRolesFromAccountEvents(IUser u); List<Role> getRolesFromAccountEvents(IUser u);
void shopCash(User shoppingUser, Map<Product, BigDecimal> void shopCash(EventUser shoppingUser, Map<Product, BigDecimal>
shopMap, boolean buyInstant); shopMap, boolean buyInstant);
BigDecimal getAccountBalance(IUser user); BigDecimal getAccountBalance(IUser user);
......
...@@ -5,6 +5,7 @@ import java.util.List; ...@@ -5,6 +5,7 @@ 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.Role; import fi.insomnia.bortal.model.Role;
import fi.insomnia.bortal.model.User; import fi.insomnia.bortal.model.User;
...@@ -36,6 +37,8 @@ public interface UserBeanLocal { ...@@ -36,6 +37,8 @@ public interface UserBeanLocal {
User findById(Integer integer); User findById(Integer integer);
EventUser findEventUserById(Integer integer);
GroupMembership findToken(String token); GroupMembership findToken(String token);
void createFromToken(User user, String token); void createFromToken(User user, String token);
...@@ -50,4 +53,6 @@ public interface UserBeanLocal { ...@@ -50,4 +53,6 @@ public interface UserBeanLocal {
boolean invite(String invitemail, String url); boolean invite(String invitemail, String url);
EventUser mergeEventUserChanges(EventUser shoppingUser);
} }
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!