Commit 6645ef86 by Juho Juopperi

Merge branch 'eventuser'

Conflicts:
	code/LanBortalBeans/ejbModule/fi/insomnia/bortal/beans/PermissionBean.java
2 parents f7eed6bc 7adfcabf
Showing with 1266 additions and 377 deletions
......@@ -21,6 +21,8 @@ import fi.insomnia.bortal.enums.apps.SpecialPermission;
import fi.insomnia.bortal.enums.apps.UserPermission;
import fi.insomnia.bortal.facade.AccountEventFacade;
import fi.insomnia.bortal.model.AccountEvent;
import fi.insomnia.bortal.model.EventUser;
import fi.insomnia.bortal.model.IUser;
import fi.insomnia.bortal.model.Product;
import fi.insomnia.bortal.model.Role;
import fi.insomnia.bortal.model.User;
......@@ -81,7 +83,7 @@ public class AccountEventBean implements AccountEventBeanLocal {
}
@Override
public List<Role> getRolesFromAccountEvents(User u) {
public List<Role> getRolesFromAccountEvents(IUser u) {
return accountfacade.findProvidedRoles(eventBean.getCurrentEvent(), u);
}
......@@ -90,10 +92,10 @@ public class AccountEventBean implements AccountEventBeanLocal {
*/
@Override
@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);
User seller = permbean.getCurrentUser();
shoppingUser = userbean.findById(shoppingUser.getId());
EventUser seller = permbean.getCurrentUser();
shoppingUser = userbean.findEventUserById(shoppingUser.getId());
BigDecimal tot = BigDecimal.ZERO;
......@@ -125,13 +127,13 @@ public class AccountEventBean implements AccountEventBeanLocal {
accountfacade.create(ac);
}
userbean.mergeChanges(shoppingUser);
userbean.mergeEventUserChanges(shoppingUser);
}
@Override
@RolesAllowed(SpecialPermission.S_USER)
public BigDecimal getAccountBalance(User user) {
public BigDecimal getAccountBalance(IUser user) {
if (user == null) {
user = permbean.getCurrentUser();
}
......@@ -153,7 +155,7 @@ public class AccountEventBean implements AccountEventBeanLocal {
@Override
@RolesAllowed(SpecialPermission.S_USER)
public List<AccountEvent> getAccountEvents(User user) {
public List<AccountEvent> getAccountEvents(IUser user) {
if (user == null) {
user = permbean.getCurrentUser();
}
......
......@@ -21,13 +21,12 @@ import fi.insomnia.bortal.enums.apps.BillPermission;
import fi.insomnia.bortal.enums.apps.SpecialPermission;
import fi.insomnia.bortal.facade.BillFacade;
import fi.insomnia.bortal.facade.BillLineFacade;
import fi.insomnia.bortal.facade.UserFacade;
import fi.insomnia.bortal.model.AccountEvent;
import fi.insomnia.bortal.model.Bill;
import fi.insomnia.bortal.model.BillLine;
import fi.insomnia.bortal.model.IUser;
import fi.insomnia.bortal.model.LanEvent;
import fi.insomnia.bortal.model.Product;
import fi.insomnia.bortal.model.User;
import fi.insomnia.bortal.util.MailMessage;
import fi.insomnia.bortal.utilities.I18n;
......@@ -63,10 +62,6 @@ public class BillBean implements BillBeanLocal {
private PlaceBean placebean;
@EJB
private PermissionBeanLocal permissionbean;
@EJB
private UserFacade userfacade;
@EJB
private UtilBean utilbean;
@EJB
......@@ -86,7 +81,7 @@ public class BillBean implements BillBeanLocal {
return null;
}
Bill bill = billFacade.find(id);
User currentuser = permbean.getCurrentUser();
IUser currentuser = permbean.getCurrentUser();
logger.debug("bill {} user {}", bill, currentuser);
if (bill != null && !currentuser.equals(bill.getUser()) && !permbean.hasPermission(BillPermission.READ_ALL)) {
......@@ -255,7 +250,7 @@ public class BillBean implements BillBeanLocal {
@Override
@RolesAllowed({ BillPermission.S_VIEW_OWN, BillPermission.S_READ_ALL })
public List<Bill> find(User user) {
public List<Bill> find(IUser user) {
if (!permbean.isCurrentUser(user) && !permbean.hasPermission(BillPermission.READ_ALL)) {
loggingBean.logMessage(SecurityLogType.permissionDenied, permbean.getCurrentUser(), "Not enought rights to get bill list for user ");
throw new EJBAccessException("Could not list bills for another user");
......
......@@ -18,9 +18,12 @@ import org.slf4j.LoggerFactory;
import fi.insomnia.bortal.enums.apps.UserPermission;
import fi.insomnia.bortal.facade.CardTemplateFacade;
import fi.insomnia.bortal.facade.EventUserFacade;
import fi.insomnia.bortal.facade.PrintedCardFacade;
import fi.insomnia.bortal.facade.UserFacade;
import fi.insomnia.bortal.model.CardTemplate;
import fi.insomnia.bortal.model.EventUser;
import fi.insomnia.bortal.model.IUser;
import fi.insomnia.bortal.model.LanEvent;
import fi.insomnia.bortal.model.PrintedCard;
import fi.insomnia.bortal.model.Role;
......@@ -56,7 +59,7 @@ public class CardTemplateBean implements CardTemplateBeanLocal {
private UtilBeanLocal mailbean;
@EJB
private UserFacade userfacade;
private EventUserFacade eventUserFacade;
@EJB
private UserBeanLocal userbean;
......@@ -88,7 +91,7 @@ public class CardTemplateBean implements CardTemplateBeanLocal {
@Override
public void checkAllUsersCardRights() {
for (User u : userbean.getUsers()) {
for (EventUser u : eventUserFacade.findAll()) {
checkPrintedCard(u);
}
}
......@@ -99,10 +102,10 @@ public class CardTemplateBean implements CardTemplateBeanLocal {
* @throws PermissionDeniedException
*/
@Override
public PrintedCard checkPrintedCard(User user) {
public PrintedCard checkPrintedCard(EventUser user) {
logger.info("Checking printed card");
user = userfacade.find(user.getId());
user = eventUserFacade.find(user.getId());
LanEvent currEvent = eventBean.getCurrentEvent();
List<PrintedCard> myCards = printedcardfacade.getCards(user);
......@@ -149,7 +152,7 @@ public class CardTemplateBean implements CardTemplateBeanLocal {
logger.info("User {} has too little power old role {} New role {}", new Object[] { user.getLogin(), existingPower, newPower });
} else if (existingPower > newPower) {
MailMessage msg = new MailMessage();
User admin = eventBean.getCurrentEvent().getOrganiser().getAdmin();
IUser admin = eventBean.getCurrentEvent().getOrganiser().getAdmin();
String adminmail = admin.getEmail();
msg.setFromAddress(adminmail);
......@@ -168,7 +171,7 @@ public class CardTemplateBean implements CardTemplateBeanLocal {
}
@RolesAllowed(UserPermission.S_WRITE_ROLES)
public CardTemplate getUsersCardtype(User user) {
public CardTemplate getUsersCardtype(EventUser user) {
List<Role> roles = userbean.findUsersRoles(user);
CardTemplate greatestTemplate = null;
......@@ -184,7 +187,7 @@ public class CardTemplateBean implements CardTemplateBeanLocal {
}
@Override
public PrintedCard setRfidUid(String tag, User user) {
public PrintedCard setRfidUid(String tag, EventUser user) {
PrintedCard ct = checkPrintedCard(user);
return setRfidUid(tag, ct);
}
......@@ -214,7 +217,7 @@ public class CardTemplateBean implements CardTemplateBeanLocal {
}
@Override
public List<PrintedCard> getCards(User user) {
public List<PrintedCard> getCards(EventUser user) {
return printedcardfacade.getCards(user);
}
......
......@@ -17,11 +17,11 @@ import fi.insomnia.bortal.facade.EventOrganiserFacade;
import fi.insomnia.bortal.facade.LanEventDomainFacade;
import fi.insomnia.bortal.facade.LanEventPropertyFacade;
import fi.insomnia.bortal.model.EventOrganiser;
import fi.insomnia.bortal.model.EventUser;
import fi.insomnia.bortal.model.LanEvent;
import fi.insomnia.bortal.model.LanEventDomain;
import fi.insomnia.bortal.model.LanEventProperty;
import fi.insomnia.bortal.model.LanEventPropertyKey;
import fi.insomnia.bortal.model.User;
/**
* Session Bean implementation class EventBean
......@@ -82,7 +82,7 @@ public class EventBean implements EventBeanLocal {
settings = new EventOrganiser();
settings.setOrganisation(DEFAULT_ORGANISATION_NAME);
User defaultUser = permbean.getAnonUser();
EventUser defaultUser = permbean.getAnonEventUser();
settings.setAdmin(defaultUser);
eventOrganiserFacade.create(settings);
}
......
......@@ -11,8 +11,8 @@ import fi.insomnia.bortal.enums.apps.SpecialPermission;
import fi.insomnia.bortal.facade.EventFacade;
import fi.insomnia.bortal.facade.EventOrganiserFacade;
import fi.insomnia.bortal.model.EventOrganiser;
import fi.insomnia.bortal.model.IUser;
import fi.insomnia.bortal.model.LanEvent;
import fi.insomnia.bortal.model.User;
/**
* Session Bean implementation class EventOrganiserBean
......@@ -71,7 +71,7 @@ public class EventOrganiserBean implements EventOrganiserBeanLocal {
}
@Override
public List<EventOrganiser> getOrganisations(User user) {
public List<EventOrganiser> getOrganisations(IUser user) {
return eventorgfacade.find(user);
}
}
......@@ -15,8 +15,10 @@ import fi.insomnia.bortal.enums.BortalApplication;
import fi.insomnia.bortal.enums.apps.IAppPermission;
import fi.insomnia.bortal.enums.apps.SpecialPermission;
import fi.insomnia.bortal.enums.apps.UserPermission;
import fi.insomnia.bortal.facade.EventUserFacade;
import fi.insomnia.bortal.facade.UserFacade;
import fi.insomnia.bortal.model.ApplicationPermission;
import fi.insomnia.bortal.model.EventUser;
import fi.insomnia.bortal.model.LanEvent;
import fi.insomnia.bortal.model.Role;
import fi.insomnia.bortal.model.User;
......@@ -28,10 +30,14 @@ import fi.insomnia.bortal.model.User;
public class JaasBean implements JaasBeanLocal, JaasBeanRemote {
private static final Logger logger = LoggerFactory.getLogger(JaasBean.class);
@EJB
private UserFacade userfacade;
@EJB
private EventUserFacade eventUserFacade;
@EJB
private LoggingBeanLocal secubean;
@EJB
......@@ -41,21 +47,32 @@ public class JaasBean implements JaasBeanLocal, JaasBeanRemote {
@EJB
private EventBeanLocal eventbean;
public User tryLogin(String username, String password) {
public EventUser tryLogin(String username, String password) {
EventUser eventUser = eventUserFacade.findByLogin(username.trim());
User user = userfacade.findByLogin(username.trim());
User ret = null;
if (user != null) {
if (user.isAnonymous()) {
// Might not have EventUser
if (eventUser == null) {
User user = userfacade.findByLogin(username.trim());
if (user != null) {
eventUser = new EventUser(user, eventbean.getCurrentEvent());
eventUserFacade.merge(eventUser);
}
}
EventUser ret = null;
if (eventUser != null) {
if (eventUser.isAnonymous()) {
logger.info("logging in as anonymous!!!");
ret = user;
} else if (user.checkPassword(password)) {
ret = user;
ret = eventUser;
} else if (eventUser.checkPassword(password)) {
ret = eventUser;
} else {
secubean.logMessage(SecurityLogType.permissionDenied, user, "Login failed: wrong password for username ", username);
secubean.logMessage(SecurityLogType.permissionDenied, eventUser.getUser(), "Login failed: wrong password for username ", username);
}
} else {
secubean.logMessage(SecurityLogType.permissionDenied, null, "Login failed: Username not found: ", username);
secubean.logMessage(SecurityLogType.permissionDenied, (User)null, "Login failed: Username not found: ", username);
}
......@@ -71,12 +88,12 @@ public class JaasBean implements JaasBeanLocal, JaasBeanRemote {
@Override
public Enumeration<String> getGroupNames(String user) {
logger.info("Fetching groupNames for user {} event {}", user, eventbean.getCurrentEvent().getName());
User usr = userfacade.findByLogin(user);
EventUser usr = eventUserFacade.findByLogin(user);
HashSet<String> roleset = new HashSet<String>();
roleset.add(UserPermission.ANYUSER.getFullName());
if (usr == null) {
usr = permbean.getAnonUser();
usr = permbean.getAnonEventUser();
roleset.add(SpecialPermission.ANONYMOUS.name());
}
......
......@@ -13,6 +13,7 @@ import org.slf4j.Logger;
import fi.insomnia.bortal.facade.LogEntryFacade;
import fi.insomnia.bortal.facade.LogEntryTypeFacade;
import fi.insomnia.bortal.model.EventUser;
import fi.insomnia.bortal.model.LogEntry;
import fi.insomnia.bortal.model.LogEntryType;
import fi.insomnia.bortal.model.User;
......@@ -26,7 +27,8 @@ public class LoggingBean implements LoggingBeanLocal {
private static final boolean DEBUG = true;
private final Logger logger = org.slf4j.LoggerFactory.getLogger(LoggingBean.class);
private final Logger logger = org.slf4j.LoggerFactory
.getLogger(LoggingBean.class);
@EJB
private LogEntryTypeFacade typeFacade;
@EJB
......@@ -84,7 +86,8 @@ public class LoggingBean implements LoggingBeanLocal {
// }
@Override
public LogEntry logMessage(SecurityLogType paramType, User user, String... description) {
public LogEntry logMessage(SecurityLogType paramType, User user,
String... description) {
LogEntry entry = null;
try {
String desc = toString(description);
......@@ -97,7 +100,10 @@ public class LoggingBean implements LoggingBeanLocal {
entryFacade.create(entry);
if (DEBUG) {
logger.debug("SECURITY DEBUG: Type: \"{}\" user \"{}\", description \"{}\"", new String[] { paramType.name(), (user == null) ? "null" : user.getLogin(), desc });
logger.debug(
"SECURITY DEBUG: Type: \"{}\" user \"{}\", description \"{}\"",
new String[] { paramType.name(),
(user == null) ? "null" : user.getLogin(), desc });
}
utx.commit();
} catch (Exception e) {
......@@ -106,6 +112,12 @@ public class LoggingBean implements LoggingBeanLocal {
return entry;
}
@Override
public LogEntry logMessage(SecurityLogType paramType, EventUser user,
String... description) {
return logMessage(paramType, user.getUser(), description);
}
private static final String toString(String... desc) {
StringBuilder msg = new StringBuilder();
for (String msgpart : desc) {
......
......@@ -32,17 +32,19 @@ import org.slf4j.LoggerFactory;
import fi.insomnia.bortal.enums.apps.MapPermission;
import fi.insomnia.bortal.enums.apps.SpecialPermission;
import fi.insomnia.bortal.exceptions.BortalCatchableException;
import fi.insomnia.bortal.facade.EventUserFacade;
import fi.insomnia.bortal.facade.GroupMembershipFacade;
import fi.insomnia.bortal.facade.PlaceFacade;
import fi.insomnia.bortal.facade.PlaceGroupFacade;
import fi.insomnia.bortal.facade.UserFacade;
import fi.insomnia.bortal.model.EventMap;
import fi.insomnia.bortal.model.EventUser;
import fi.insomnia.bortal.model.GroupMembership;
import fi.insomnia.bortal.model.IUser;
import fi.insomnia.bortal.model.LanEvent;
import fi.insomnia.bortal.model.Place;
import fi.insomnia.bortal.model.PlaceGroup;
import fi.insomnia.bortal.model.Product;
import fi.insomnia.bortal.model.User;
/**
*
......@@ -75,8 +77,13 @@ public class PlaceBean implements PlaceBeanLocal {
private LoggingBeanLocal logbean;
@EJB
private PermissionBeanLocal permbean;
@EJB
private UserFacade userfacade;
@EJB
private EventUserFacade eventUserFacade;
@EJB
private LoggingBeanLocal loggerbean;
@EJB
......@@ -109,13 +116,13 @@ public class PlaceBean implements PlaceBeanLocal {
@RolesAllowed(MapPermission.S_MANAGE_OTHERS)
@Override
public BigDecimal getTotalReservationPrice(User user, Place newPlace)
public BigDecimal getTotalReservationPrice(EventUser user, Place newPlace)
{
return addAndCalcPrice(user, newPlace);
}
private BigDecimal addAndCalcPrice(User user, Place newPlace) {
private BigDecimal addAndCalcPrice(IUser user, Place newPlace) {
Set<Place> places = new HashSet<Place>();
places.addAll(placeFacade.findUsersReservations(eventBean.getCurrentEvent(), user));
......@@ -173,9 +180,9 @@ public class PlaceBean implements PlaceBeanLocal {
*/
@Override
@RolesAllowed(MapPermission.S_BUY_PLACES)
public boolean reservePlace(Place place, User user) {
public boolean reservePlace(Place place, EventUser user) {
place = placeFacade.find(place.getId());
user = userfacade.find(user.getId());
user = eventUserFacade.find(user.getId());
boolean ret = false;
if (place.isBuyable() && !place.isTaken()) {
place.setCurrentUser(user);
......@@ -221,7 +228,7 @@ public class PlaceBean implements PlaceBeanLocal {
@Override
@RolesAllowed(MapPermission.S_BUY_PLACES)
public PlaceGroup buySelectedPlaces(User user) throws BortalCatchableException {
public PlaceGroup buySelectedPlaces(EventUser user) throws BortalCatchableException {
if (user == null) {
user = permbean.getCurrentUser();
} else {
......@@ -229,7 +236,7 @@ public class PlaceBean implements PlaceBeanLocal {
loggerbean.logMessage(SecurityLogType.permissionDenied, permbean.getCurrentUser(), "Can not buy places for user " + user);
throw new EJBAccessException("Not enough permissions to buy place");
}
user = userfacade.find(user.getId());
user = eventUserFacade.find(user.getId());
}
LanEvent event = eventBean.getCurrentEvent();
......@@ -272,7 +279,7 @@ public class PlaceBean implements PlaceBeanLocal {
}
// This method should not be available in the local bean client
void lockPlaceProduct(User user, Product prod, BigDecimal quantity) {
void lockPlaceProduct(EventUser user, Product prod, BigDecimal quantity) {
int loop = quantity.intValue();
// BigDecimal loop = BigDecimal.ZERO;
......@@ -312,7 +319,7 @@ public class PlaceBean implements PlaceBeanLocal {
pgfacade.create(pg);
}
private void buy(Place p, PlaceGroup pg, User user) {
private void buy(Place p, PlaceGroup pg, IUser user) {
p.setGroup(pg);
p.setReleaseTime(null);
// Current user temporarily used at place reservation. When buying
......@@ -414,7 +421,7 @@ public class PlaceBean implements PlaceBeanLocal {
@RolesAllowed(MapPermission.S_BUY_PLACES)
public boolean releasePlace(Place place) {
place = placeFacade.find(place.getId());
User user = permbean.getCurrentUser();
IUser user = permbean.getCurrentUser();
if (place.getGroup() != null || place.getCurrentUser() == null || (!permbean.hasPermission(MapPermission.MANAGE_OTHERS) && !place.getCurrentUser().equals(user))) {
return false;
}
......
......@@ -25,9 +25,9 @@ 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.PlaceGroup;
import fi.insomnia.bortal.model.User;
/**
* Session Bean implementation class PlaceGroupBean
......@@ -76,7 +76,7 @@ public class PlaceGroupBean implements PlaceGroupBeanLocal {
@Override
@RolesAllowed(SpecialPermission.S_USER)
public List<GroupMembership> getMembershipsAndCreations(User 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(User 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(User 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(User 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(User 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());
......
......@@ -24,8 +24,8 @@ import fi.insomnia.bortal.enums.apps.UserPermission;
import fi.insomnia.bortal.facade.RoleFacade;
import fi.insomnia.bortal.facade.UserFacade;
import fi.insomnia.bortal.model.ApplicationPermission;
import fi.insomnia.bortal.model.EventUser;
import fi.insomnia.bortal.model.Role;
import fi.insomnia.bortal.model.User;
/**
*
......@@ -168,13 +168,13 @@ public class RoleBean implements RoleBeanLocal {
@Override
@RolesAllowed(UserPermission.S_READ_ROLES)
public List<Role> getRoles(User user) {
public List<Role> getRoles(EventUser user) {
return roleFacade.findForUser(user);
}
@Override
@RolesAllowed(UserPermission.S_WRITE_ROLES)
public void saveRoles(User usr, List<Role> usersRoles) {
public void saveRoles(EventUser usr, List<Role> usersRoles) {
List<Role> allRoles = roleFacade.findAll();
for (Role ur : allRoles)
......
......@@ -25,6 +25,7 @@ import fi.insomnia.bortal.model.Bill;
import fi.insomnia.bortal.model.Compo;
import fi.insomnia.bortal.model.CompoEntry;
import fi.insomnia.bortal.model.EventMap;
import fi.insomnia.bortal.model.IUser;
import fi.insomnia.bortal.model.LanEvent;
import fi.insomnia.bortal.model.Place;
import fi.insomnia.bortal.model.User;
......@@ -94,7 +95,7 @@ public class TestDataBean implements TestDataBeanLocal {
}
@Override
public User createUser() {
public IUser createUser() {
User u = new User();
u.setActive(true);
......@@ -119,7 +120,7 @@ public class TestDataBean implements TestDataBeanLocal {
}
@Override
public User createAdmin() {
public IUser createAdmin() {
User u = new User();
......@@ -310,7 +311,7 @@ public class TestDataBean implements TestDataBeanLocal {
}
@Override
public Bill createBill(User u) {
public Bill createBill(IUser u) {
// TODO Auto-generated method stub
return null;
}
......
......@@ -28,12 +28,15 @@ import org.slf4j.LoggerFactory;
import fi.insomnia.bortal.enums.apps.SpecialPermission;
import fi.insomnia.bortal.enums.apps.UserPermission;
import fi.insomnia.bortal.facade.EventUserFacade;
import fi.insomnia.bortal.facade.GroupMembershipFacade;
import fi.insomnia.bortal.facade.PlaceGroupFacade;
import fi.insomnia.bortal.facade.RoleFacade;
import fi.insomnia.bortal.facade.UserFacade;
import fi.insomnia.bortal.facade.UserImageFacade;
import fi.insomnia.bortal.model.EventUser;
import fi.insomnia.bortal.model.GroupMembership;
import fi.insomnia.bortal.model.IUser;
import fi.insomnia.bortal.model.LanEvent;
import fi.insomnia.bortal.model.LanEventPropertyKey;
import fi.insomnia.bortal.model.PlaceGroup;
......@@ -68,6 +71,9 @@ public class UserBean implements UserBeanLocal {
@EJB
private UserFacade userFacade;
@EJB
private EventUserFacade eventUserFacade;
@PersistenceContext
private EntityManager em;
......@@ -103,29 +109,29 @@ public class UserBean implements UserBeanLocal {
@Override
@RolesAllowed(UserPermission.S_VIEW_ALL)
public List<User> getUsers() {
public List<EventUser> getUsers() {
List<User> ret = userFacade.findAll();
List<EventUser> ret = eventUserFacade.findAll();
return ret;
}
@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;
}
@Override
public List<Role> findUsersRoles(User u) {
User currusr = permbean.getCurrentUser();
public List<Role> findUsersRoles(EventUser u) {
IUser 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);
throw new EJBAccessException("Not enough rights to find roles");
......@@ -135,7 +141,7 @@ public class UserBean implements UserBeanLocal {
}
public List<Role> localFindUsersRoles(User u) {
public List<Role> localFindUsersRoles(EventUser u) {
Set<Role> checkedRoles = new HashSet<Role>();
if (u != null)
{
......@@ -180,18 +186,18 @@ 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);
User curruser = permbean.getCurrentUser();
EventUser curruser = permbean.getCurrentUser();
if (!curruser.equals(user) && !permbean.hasPermission(UserPermission.MODIFY)) {
loggerbean.logMessage(SecurityLogType.permissionDenied, curruser, "user tried to save picture to userid " + user + " without sufficient permissions!");
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);
......@@ -235,13 +241,13 @@ public class UserBean implements UserBeanLocal {
@Override
@RolesAllowed(UserPermission.S_CREATE_NEW)
public User 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();
return user;
}
@Override
......@@ -317,7 +323,7 @@ public class UserBean implements UserBeanLocal {
if (usercheck.size() > 0) {
return false;
}
User creator = permbean.getCurrentUser();
EventUser creator = permbean.getCurrentUser();
LanEvent ev = eventBean.getCurrentEvent();
PlaceGroup pg = new PlaceGroup(ev, Calendar.getInstance(), Calendar.getInstance(), false);
pg.setCreator(creator);
......@@ -342,12 +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);
user.setEvent(eventBean.getCurrentEvent());
gm.setUser(user);
gm.setInviteAccepted(Calendar.getInstance());
userFacade.create(user);
eventUserFacade.create(user);
}
@Override
......@@ -369,7 +376,7 @@ public class UserBean implements UserBeanLocal {
UserImage ret = new UserImage(user);
ret.setMimeType(currimage.getMimeType());
User curruser = permbean.getCurrentUser();
User curruser = permbean.getCurrentUser().getUser();
ret.setDescription("Cropped by: [" + curruser.getId() + "] " + curruser.getWholeName() + " from image: " + currimage.getId());
ret.setImageData(naamaout.toByteArray());
......@@ -387,14 +394,45 @@ public class UserBean implements UserBeanLocal {
@Override
@RolesAllowed(UserPermission.S_CREATE_NEW)
public void createNewUser(User usr) {
userFacade.create(usr);
public EventUser createNewUser(User usr) {
EventUser evu = new EventUser(usr, eventBean.getCurrentEvent());
eventUserFacade.create(evu);
return evu;
}
@Override
public boolean userExists(String login) {
User usr = userFacade.findByLogin(login);
IUser usr = userFacade.findByLogin(login);
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;
}
@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;
}
}
......@@ -8,7 +8,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import fi.insomnia.bortal.facade.UserFacade;
import fi.insomnia.bortal.model.User;
import fi.insomnia.bortal.model.IUser;
/**
* Session Bean implementation class UserUtilBean
......@@ -34,12 +34,12 @@ public class UserUtilBean implements UserUtilBeanLocal {
@Override
public void convertUsernames() {
for (User u : userbean.getUsers()) {
for (IUser u : userbean.getUsers()) {
if (u.getLogin().trim().isEmpty()) {
logger.warn("User {} has empty login...");
continue;
}
User testU = userfacade.findByLogin(u.getLogin().toLowerCase());
IUser testU = userfacade.findByLogin(u.getLogin().toLowerCase());
if (testU == null || testU.equals(u)) {
u.setLogin(u.getLogin().toLowerCase());
logger.info("Converted user {}", u.getLogin());
......
......@@ -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 ||
......
......@@ -12,11 +12,11 @@ import javax.persistence.criteria.Root;
import fi.insomnia.bortal.beans.EventBeanLocal;
import fi.insomnia.bortal.model.AccountEvent;
import fi.insomnia.bortal.model.AccountEvent_;
import fi.insomnia.bortal.model.IUser;
import fi.insomnia.bortal.model.LanEvent;
import fi.insomnia.bortal.model.Product_;
import fi.insomnia.bortal.model.Role;
import fi.insomnia.bortal.model.Role_;
import fi.insomnia.bortal.model.User;
@Stateless
@LocalBean
......@@ -29,7 +29,7 @@ public class AccountEventFacade extends IntegerPkGenericFacade<AccountEvent> {
@EJB
private EventBeanLocal eventbean;
public List<Role> findProvidedRoles(LanEvent event, User u) {
public List<Role> findProvidedRoles(LanEvent event, IUser u) {
CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<Role> cq = cb.createQuery(Role.class);
......@@ -48,7 +48,7 @@ public class AccountEventFacade extends IntegerPkGenericFacade<AccountEvent> {
return getEm().createQuery(cq).getResultList();
}
public List<AccountEvent> getAccountEvents(User user) {
public List<AccountEvent> getAccountEvents(IUser user) {
CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<AccountEvent> cq = cb.createQuery(AccountEvent.class);
......
......@@ -12,7 +12,7 @@ import javax.persistence.criteria.Root;
import fi.insomnia.bortal.beans.EventBeanLocal;
import fi.insomnia.bortal.model.Bill;
import fi.insomnia.bortal.model.Bill_;
import fi.insomnia.bortal.model.User;
import fi.insomnia.bortal.model.IUser;
@Stateless
@LocalBean
......@@ -53,7 +53,7 @@ public class BillFacade extends IntegerPkGenericFacade<Bill> {
return getEm().createQuery(cq).getResultList();
}
public List<Bill> find(User user) {
public List<Bill> find(IUser user) {
CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<Bill> cq = cb.createQuery(Bill.class);
Root<Bill> root = cq.from(Bill.class);
......
......@@ -10,7 +10,7 @@ import javax.persistence.criteria.Root;
import fi.insomnia.bortal.model.EventOrganiser;
import fi.insomnia.bortal.model.EventOrganiser_;
import fi.insomnia.bortal.model.User;
import fi.insomnia.bortal.model.IUser;
@Stateless
@LocalBean
......@@ -39,7 +39,7 @@ public class EventOrganiserFacade extends IntegerPkGenericFacade<EventOrganiser>
return getEm().createQuery(cq).getResultList();
}
public List<EventOrganiser> find(User user) {
public List<EventOrganiser> find(IUser user) {
CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<EventOrganiser> cq = cb.createQuery(EventOrganiser.class);
Root<EventOrganiser> root = cq.from(EventOrganiser.class);
......
package fi.insomnia.bortal.facade;
import java.util.List;
import javax.ejb.EJB;
import javax.ejb.LocalBean;
import javax.ejb.Stateless;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
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_;
/**
* Session Bean implementation class EventUserFacade
*/
@Stateless
@LocalBean
public class EventUserFacade extends IntegerPkGenericFacade<EventUser> {
@EJB
private EventBeanLocal eventBean;
public EventUserFacade() {
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()));
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));
}
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()));
return getEm().createQuery(cq).getResultList();
}
}
......@@ -16,10 +16,10 @@ import org.slf4j.LoggerFactory;
import fi.insomnia.bortal.beans.EventBeanLocal;
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_;
import fi.insomnia.bortal.model.Place_;
import fi.insomnia.bortal.model.User;
import fi.insomnia.bortal.utilities.PasswordFunctions;
@Stateless
......@@ -66,7 +66,7 @@ public class GroupMembershipFacade extends IntegerPkGenericFacade<GroupMembershi
return getSingleNullableResult(getEm().createQuery(cq));
}
public List<GroupMembership> findMemberOrCreator(User user) {
public List<GroupMembership> findMemberOrCreator(IUser user) {
CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<GroupMembership> cq = cb.createQuery(GroupMembership.class);
Root<GroupMembership> root = cq.from(GroupMembership.class);
......@@ -87,7 +87,7 @@ public class GroupMembershipFacade extends IntegerPkGenericFacade<GroupMembershi
return getEm().createQuery(cq).getResultList();
}
public List<GroupMembership> findMemberships(User user) {
public List<GroupMembership> findMemberships(IUser user) {
CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<GroupMembership> cq = cb.createQuery(GroupMembership.class);
Root<GroupMembership> root = cq.from(GroupMembership.class);
......
package fi.insomnia.bortal.facade;
import java.util.List;
import javax.ejb.EJB;
import javax.ejb.LocalBean;
import javax.ejb.Stateless;
import javax.persistence.criteria.CriteriaBuilder;
import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;
import fi.insomnia.bortal.beans.EventBeanLocal;
import fi.insomnia.bortal.model.EventOrganiser;
import fi.insomnia.bortal.model.OrgRole;
import fi.insomnia.bortal.model.OrgRole_;
import fi.insomnia.bortal.model.User;
/**
* Session Bean implementation class OrgRoleFacade
*/
@Stateless
@LocalBean
public class OrgRoleFacade extends IntegerPkGenericFacade<OrgRole> {
@EJB
EventBeanLocal eventBean;
public OrgRoleFacade() {
super(OrgRole.class);
}
public List<OrgRole> findForUser(User user) {
CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<OrgRole> cq = cb.createQuery(OrgRole.class);
Root<OrgRole> root = cq.from(OrgRole.class);
cq.where(cb.equal(root.get(OrgRole_.eventOrganizer), eventBean
.getCurrentEvent().getOrganiser()), cb.isMember(user,
root.get(OrgRole_.users)));
return getEm().createQuery(cq).getResultList();
}
public OrgRole createRole(EventOrganiser org, String roleName) {
OrgRole ret = new OrgRole();
ret.setEventOrganizer(org);
ret.setName(roleName);
create(ret);
return ret;
}
public List<OrgRole> findAll() {
CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<OrgRole> cq = cb.createQuery(OrgRole.class);
Root<OrgRole> root = cq.from(OrgRole.class);
cq.where(cb.equal(root.get(OrgRole_.eventOrganizer), eventBean
.getCurrentEvent().getOrganiser()));
return getEm().createQuery(cq).getResultList();
}
}
......@@ -16,10 +16,10 @@ import org.slf4j.LoggerFactory;
import fi.insomnia.bortal.model.EventMap;
import fi.insomnia.bortal.model.EventMap_;
import fi.insomnia.bortal.model.IUser;
import fi.insomnia.bortal.model.LanEvent;
import fi.insomnia.bortal.model.Place;
import fi.insomnia.bortal.model.Place_;
import fi.insomnia.bortal.model.User;
@Stateless
@LocalBean
......@@ -57,7 +57,7 @@ public class PlaceFacade extends IntegerPkGenericFacade<Place> {
}
}
public List<Place> findUsersReservations(LanEvent event, User user) {
public List<Place> findUsersReservations(LanEvent event, IUser user) {
CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<Place> cq = cb.createQuery(Place.class);
......
......@@ -10,9 +10,9 @@ import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;
import fi.insomnia.bortal.beans.EventBeanLocal;
import fi.insomnia.bortal.model.IUser;
import fi.insomnia.bortal.model.PlaceGroup;
import fi.insomnia.bortal.model.PlaceGroup_;
import fi.insomnia.bortal.model.User;
@Stateless
@LocalBean
......@@ -26,7 +26,7 @@ public class PlaceGroupFacade extends IntegerPkGenericFacade<PlaceGroup> {
super(PlaceGroup.class);
}
public List<PlaceGroup> find(User user) {
public List<PlaceGroup> find(IUser user) {
CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<PlaceGroup> cq = cb.createQuery(PlaceGroup.class);
Root<PlaceGroup> root = cq.from(PlaceGroup.class);
......
......@@ -10,10 +10,10 @@ import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;
import fi.insomnia.bortal.beans.EventBeanLocal;
import fi.insomnia.bortal.model.IUser;
import fi.insomnia.bortal.model.LanEvent;
import fi.insomnia.bortal.model.PrintedCard;
import fi.insomnia.bortal.model.PrintedCard_;
import fi.insomnia.bortal.model.User;
@Stateless
@LocalBean
......@@ -51,7 +51,7 @@ public class PrintedCardFacade extends IntegerPkGenericFacade<PrintedCard> {
}
public List<PrintedCard> getCards(User user) {
public List<PrintedCard> getCards(IUser user) {
CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<PrintedCard> cq = cb.createQuery(PrintedCard.class);
Root<PrintedCard> root = cq.from(PrintedCard.class);
......
......@@ -10,10 +10,10 @@ import javax.persistence.criteria.CriteriaQuery;
import javax.persistence.criteria.Root;
import fi.insomnia.bortal.beans.EventBeanLocal;
import fi.insomnia.bortal.model.EventUser;
import fi.insomnia.bortal.model.LanEvent;
import fi.insomnia.bortal.model.Role;
import fi.insomnia.bortal.model.Role_;
import fi.insomnia.bortal.model.User;
@Stateless
@LocalBean
......@@ -35,7 +35,7 @@ public class RoleFacade extends IntegerPkGenericFacade<Role> {
// return getSingleNullableResult(q);
// }
public List<Role> findForUser(User user) {
public List<Role> findForUser(EventUser user) {
CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<Role> cq = cb.createQuery(Role.class);
Root<Role> root = cq.from(Role.class);
......
......@@ -13,13 +13,14 @@ import javax.persistence.criteria.Predicate;
import javax.persistence.criteria.Root;
import fi.insomnia.bortal.beans.EventBeanLocal;
import fi.insomnia.bortal.model.EventUser;
import fi.insomnia.bortal.model.IUser;
import fi.insomnia.bortal.model.PageContent;
import fi.insomnia.bortal.model.PageContent_;
import fi.insomnia.bortal.model.Role;
import fi.insomnia.bortal.model.Role_;
import fi.insomnia.bortal.model.SitePage;
import fi.insomnia.bortal.model.SitePage_;
import fi.insomnia.bortal.model.User;
@Stateless
public class SitePageFacade extends IntegerPkGenericFacade<SitePage> {
......@@ -44,12 +45,12 @@ public class SitePageFacade extends IntegerPkGenericFacade<SitePage> {
// return getSingleNullableResult(getEm().createQuery(cq));
// }
public List<SitePage> findForUser(User user, SitePage siteroot) {
public List<SitePage> findForUser(IUser user, SitePage siteroot) {
CriteriaBuilder cb = getEm().getCriteriaBuilder();
CriteriaQuery<SitePage> cq = cb.createQuery(SitePage.class);
Root<SitePage> root = cq.from(SitePage.class);
ListJoin<Role, User> usrpath = root.join(SitePage_.allowedRoles).join(Role_.users);
ListJoin<Role, EventUser> usrpath = root.join(SitePage_.allowedRoles).join(Role_.users);
Path<SitePage> parentpath = root.get(SitePage_.parent);
Predicate rootpred = null;
......
......@@ -7,9 +7,10 @@ import java.util.Map;
import javax.ejb.Local;
import fi.insomnia.bortal.model.AccountEvent;
import fi.insomnia.bortal.model.EventUser;
import fi.insomnia.bortal.model.IUser;
import fi.insomnia.bortal.model.Product;
import fi.insomnia.bortal.model.Role;
import fi.insomnia.bortal.model.User;
@Local
public interface AccountEventBeanLocal {
......@@ -20,13 +21,13 @@ public interface AccountEventBeanLocal {
AccountEvent find(Integer id);
List<Role> getRolesFromAccountEvents(User u);
List<Role> getRolesFromAccountEvents(IUser u);
void shopCash(User shoppingUser, Map<Product, BigDecimal>
void shopCash(EventUser shoppingUser, Map<Product, BigDecimal>
shopMap, boolean buyInstant);
BigDecimal getAccountBalance(User user);
BigDecimal getAccountBalance(IUser user);
List<AccountEvent> getAccountEvents(User user);
List<AccountEvent> getAccountEvents(IUser user);
}
......@@ -9,7 +9,7 @@ import javax.ejb.Local;
import fi.insomnia.bortal.bortal.views.BillSummary;
import fi.insomnia.bortal.model.Bill;
import fi.insomnia.bortal.model.User;
import fi.insomnia.bortal.model.IUser;
@Local
public interface BillBeanLocal {
......@@ -34,6 +34,6 @@ public interface BillBeanLocal {
Bill save(Bill bill);
List<Bill> find(User user);
List<Bill> find(IUser user);
}
......@@ -6,8 +6,9 @@ import java.util.List;
import javax.ejb.Local;
import fi.insomnia.bortal.model.CardTemplate;
import fi.insomnia.bortal.model.EventUser;
import fi.insomnia.bortal.model.IUser;
import fi.insomnia.bortal.model.PrintedCard;
import fi.insomnia.bortal.model.User;
import fi.insomnia.bortal.utilities.jsf.EntityFinderBean;
@Local
......@@ -19,11 +20,9 @@ public interface CardTemplateBeanLocal extends EntityFinderBean<CardTemplate> {
CardTemplate find(Integer id);
PrintedCard checkPrintedCard(User user);
void checkAllUsersCardRights();
PrintedCard setRfidUid(String tag, User user);
PrintedCard setRfidUid(String tag, EventUser user);
PrintedCard setRfidUid(String tag, PrintedCard card);
......@@ -33,10 +32,12 @@ public interface CardTemplateBeanLocal extends EntityFinderBean<CardTemplate> {
PrintedCard getCard(Integer idParam);
List<PrintedCard> getCards(User user);
List<PrintedCard> getCards(EventUser user);
CardTemplate saveImage(CardTemplate cardTemplate, byte[] bytes) throws IOException;
List<CardTemplate> findAll();
PrintedCard checkPrintedCard(EventUser user);
}
......@@ -5,8 +5,8 @@ import java.util.List;
import javax.ejb.Local;
import fi.insomnia.bortal.model.EventOrganiser;
import fi.insomnia.bortal.model.IUser;
import fi.insomnia.bortal.model.LanEvent;
import fi.insomnia.bortal.model.User;
@Local
public interface EventOrganiserBeanLocal {
......@@ -21,6 +21,6 @@ public interface EventOrganiserBeanLocal {
LanEvent findEvent(Integer eventid);
List<EventOrganiser> getOrganisations(User user);
List<EventOrganiser> getOrganisations(IUser user);
}
......@@ -2,6 +2,7 @@ package fi.insomnia.bortal.beans;
import javax.ejb.Local;
import fi.insomnia.bortal.model.EventUser;
import fi.insomnia.bortal.model.LogEntry;
import fi.insomnia.bortal.model.User;
......@@ -10,4 +11,6 @@ public interface LoggingBeanLocal {
LogEntry logMessage(SecurityLogType paramType, User user, String... description);
LogEntry logMessage(SecurityLogType paramType, EventUser user, String... description);
}
......@@ -4,6 +4,8 @@ import javax.ejb.Local;
import javax.resource.spi.IllegalStateException;
import fi.insomnia.bortal.enums.apps.IAppPermission;
import fi.insomnia.bortal.model.EventUser;
import fi.insomnia.bortal.model.IUser;
import fi.insomnia.bortal.model.User;
@Local
......@@ -11,11 +13,11 @@ public interface PermissionBeanLocal {
boolean hasPermission(IAppPermission perm);
User getCurrentUser();
EventUser getCurrentUser();
boolean isLoggedIn();
boolean isCurrentUser(User thisuser);
boolean isCurrentUser(IUser thisuser);
// boolean fatalPermission(IAppPermission perm, Object... failmessage);
......@@ -23,8 +25,6 @@ public interface PermissionBeanLocal {
// void fatalNotLoggedIn();
User getAnonUser();
String getPrincipal();
/**
......@@ -36,6 +36,8 @@ public interface PermissionBeanLocal {
*/
String getCommonName() throws IllegalStateException;
EventUser getAnonEventUser();
// boolean hasPermission(String perm);
}
......@@ -11,9 +11,9 @@ import javax.ejb.Local;
import fi.insomnia.bortal.exceptions.BortalCatchableException;
import fi.insomnia.bortal.model.EventMap;
import fi.insomnia.bortal.model.EventUser;
import fi.insomnia.bortal.model.Place;
import fi.insomnia.bortal.model.PlaceGroup;
import fi.insomnia.bortal.model.User;
/**
*
......@@ -25,7 +25,7 @@ public interface PlaceBeanLocal {
Place findPlace(EventMap e, int x, int y);
boolean reservePlace(Place place, User user);
boolean reservePlace(Place place, EventUser user);
int setBuyable(EventMap map, String buyableLike, boolean b);
......@@ -35,7 +35,7 @@ public interface PlaceBeanLocal {
Place mergeChanges(Place place);
PlaceGroup buySelectedPlaces(User user) throws BortalCatchableException;
PlaceGroup buySelectedPlaces(EventUser user) throws BortalCatchableException;
// void releaseUsersPlaces(User user) throws PermissionDeniedException;
......@@ -43,7 +43,7 @@ public interface PlaceBeanLocal {
void unbuyPlace(Place place);
BigDecimal getTotalReservationPrice(User user, Place newPlace);
BigDecimal getTotalReservationPrice(EventUser user, Place newPlace);
BigDecimal getTotalReservationPrice(Place newPlace);
......
......@@ -5,9 +5,9 @@ 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.PlaceGroup;
import fi.insomnia.bortal.model.User;
@Local
public interface PlaceGroupBeanLocal {
......@@ -18,16 +18,16 @@ public interface PlaceGroupBeanLocal {
// List<GroupMembership> getMemberships(User user);
boolean associateToToken(User user, String token);
void releaseAndGenerateToken(GroupMembership gmem);
List<GroupMembership> getMembershipsAndCreations(User user);
List<GroupMembership> getMembershipsAndCreations(EventUser user);
List<GroupMembership> getMemberships(EventUser user);
List<GroupMembership> getMemberships(User user);
List<PlaceGroup> getPlacegroups(EventUser user);
List<PlaceGroup> getPlacegroups(User user);
void getGroupMembershipPdf(EventUser usr, OutputStream ostream);
void getGroupMembershipPdf(User usr, OutputStream ostream);
boolean associateToToken(EventUser user, String token);
}
......@@ -7,8 +7,8 @@ import javax.ejb.Local;
import fi.insomnia.bortal.model.AccountEvent;
import fi.insomnia.bortal.model.Discount;
import fi.insomnia.bortal.model.EventUser;
import fi.insomnia.bortal.model.Product;
import fi.insomnia.bortal.model.User;
@Local
public interface ProductBeanLocal {
......@@ -25,7 +25,7 @@ public interface ProductBeanLocal {
BigDecimal calculateTotal(Product key, BigDecimal value);
AccountEvent createAccountEvent(Product product, BigDecimal quantity, User user);
AccountEvent createAccountEvent(Product product, BigDecimal quantity, EventUser user);
// List<Discount> getActiveDiscounts(Product product, BigDecimal quantity);
......
......@@ -10,8 +10,8 @@ import java.util.List;
import javax.ejb.Local;
import fi.insomnia.bortal.enums.apps.IAppPermission;
import fi.insomnia.bortal.model.EventUser;
import fi.insomnia.bortal.model.Role;
import fi.insomnia.bortal.model.User;
/**
*
......@@ -32,8 +32,8 @@ public interface RoleBeanLocal {
public Role setPermissions(Role role, List<IAppPermission> newPerms);
public List<Role> getRoles(User selectedUser);
public void saveRoles(EventUser usr, List<Role> usersRoles);
public void saveRoles(User usr, List<Role> usersRoles);
List<Role> getRoles(EventUser user);
}
......@@ -4,7 +4,7 @@ import javax.ejb.Local;
import fi.insomnia.bortal.model.Bill;
import fi.insomnia.bortal.model.EventMap;
import fi.insomnia.bortal.model.User;
import fi.insomnia.bortal.model.IUser;
@Local
public interface TestDataBeanLocal {
......@@ -13,15 +13,15 @@ public interface TestDataBeanLocal {
void generateTestPlaces(EventMap map);
Bill createBill(User u);
Bill createBill(IUser u);
User createUser();
IUser createUser();
// public void printPlacesInfo();
void generateTestCompos();
User createAdmin();
IUser createAdmin();
// EventMap readMap(long bytes);
......
......@@ -5,6 +5,7 @@ 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.Role;
import fi.insomnia.bortal.model.User;
......@@ -14,17 +15,17 @@ import fi.insomnia.bortal.utilities.SearchResult;
@Local
public interface UserBeanLocal {
List<User> getUsers();
List<EventUser> getUsers();
SearchResult<User> getUsers(int page, int pagesize, String sort, String search);
User mergeChanges(User currentUser);
EventUser mergeChanges(EventUser user);
UserImage uploadImage(User user, String contentType, byte[] image, String filename, String description);
UserImage uploadImage(EventUser user, String contentType, byte[] image, String filename, String description);
UserImage findUserImage(int id);
User createNewUser(User user, String password);
void createNewUser(EventUser user, String password);
User findPasswordResetUser(Integer id, String hash);
......@@ -32,22 +33,28 @@ public interface UserBeanLocal {
boolean initPasswordReset(String user, String mailpath);
List<Role> findUsersRoles(User u);
User findById(Integer integer);
EventUser findEventUserById(Integer integer);
GroupMembership findToken(String token);
void createFromToken(User user, String token);
void createFromToken(EventUser user, String token);
UserImage findUserimageFORCE(Integer id);
UserImage saveCroppedImage(UserImage currentImage, int left, int top, int width, int height) throws IOException;
void createNewUser(User usr);
EventUser createNewUser(User usr);
boolean userExists(String login);
boolean invite(String invitemail, String url);
EventUser mergeEventUserChanges(EventUser shoppingUser);
List<Role> findUsersRoles(EventUser u);
EventUser getEventUser(User user);
}
package fi.insomnia.bortal.salespoint;
import fi.insomnia.bortal.model.User;
import fi.insomnia.bortal.model.IUser;
public class SalesSession {
User cashierUser;
User customerUser;
IUser cashierUser;
IUser customerUser;
Cart shoppingCart;
}
......@@ -5,7 +5,7 @@ import java.io.UnsupportedEncodingException;
import javax.mail.internet.InternetAddress;
import fi.insomnia.bortal.model.User;
import fi.insomnia.bortal.model.IUser;
public class MailMessage implements Serializable {
/**
......@@ -99,7 +99,7 @@ public class MailMessage implements Serializable {
return charset;
}
public void setTo(User user) {
public void setTo(IUser user) {
setToName(user.getWholeName());
setToAddress(user.getEmail());
......
......@@ -64,7 +64,7 @@ public class AccountEvent extends GenericEntity {
* to that foodwave.
*/
@JoinColumn(name = "food_wave_id", referencedColumnName = "id")
@JoinColumn(name = "food_wave_id", referencedColumnName = FoodWave.ID_COLUMN)
@ManyToOne
private FoodWave foodWave;
......@@ -72,23 +72,23 @@ public class AccountEvent extends GenericEntity {
* The product user has acquired and this this AccountEvent is a reference
* to.
*/
@JoinColumn(name = "product_id", referencedColumnName = "id", nullable = false)
@JoinColumn(name = "product_id", referencedColumnName = Product.ID_COLUMN, nullable = false)
@ManyToOne(optional = false)
private Product product;
/**
* The user that bought the products.
*/
@JoinColumn(name = "user_id", referencedColumnName = "id", nullable = false)
@JoinColumn(name = "eventuser_id", referencedColumnName = EventUser.ID_COLUMN, nullable = false)
@ManyToOne(optional = false)
private User user;
private EventUser user;
/**
* Who sold the items to the user.
*/
@JoinColumn(name = "seller_user_id", referencedColumnName = "id")
@JoinColumn(name = "seller_eventuser_id", referencedColumnName = EventUser.ID_COLUMN)
@ManyToOne(optional = true)
private User seller;
private EventUser seller;
/**
* What discounts user has for this account event. Some magic is applied to
......@@ -111,8 +111,7 @@ public class AccountEvent extends GenericEntity {
public AccountEvent() {
}
public AccountEvent(User u, Product prod, BigDecimal unitPrice, BigDecimal quantity, Calendar eventTime) {
public AccountEvent(EventUser u, Product prod, BigDecimal unitPrice, BigDecimal quantity, Calendar eventTime) {
this.setUnitPrice(unitPrice);
this.setQuantity(quantity);
this.product = prod;
......@@ -136,11 +135,11 @@ public class AccountEvent extends GenericEntity {
this.delivered = delivered;
}
public User getUser() {
public EventUser getUser() {
return user;
}
public void setUser(User usersId) {
public void setUser(EventUser usersId) {
this.user = usersId;
}
......@@ -168,11 +167,11 @@ public class AccountEvent extends GenericEntity {
return product;
}
public void setSeller(User seller) {
public void setSeller(EventUser seller) {
this.seller = seller;
}
public User getSeller() {
public EventUser getSeller() {
return seller;
}
......
......@@ -35,7 +35,7 @@ public class ActionLogMessage extends GenericEntity {
private Date time = new Date();
@JoinColumn(name = "user_id")
private User user;
private IUser user;
@JoinColumn(name = "crew", nullable = false)
private Role crew;
......@@ -60,11 +60,11 @@ public class ActionLogMessage extends GenericEntity {
this.time = time;
}
public User getUser() {
public IUser getUser() {
return user;
}
public void setUser(User user) {
public void setUser(IUser user) {
this.user = user;
}
......
......@@ -27,7 +27,7 @@ public class ActionLogMessageResponse extends GenericEntity {
private Date time = new Date();
@JoinColumn(name = "user_id")
private User user;
private IUser user;
@Column(name = "message", nullable = false)
private String message;
......@@ -48,11 +48,11 @@ public class ActionLogMessageResponse extends GenericEntity {
this.time = time;
}
public User getUser() {
public IUser getUser() {
return user;
}
public void setUser(User user) {
public void setUser(IUser user) {
this.user = user;
}
......
......@@ -129,8 +129,8 @@ public class Bill extends GenericEntity {
* User who should pay this bill.
*/
@ManyToOne(optional = false)
@JoinColumn(updatable = false)
private User user;
@JoinColumn(updatable = false, name = "eventuser_id")
private EventUser user;
private static final Logger logger = LoggerFactory.getLogger(Bill.class);
......@@ -180,7 +180,7 @@ public class Bill extends GenericEntity {
return total;
}
public Bill(LanEvent event, User user) {
public Bill(LanEvent event, EventUser user) {
this(event);
this.setUser(user);
this.setAddr1(user.getFirstnames() + " " + user.getLastname());
......@@ -228,11 +228,11 @@ public class Bill extends GenericEntity {
this.accountEvent = accoutEventsId;
}
public User getUser() {
public EventUser getUser() {
return user;
}
public void setUser(User usersId) {
public void setUser(EventUser usersId) {
this.user = usersId;
}
......
......@@ -72,9 +72,9 @@ public class CompoEntry extends GenericEntity {
@OneToMany(cascade = CascadeType.ALL, mappedBy = "entry")
private List<CompoEntryParticipant> participants;
@JoinColumn(name = "creator_user_id", referencedColumnName = "id")
@JoinColumn(name = "creator_eventuser_id", referencedColumnName = EventUser.ID_COLUMN)
@ManyToOne
private User creator;
private EventUser creator;
public CompoEntry() {
super();
......@@ -159,11 +159,11 @@ public class CompoEntry extends GenericEntity {
this.compo = composId;
}
public User getCreator() {
public EventUser getCreator() {
return creator;
}
public void setCreator(User creator) {
public void setCreator(EventUser creator) {
this.creator = creator;
}
......
......@@ -36,9 +36,9 @@ public class CompoEntryParticipant extends GenericEntity {
@Temporal(TemporalType.TIMESTAMP)
private Calendar confirmed;
@JoinColumn(name = "user_id", referencedColumnName = "id", nullable = false, updatable = false)
@JoinColumn(name = "eventuser_id", referencedColumnName = EventUser.ID_COLUMN, nullable = false, updatable = false)
@ManyToOne(optional = false)
private User user;
private EventUser user;
public CompoEntry getEntry() {
return entry;
......@@ -48,7 +48,7 @@ public class CompoEntryParticipant extends GenericEntity {
this.entry = entry;
}
public CompoEntryParticipant(CompoEntry entry, User participant) {
public CompoEntryParticipant(CompoEntry entry, EventUser participant) {
super();
this.entry = entry;
this.user = participant;
......@@ -66,11 +66,11 @@ public class CompoEntryParticipant extends GenericEntity {
this.role = role;
}
public User getUser() {
public EventUser getUser() {
return user;
}
public void setUser(User user) {
public void setUser(EventUser user) {
this.user = user;
}
......
......@@ -36,7 +36,7 @@ public class EventOrganiser extends GenericEntity {
@ManyToOne()
@JoinColumn(name = "admin_user_id", referencedColumnName = "id", nullable = false)
private User admin;
private EventUser admin;
@Column(nullable = false, name = "bill_address1")
private String billAddress1 = "";
......@@ -96,7 +96,7 @@ public class EventOrganiser extends GenericEntity {
/**
* @return the admin
*/
public User getAdmin() {
public EventUser getAdmin() {
return admin;
}
......@@ -104,7 +104,7 @@ public class EventOrganiser extends GenericEntity {
* @param admin
* the admin to set
*/
public void setAdmin(User admin) {
public void setAdmin(EventUser admin) {
this.admin = admin;
}
......
package fi.insomnia.bortal.model;
import static javax.persistence.CascadeType.PERSIST;
import java.util.ArrayList;
import java.util.Calendar;
import java.util.List;
import javax.persistence.CascadeType;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.OrderBy;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
import org.eclipse.persistence.annotations.OptimisticLocking;
import org.eclipse.persistence.annotations.OptimisticLockingType;
import fi.insomnia.bortal.enums.Gender;
@Entity
@Table(name = "event_users", uniqueConstraints = @UniqueConstraint(columnNames = { EventUser.USER_ID_COLUMN, EventUser.EVENT_ID_COLUMN }))
@OptimisticLocking(type = OptimisticLockingType.CHANGED_COLUMNS)
public class EventUser extends GenericEntity implements IUser {
protected static final String USER_ID_COLUMN = "user_id";
protected static final String EVENT_ID_COLUMN = "event_id";
@ManyToOne(cascade = PERSIST)
@JoinColumn(nullable = false, name = USER_ID_COLUMN)
private User user;
@ManyToOne
@JoinColumn(nullable = false, name = EVENT_ID_COLUMN)
private LanEvent event;
private static final long serialVersionUID = 6042691271548196815L;
@OneToMany(mappedBy = "voter", cascade = CascadeType.ALL)
private List<Vote> votes;
@OneToMany(mappedBy = "user", cascade = CascadeType.ALL)
private List<UserNote> notes;
@ManyToMany(cascade = CascadeType.ALL)
private List<Role> roles = new ArrayList<Role>();
@OneToMany(mappedBy = "user")
private List<CompoEntryParticipant> compoEntryParticipants;
@OneToMany(mappedBy = "creator")
@OrderBy("id")
private List<CompoEntry> compoEntries;
@OneToMany(mappedBy = "creator", cascade = CascadeType.ALL)
private List<PlaceGroup> placeGroups = new ArrayList<PlaceGroup>();
@OneToMany(mappedBy = "user")
private List<GroupMembership> groupMemberships;
/**
* The places this user has registered into.
*/
@OneToMany(mappedBy = "currentUser", fetch = FetchType.LAZY)
@OrderBy(Place.ID_COLUMN)
private List<Place> currentPlaces;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "user")
private List<PrintedCard> printedCards;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "user")
@OrderBy(AccountEvent.ID_COLUMN)
private List<AccountEvent> accountEvents;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "user")
@OrderBy(Bill.ID_COLUMN)
private List<Bill> bills;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "seller")
@OrderBy(AccountEvent.ID_COLUMN)
private List<AccountEvent> soldItems;
@OneToMany(mappedBy = "user")
private List<PollAnswer> pollAnswers;
public EventUser()
{
super();
}
public EventUser(User usr, LanEvent evnt) {
super();
this.user = usr;
this.event = evnt;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public LanEvent getEvent() {
return event;
}
public void setEvent(LanEvent event) {
this.event = event;
}
public List<Vote> getVotes() {
return votes;
}
public void setVotes(List<Vote> votes) {
this.votes = votes;
}
public List<UserNote> getNotes() {
return notes;
}
public void setNotes(List<UserNote> notes) {
this.notes = notes;
}
public List<Role> getRoles() {
return roles;
}
public void setRoles(List<Role> roles) {
this.roles = roles;
}
public List<CompoEntryParticipant> getCompoEntryParticipants() {
return compoEntryParticipants;
}
public void setCompoEntryParticipants(List<CompoEntryParticipant> compoEntryParticipants) {
this.compoEntryParticipants = compoEntryParticipants;
}
public List<CompoEntry> getCompoEntries() {
return compoEntries;
}
public void setCompoEntries(List<CompoEntry> compoEntries) {
this.compoEntries = compoEntries;
}
public List<PlaceGroup> getPlaceGroups() {
return placeGroups;
}
public void setPlaceGroups(List<PlaceGroup> placeGroups) {
this.placeGroups = placeGroups;
}
public List<GroupMembership> getGroupMemberships() {
return groupMemberships;
}
public void setGroupMemberships(List<GroupMembership> groupMemberships) {
this.groupMemberships = groupMemberships;
}
public List<Place> getCurrentPlaces() {
return currentPlaces;
}
public void setCurrentPlaces(List<Place> currentPlaces) {
this.currentPlaces = currentPlaces;
}
public List<PrintedCard> getPrintedCards() {
return printedCards;
}
public void setPrintedCards(List<PrintedCard> printedCards) {
this.printedCards = printedCards;
}
public List<AccountEvent> getAccountEvents() {
return accountEvents;
}
public void setAccountEvents(List<AccountEvent> accountEvents) {
this.accountEvents = accountEvents;
}
public List<Bill> getBills() {
return bills;
}
public void setBills(List<Bill> bills) {
this.bills = bills;
}
public List<AccountEvent> getSoldItems() {
return soldItems;
}
public void setSoldItems(List<AccountEvent> soldItems) {
this.soldItems = soldItems;
}
public List<PollAnswer> getPollAnswers() {
return pollAnswers;
}
public void setPollAnswers(List<PollAnswer> pollAnswers) {
this.pollAnswers = pollAnswers;
}
@Override
public void setCreated(Calendar created) {
user.setCreated(created);
}
@Override
public boolean getActive() {
return user.getActive();
}
@Override
public void setActive(boolean active) {
user.setActive(active);
}
@Override
public String getPassword() {
return user.getPassword();
}
@Override
public void setPassword(String password) {
user.setPassword(password);
}
@Override
public String getWholeName() {
return user.getWholeName();
}
@Override
public String getLastname() {
return user.getLastname();
}
@Override
public void setLastname(String lastname) {
user.setLastname(lastname);
}
@Override
public String getFirstnames() {
return user.getFirstnames();
}
@Override
public void setFirstnames(String firstnames) {
user.setFirstnames(firstnames);
}
@Override
public Calendar getBirthday() {
return user.getBirthday();
}
@Override
public void setBirthday(Calendar birthday) {
user.setBirthday(birthday);
}
@Override
public String getNick() {
return user.getNick();
}
@Override
public void setNick(String nick) {
user.setNick(nick);
}
@Override
public String getEmail() {
return user.getEmail();
}
@Override
public void setEmail(String email) {
user.setEmail(email);
}
@Override
public String getAddress() {
return user.getAddress();
}
@Override
public void setAddress(String address) {
user.setAddress(address);
}
@Override
public String getZip() {
return user.getZip();
}
@Override
public void setZip(String zip) {
user.setZip(zip);
}
@Override
public String getTown() {
return user.getTown();
}
@Override
public void setTown(String town) {
user.setTown(town);
}
@Override
public String getPhone() {
return user.getPhone();
}
@Override
public void setPhone(String phone) {
user.setPhone(phone);
}
@Override
public String getLogin() {
return user.getLogin();
}
@Override
public void setLogin(String login) {
user.setLogin(login);
}
@Override
public List<UserImage> getUserImageList() {
return user.getUserImageList();
}
@Override
public void setUserImageList(List<UserImage> userImageList) {
user.setUserImageList(userImageList);
}
@Override
public String getConfirmHash() {
return user.getConfirmHash();
}
@Override
public void setConfirmHash(String confirmHash) {
user.setConfirmHash(confirmHash);
}
@Override
public Calendar getConfirmTime() {
return user.getConfirmTime();
}
@Override
public void setConfirmTime(Calendar confirmTime) {
user.setConfirmTime(confirmTime);
}
@Override
public void resetPassword(String password) {
user.resetPassword(password);
}
@Override
public boolean checkPassword(String plainPassword) {
return user.checkPassword(plainPassword);
}
@Override
public void setSuperadmin(boolean superadmin) {
user.setSuperadmin(superadmin);
}
@Override
public boolean isSuperadmin() {
return user.isSuperadmin();
}
@Override
public void setPostalTown(String postalTown) {
user.setPostalTown(postalTown);
}
@Override
public String getPostalTown() {
return user.getPostalTown();
}
@Override
public void setGender(Gender gender) {
user.setGender(gender);
}
@Override
public Gender getGender() {
return user.getGender();
}
@Override
public void setCurrentImage(UserImage currentImage) {
user.setCurrentImage(currentImage);
}
@Override
public UserImage getCurrentImage() {
return user.getCurrentImage();
}
@Override
public boolean isAnonymous() {
return user.isAnonymous();
}
@Override
public Calendar getCreated() {
return user.getCreated();
}
}
......@@ -53,9 +53,9 @@ public class GroupMembership extends GenericEntity {
@JoinColumn(name = "place_reservation_id", referencedColumnName = "id", nullable = true)
private Place placeReservation;
@JoinColumn(name = "user_id", referencedColumnName = "id")
@JoinColumn(name = "eventuser_id", referencedColumnName = EventUser.ID_COLUMN)
@ManyToOne
private User user;
private EventUser user;
@Column(name = "entered_event")
@Temporal(TemporalType.TIMESTAMP)
......@@ -111,11 +111,11 @@ public class GroupMembership extends GenericEntity {
this.placeReservation = placeReservation;
}
public User getUser() {
public EventUser getUser() {
return user;
}
public void setUser(User usersId) {
public void setUser(EventUser usersId) {
this.user = usersId;
}
......
package fi.insomnia.bortal.model;
import java.util.Calendar;
import java.util.List;
import fi.insomnia.bortal.enums.Gender;
public interface IUser {
public abstract Calendar getCreated();
public abstract void setCreated(Calendar created);
public abstract boolean getActive();
public abstract void setActive(boolean active);
public abstract String getPassword();
public abstract void setPassword(String password);
public abstract String getWholeName();
public abstract String getLastname();
public abstract void setLastname(String lastname);
public abstract String getFirstnames();
public abstract void setFirstnames(String firstnames);
public abstract Calendar getBirthday();
public abstract void setBirthday(Calendar birthday);
public abstract String getNick();
public abstract void setNick(String nick);
public abstract String getEmail();
public abstract void setEmail(String email);
public abstract String getAddress();
public abstract void setAddress(String address);
public abstract String getZip();
public abstract void setZip(String zip);
public abstract String getTown();
public abstract void setTown(String town);
public abstract String getPhone();
public abstract void setPhone(String phone);
public abstract String getLogin();
public abstract void setLogin(String login);
public abstract List<UserImage> getUserImageList();
public abstract void setUserImageList(List<UserImage> userImageList);
/**
* @return the confirmHash
*/
public abstract String getConfirmHash();
/**
* @param confirmHash
* the confirmHash to set
*/
public abstract void setConfirmHash(String confirmHash);
/**
* @return the confirmTime
*/
public abstract Calendar getConfirmTime();
/**
* @param confirmTime
* the confirmTime to set
*/
public abstract void setConfirmTime(Calendar confirmTime);
public abstract void resetPassword(String password);
public abstract boolean checkPassword(String plainPassword);
public abstract void setSuperadmin(boolean superadmin);
public abstract boolean isSuperadmin();
public abstract void setPostalTown(String postalTown);
public abstract String getPostalTown();
public abstract void setGender(Gender gender);
public abstract Gender getGender();
public abstract void setCurrentImage(UserImage currentImage);
public abstract UserImage getCurrentImage();
public abstract boolean isAnonymous();
}
\ No newline at end of file
......@@ -13,8 +13,6 @@ import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.Lob;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.Table;
import javax.persistence.Temporal;
......@@ -26,10 +24,6 @@ import org.eclipse.persistence.annotations.OptimisticLockingType;
*/
@Entity
@Table(name = "event_log")
@NamedQueries({
@NamedQuery(name = "LogEntry.findAll", query = "SELECT l FROM LogEntry l"),
@NamedQuery(name = "LogEntry.findByTime", query = "SELECT l FROM LogEntry l WHERE l.time = :time"),
@NamedQuery(name = "LogEntry.findByDescription", query = "SELECT l FROM LogEntry l WHERE l.description = :description") })
@OptimisticLocking(type = OptimisticLockingType.CHANGED_COLUMNS)
public class LogEntry extends GenericEntity {
......
......@@ -46,7 +46,7 @@ public class News extends GenericEntity {
@ManyToOne()
@JoinColumn(nullable = false)
private User creator;
private EventUser creator;
public Date getPublish() {
return publish;
......@@ -82,7 +82,7 @@ public class News extends GenericEntity {
this.priority = priority;
}
public News(NewsGroup newsgroup, User creator) {
public News(NewsGroup newsgroup, EventUser creator) {
super();
this.creator = creator;
group = newsgroup;
......@@ -128,11 +128,11 @@ public class News extends GenericEntity {
this.group = newsGroupsId;
}
public User getCreator() {
public EventUser getCreator() {
return creator;
}
public void setCreator(User creator) {
public void setCreator(EventUser creator) {
this.creator = creator;
}
......
package fi.insomnia.bortal.model;
import java.util.ArrayList;
import java.util.List;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.JoinTable;
import javax.persistence.ManyToMany;
import javax.persistence.ManyToOne;
import javax.persistence.OneToMany;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;
import org.eclipse.persistence.annotations.OptimisticLocking;
import org.eclipse.persistence.annotations.OptimisticLockingType;
/**
* Entity implementation class for Entity: OrganizationalRole
*
*/
@Entity
@Table(name = "org_roles", uniqueConstraints = { @UniqueConstraint(columnNames = { OrgRole.NAME_COLUMN }) })
@OptimisticLocking(type = OptimisticLockingType.CHANGED_COLUMNS)
public class OrgRole extends GenericEntity {
private static final long serialVersionUID = 1L;
protected static final String NAME_COLUMN = "role_name";
@Column(name = NAME_COLUMN, nullable = false)
private String name;
@ManyToMany()
@JoinTable(name = "org_role_memberships",
joinColumns = { @JoinColumn(name = "org_role_id", referencedColumnName = OrgRole.ID_COLUMN) },
inverseJoinColumns = { @JoinColumn(name = "user_id", referencedColumnName = User.ID_COLUMN) })
private List<User> users;
@ManyToMany()
@JoinTable(name = "org_role_parents",
joinColumns = { @JoinColumn(name = "parent_id", referencedColumnName = OrgRole.ID_COLUMN) },
inverseJoinColumns = { @JoinColumn(name = "org_role_id", referencedColumnName = OrgRole.ID_COLUMN) })
private List<OrgRole> parents = new ArrayList<OrgRole>();
@ManyToMany(mappedBy = "parents")
private List<OrgRole> children = new ArrayList<OrgRole>();
@Column(nullable = false)
@ManyToOne()
private EventOrganiser eventOrganizer;
@OneToMany
private List<Role> eventRoles;
public OrgRole() {
super();
}
public List<User> getUsers() {
return this.users;
}
public void setUsers(List<User> users) {
this.users = users;
}
public String getName() {
return this.name;
}
public void setName(String name) {
this.name = name;
}
public List<OrgRole> getParents() {
return parents;
}
public void setParents(List<OrgRole> parents) {
this.parents = parents;
}
public List<OrgRole> getChildren() {
return children;
}
public void setChildren(List<OrgRole> children) {
this.children = children;
}
public EventOrganiser getEventOrganizer() {
return eventOrganizer;
}
public void setEventOrganizer(EventOrganiser eventOrganizer) {
this.eventOrganizer = eventOrganizer;
}
public List<Role> getEventRoles() {
return eventRoles;
}
public void setEventRoles(List<Role> eventRoles) {
this.eventRoles = eventRoles;
}
}
......@@ -21,20 +21,6 @@ import org.eclipse.persistence.annotations.OptimisticLockingType;
*/
@Entity
@Table(name = "places")
// @NamedQueries({
// @NamedQuery(name = "Place.findAll", query = "SELECT p FROM Place p"),
// @NamedQuery(name = "Place.findByDescription", query =
// "SELECT p FROM Place p WHERE p.description = :description"),
// @NamedQuery(name = "Place.findByName", query =
// "SELECT p FROM Place p WHERE p.name = :name"),
// @NamedQuery(name = "Place.findByMapX", query =
// "SELECT p FROM Place p WHERE p.mapX = :mapX"),
// @NamedQuery(name = "Place.findByMapY", query =
// "SELECT p FROM Place p WHERE p.mapY = :mapY"),
// @NamedQuery(name = "Place.findByDetails", query =
// "SELECT p FROM Place p WHERE p.details = :details"),
// @NamedQuery(name = "Place.findByCode", query =
// "SELECT p FROM Place p WHERE p.code = :code") })
@OptimisticLocking(type = OptimisticLockingType.CHANGED_COLUMNS)
public class Place extends GenericEntity {
......@@ -80,25 +66,25 @@ public class Place extends GenericEntity {
private PlaceGroup group;
@ManyToOne
@JoinColumn(name = "provided_role_id", referencedColumnName = "id")
@JoinColumn(name = "provided_role_id", referencedColumnName = Role.ID_COLUMN)
private Role providesRole;
@JoinColumn(name = "map_id", referencedColumnName = "id", nullable = false)
@JoinColumn(name = "map_id", referencedColumnName = EventMap.ID_COLUMN, nullable = false)
@ManyToOne(optional = false, cascade = CascadeType.ALL)
private EventMap map;
/**
* Which ticket type is this place sold as
*/
@JoinColumn(name = "products_id", referencedColumnName = "id")
@JoinColumn(name = "products_id", referencedColumnName = Product.ID_COLUMN)
@ManyToOne()
private Product product;
/**
* Who is the current currentUser (mapped with code printed on the place) of
* the place. Used in Vectorama currentUser tracking.
*/
@JoinColumn(name = "current_user_id", referencedColumnName = "id")
@JoinColumn(name = "current_eventuser_id", referencedColumnName = EventUser.ID_COLUMN)
@ManyToOne
private User currentUser;
private EventUser currentUser;
public Place() {
super();
......@@ -184,11 +170,11 @@ public class Place extends GenericEntity {
this.product = productsId;
}
public User getCurrentUser() {
public EventUser getCurrentUser() {
return currentUser;
}
public void setCurrentUser(User usersId) {
public void setCurrentUser(EventUser usersId) {
this.currentUser = usersId;
}
......@@ -239,7 +225,7 @@ public class Place extends GenericEntity {
*
* @return Is the place reserved ( not bought for user)
*/
public boolean isReservedFor(User u) {
public boolean isReservedFor(IUser u) {
return (u.equals(getCurrentUser()) && getGroup() == null);
}
......
......@@ -14,8 +14,6 @@ import javax.persistence.Entity;
import javax.persistence.JoinColumn;
import javax.persistence.Lob;
import javax.persistence.ManyToOne;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;
import javax.persistence.OneToMany;
import javax.persistence.OrderBy;
import javax.persistence.Table;
......@@ -30,16 +28,6 @@ import org.eclipse.persistence.annotations.OptimisticLockingType;
*/
@Entity
@Table(name = "groups")
@NamedQueries({
@NamedQuery(name = "PlaceGroup.findAll", query = "SELECT p FROM PlaceGroup p"),
@NamedQuery(name = "PlaceGroup.findByCreated", query = "SELECT p FROM PlaceGroup p WHERE p.created = :created"),
// @NamedQuery(name = "PlaceGroup.findByEdited", query =
// "SELECT p FROM PlaceGroup p WHERE p.edited = :edited"),
@NamedQuery(name = "PlaceGroup.findByCode", query = "SELECT p FROM PlaceGroup p WHERE p.code = :code"),
@NamedQuery(name = "PlaceGroup.findByName", query = "SELECT p FROM PlaceGroup p WHERE p.name = :name"),
@NamedQuery(name = "PlaceGroup.findByActive", query = "SELECT p FROM PlaceGroup p WHERE p.active = :active"),
@NamedQuery(name = "PlaceGroup.findByDetails", query = "SELECT p FROM PlaceGroup p WHERE p.details = :details") })
@OptimisticLocking(type = OptimisticLockingType.CHANGED_COLUMNS)
public class PlaceGroup extends GenericEntity {
......@@ -72,9 +60,9 @@ public class PlaceGroup extends GenericEntity {
@Column(name = "group_details")
private String details;
@JoinColumn(name = "creator_user_id", referencedColumnName = "id")
@JoinColumn(name = "creator_eventuser_id", referencedColumnName = EventUser.ID_COLUMN)
@ManyToOne
private User creator;
private EventUser creator;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "placeGroup")
private List<GroupMembership> members = new ArrayList<GroupMembership>();
......@@ -143,11 +131,11 @@ public class PlaceGroup extends GenericEntity {
this.details = groupDetails;
}
public User getCreator() {
public EventUser getCreator() {
return creator;
}
public void setCreator(User groupCreator) {
public void setCreator(EventUser groupCreator) {
this.creator = groupCreator;
}
......
......@@ -30,12 +30,12 @@ public class PollAnswer extends GenericEntity implements Serializable {
private Boolean answerBoolean = false;
@ManyToOne
@JoinColumn(name = "possible_answer_id", referencedColumnName = "id", nullable = false)
@JoinColumn(name = "possible_answer_id", referencedColumnName = PossibleAnswer.ID_COLUMN, nullable = false)
private PossibleAnswer choice;
@ManyToOne
@JoinColumn(name = "user_id", referencedColumnName = "id", nullable = false)
private User user;
@JoinColumn(name = "eventuser_id", referencedColumnName = EventUser.ID_COLUMN, nullable = false)
private EventUser user;
public PollAnswer() {
super();
......@@ -83,11 +83,11 @@ public class PollAnswer extends GenericEntity implements Serializable {
return choice;
}
public void setUser(User user) {
public void setUser(EventUser user) {
this.user = user;
}
public User getUser() {
public EventUser getUser() {
return user;
}
......
......@@ -66,15 +66,15 @@ public class PrintedCard extends GenericEntity {
@ManyToOne
private Location currentLocation;
@JoinColumn(name = "user_id", referencedColumnName = "id", nullable = false)
@JoinColumn(name = "eventuser_id", referencedColumnName = EventUser.ID_COLUMN, nullable = false)
@ManyToOne(optional = false)
private User user;
private EventUser user;
@JoinColumn(nullable = false, name = "card_template_id", referencedColumnName = CardTemplate.ID_COLUMN)
@ManyToOne(optional = false)
private CardTemplate template;
public PrintedCard(User usr, CardTemplate templ, Calendar printTime, boolean cardEnabled) {
public PrintedCard(EventUser usr, CardTemplate templ, Calendar printTime, boolean cardEnabled) {
super();
this.event = templ.getEvent();
this.template = templ;
......@@ -144,11 +144,11 @@ public class PrintedCard extends GenericEntity {
this.currentLocation = currentLocation;
}
public User getUser() {
public EventUser getUser() {
return user;
}
public void setUser(User usersId) {
public void setUser(EventUser usersId) {
this.user = usersId;
}
......@@ -173,9 +173,9 @@ public class PrintedCard extends GenericEntity {
@Override
public int compare(PrintedCard o1, PrintedCard o2) {
int ret = o2.getGamepoints().compareTo(o1.getGamepoints());
if (ret == 0 && o1.getUser().getNick() != null && o2.getUser().getNick() != null)
if (ret == 0 && o1.getUser().getUser().getNick() != null && o2.getUser().getUser().getNick() != null)
{
ret = o1.getUser().getNick().compareTo(o2.getUser().getNick());
ret = o1.getUser().getUser().getNick().compareTo(o2.getUser().getUser().getNick());
}
return ret;
}
......
......@@ -31,6 +31,8 @@ public class Role extends GenericEntity {
protected static final String NAME_COLUMN = "role_name";
protected static final String EVENT_ID_COLUMN = "event_id";
protected static final String ORG_ROLE_ID_COLUMN = "org_role_id";
public static final Role EMPTY_ROLE = new Role("----");
......@@ -40,8 +42,8 @@ public class Role extends GenericEntity {
@ManyToMany()
@JoinTable(name = "role_memberships",
joinColumns = { @JoinColumn(name = "role_id", referencedColumnName = Role.ID_COLUMN) },
inverseJoinColumns = { @JoinColumn(name = "user_id", referencedColumnName = User.ID_COLUMN) })
private List<User> users;
inverseJoinColumns = { @JoinColumn(name = "eventuser_id", referencedColumnName = EventUser.ID_COLUMN) })
private List<EventUser> users;
@ManyToMany(mappedBy = "parents")
private List<Role> children = new ArrayList<Role>();
......@@ -74,6 +76,10 @@ public class Role extends GenericEntity {
@ManyToOne
@JoinColumn(name = EVENT_ID_COLUMN, nullable = false)
private LanEvent event;
@ManyToOne
@JoinColumn(name = ORG_ROLE_ID_COLUMN)
private OrgRole orgRole;
public Role() {
super();
......@@ -109,14 +115,6 @@ public class Role extends GenericEntity {
this.cardTemplate = cardTemplatesId;
}
public void setUsers(List<User> users) {
this.users = users;
}
public List<User> getUsers() {
return users;
}
public void setDiscounts(List<Discount> discounts) {
this.discounts = discounts;
}
......@@ -190,4 +188,20 @@ public class Role extends GenericEntity {
return permissions;
}
public List<EventUser> getUsers() {
return users;
}
public void setUsers(List<EventUser> users) {
this.users = users;
}
public OrgRole getOrgRole() {
return orgRole;
}
public void setOrgRole(OrgRole orgRole) {
this.orgRole = orgRole;
}
}
......@@ -14,13 +14,11 @@ public class UserNote extends GenericEntity {
private static final long serialVersionUID = 6128095532481826770L;
@ManyToOne
@JoinColumn(nullable = false)
private User user;
private static final String EVENTUSER_ID_COLUMN = "eventuser_id";
@ManyToOne
@JoinColumn(nullable = false)
private LanEvent event;
@JoinColumn(nullable = false, name = EVENTUSER_ID_COLUMN)
private EventUser user;
@Lob
private String content;
......@@ -30,22 +28,6 @@ public class UserNote extends GenericEntity {
@Enumerated(EnumType.STRING)
private UserNoteType notetype;
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
public LanEvent getEvent() {
return event;
}
public void setEvent(LanEvent event) {
this.event = event;
}
public String getContent() {
return content;
}
......@@ -62,4 +44,12 @@ public class UserNote extends GenericEntity {
this.notetype = notetype;
}
public EventUser getUser() {
return user;
}
public void setUser(EventUser user) {
this.user = user;
}
}
......@@ -27,7 +27,7 @@ import org.eclipse.persistence.annotations.OptimisticLockingType;
@OptimisticLocking(type = OptimisticLockingType.CHANGED_COLUMNS)
public class Vote extends GenericEntity {
protected static final String VOTER_USER_ID = "voter_user_id";
protected static final String VOTER_USER_ID = "voter_userevent_id";
protected static final String ENTRY_ID = "entry_id";
private static final long serialVersionUID = 2L;
......@@ -42,13 +42,13 @@ public class Vote extends GenericEntity {
@Temporal(TemporalType.TIMESTAMP)
private Calendar time;
@JoinColumn(name = ENTRY_ID, referencedColumnName = "id", nullable = false)
@JoinColumn(name = ENTRY_ID, referencedColumnName = CompoEntry.ID_COLUMN, nullable = false)
@ManyToOne(optional = false)
private CompoEntry compoEntry;
@JoinColumn(name = VOTER_USER_ID, referencedColumnName = "id", nullable = false)
@JoinColumn(name = VOTER_USER_ID, referencedColumnName = EventUser.ID_COLUMN, nullable = false)
@ManyToOne(optional = false)
private User voter;
private EventUser voter;
public Vote(LanEvent event, Calendar voteTime) {
super();
......@@ -90,21 +90,6 @@ public class Vote extends GenericEntity {
this.compoEntry = compoEntry;
}
/**
* @return the voter
*/
public User getVoter() {
return voter;
}
/**
* @param voter
* the voter to set
*/
public void setVoter(User voter) {
this.voter = voter;
}
public String getMessage() {
return message;
}
......@@ -112,4 +97,13 @@ public class Vote extends GenericEntity {
public void setMessage(String message) {
this.message = message;
}
public EventUser getVoter() {
return voter;
}
public void setVoter(EventUser voter) {
this.voter = voter;
}
}
......@@ -17,7 +17,7 @@ import fi.insomnia.bortal.beans.PermissionBeanLocal;
import fi.insomnia.bortal.beans.RoleBeanLocal;
import fi.insomnia.bortal.clientutils.BortalLocalContextHolder;
import fi.insomnia.bortal.enums.apps.IAppPermission;
import fi.insomnia.bortal.model.User;
import fi.insomnia.bortal.model.IUser;
@Named()
@RequestScoped
......@@ -85,7 +85,7 @@ public class SessionHandler {
}
public User getCurrentUser() {
public IUser getCurrentUser() {
return permbean.getCurrentUser();
}
......
......@@ -22,7 +22,7 @@ import fi.insomnia.bortal.beans.PermissionBeanLocal;
import fi.insomnia.bortal.beans.RoleBeanLocal;
import fi.insomnia.bortal.clientutils.BortalLocalContextHolder;
import fi.insomnia.bortal.enums.apps.IAppPermission;
import fi.insomnia.bortal.model.User;
import fi.insomnia.bortal.model.IUser;
/**
*
......@@ -125,7 +125,7 @@ public class SessionHandler {
}
public User getCurrentUser() {
public IUser getCurrentUser() {
return permbean.getCurrentUser();
}
......
......@@ -33,8 +33,8 @@ import fi.insomnia.bortal.beans.PlaceMapBeanLocal;
import fi.insomnia.bortal.beans.SecurityLogType;
import fi.insomnia.bortal.enums.apps.MapPermission;
import fi.insomnia.bortal.model.EventMap;
import fi.insomnia.bortal.model.IUser;
import fi.insomnia.bortal.model.Place;
import fi.insomnia.bortal.model.User;
/**
*
......@@ -149,7 +149,7 @@ public class PlaceMap extends HttpServlet {
// logger.debug("Got map object {}", map);
List<Place> places = map.getPlaces();
User user = permbean.getCurrentUser();
IUser user = permbean.getCurrentUser();
// List<Place> selectedPlaces = placemapBean.findSelectedPlaces(map);
BufferedImage image = ImageIO.read(new ByteArrayInputStream(map
......@@ -241,7 +241,7 @@ public class PlaceMap extends HttpServlet {
private static final Color LOCKED_COLOR = Color.DARK_GRAY;
private static final int BORDER_WIDTH = 2;
private static void drawPlace(Place p, Graphics2D g, User user) {
private static void drawPlace(Place p, Graphics2D g, IUser user) {
if (p.isDisabled()) {
return;
}
......
......@@ -110,7 +110,7 @@ public class UploadServlet extends HttpServlet {
String type = request.getParameter("type");
if (type.equals("userimage")) {
logger.debug("Uploading userimage for user {}");
UserImage userimage = userbean.uploadImage(userbean.findById(destId), contenttype, imagedata, filename, description);
UserImage userimage = userbean.uploadImage(userbean.getEventUser(userbean.findById(destId)), contenttype, imagedata, filename, description);
utilbean.convertImage(userimage.getUser());
} else if (type.equals("mapimage")) {
eventmapbean.sendImage(destId, imagedata);
......
......@@ -21,8 +21,8 @@ import fi.insomnia.bortal.beans.CardTemplateBeanLocal;
import fi.insomnia.bortal.beans.PermissionBeanLocal;
import fi.insomnia.bortal.beans.UserBeanLocal;
import fi.insomnia.bortal.enums.apps.UserPermission;
import fi.insomnia.bortal.model.IUser;
import fi.insomnia.bortal.model.PrintedCard;
import fi.insomnia.bortal.model.User;
/**
* Servlet implementation class UploadServlet
......@@ -86,7 +86,7 @@ public class UserCardServlet extends GenericImageServlet {
private byte[] mkCard(PrintedCard card) throws IOException {
User user = card.getUser();
IUser user = card.getUser();
BufferedImage face = ImageIO.read(new ByteArrayInputStream(user.getCurrentImage().getImageData()));
......
......@@ -6,7 +6,7 @@ import javax.inject.Inject;
import javax.inject.Named;
import fi.insomnia.bortal.beans.NewsBeanLocal;
import fi.insomnia.bortal.model.User;
import fi.insomnia.bortal.model.IUser;
import fi.insomnia.bortal.web.annotations.SelectedUser;
import fi.insomnia.bortal.web.cdiview.GenericCDIView;
......@@ -19,6 +19,6 @@ public class GameView extends GenericCDIView {
@Inject
@SelectedUser
private User user;
private IUser user;
}
......@@ -17,7 +17,7 @@ import fi.insomnia.bortal.beans.PlaceBeanLocal;
import fi.insomnia.bortal.beans.PlaceMapBeanLocal;
import fi.insomnia.bortal.enums.apps.MapPermission;
import fi.insomnia.bortal.model.EventMap;
import fi.insomnia.bortal.model.User;
import fi.insomnia.bortal.model.EventUser;
import fi.insomnia.bortal.web.annotations.SelectedUser;
import fi.insomnia.bortal.web.cdiview.GenericCDIView;
......@@ -31,7 +31,7 @@ public class MapView extends GenericCDIView {
@Inject
@SelectedUser
private User user;
private EventUser user;
private EventMap activeMap;
......@@ -106,11 +106,11 @@ public class MapView extends GenericCDIView {
this.activeMap = activeMap;
}
public void setUser(User user) {
public void setUser(EventUser user) {
this.user = user;
}
public User getUser() {
public EventUser getUser() {
return user;
}
}
......@@ -20,6 +20,7 @@ import fi.insomnia.bortal.beans.UserBeanLocal;
import fi.insomnia.bortal.enums.apps.MapPermission;
import fi.insomnia.bortal.exceptions.BortalCatchableException;
import fi.insomnia.bortal.model.EventMap;
import fi.insomnia.bortal.model.EventUser;
import fi.insomnia.bortal.model.Place;
import fi.insomnia.bortal.model.User;
import fi.insomnia.bortal.web.annotations.SelectedUser;
......@@ -45,7 +46,7 @@ public class PlaceView extends GenericCDIView {
@Inject
@SelectedUser
private User user;
private EventUser user;
@Inject
private EventMap currentMap;
......@@ -135,8 +136,8 @@ public class PlaceView extends GenericCDIView {
public String reserveForUser() {
try {
User user = userlist.getRowData();
if (placebean.reservePlace(place, userlist.getRowData())) {
EventUser user = userbean.getEventUser(userlist.getRowData());
if (placebean.reservePlace(place, user)) {
placebean.buySelectedPlaces(user);
}
......
......@@ -11,10 +11,10 @@ import javax.inject.Named;
import fi.insomnia.bortal.beans.PlaceGroupBeanLocal;
import fi.insomnia.bortal.enums.apps.MapPermission;
import fi.insomnia.bortal.model.EventUser;
import fi.insomnia.bortal.model.GroupMembership;
import fi.insomnia.bortal.model.Place;
import fi.insomnia.bortal.model.PlaceGroup;
import fi.insomnia.bortal.model.User;
import fi.insomnia.bortal.web.annotations.SelectedUser;
import fi.insomnia.bortal.web.cdiview.GenericCDIView;
......@@ -28,7 +28,7 @@ public class PlacegroupView extends GenericCDIView {
// private UserView userview;
@Inject
@SelectedUser
private User user;
private EventUser user;
@EJB
private transient PlaceGroupBeanLocal placegroupBean;
......@@ -122,4 +122,12 @@ public class PlacegroupView extends GenericCDIView {
public Place getPlace() {
return place;
}
public EventUser getUser() {
return user;
}
public void setUser(EventUser user) {
this.user = user;
}
}
......@@ -7,7 +7,7 @@ import javax.inject.Named;
import fi.insomnia.bortal.beans.PlaceGroupBeanLocal;
import fi.insomnia.bortal.enums.apps.MapPermission;
import fi.insomnia.bortal.model.User;
import fi.insomnia.bortal.model.EventUser;
import fi.insomnia.bortal.web.annotations.SelectedUser;
import fi.insomnia.bortal.web.cdiview.GenericCDIView;
......@@ -21,7 +21,7 @@ public class TokenView extends GenericCDIView {
@Inject
@SelectedUser
private User user;
private EventUser user;
@EJB
private transient PlaceGroupBeanLocal placegroupbean;
......
......@@ -12,9 +12,9 @@ import javax.inject.Named;
import fi.insomnia.bortal.beans.EventBeanLocal;
import fi.insomnia.bortal.beans.EventOrganiserBeanLocal;
import fi.insomnia.bortal.model.EventOrganiser;
import fi.insomnia.bortal.model.IUser;
import fi.insomnia.bortal.model.LanEvent;
import fi.insomnia.bortal.model.LanEventDomain;
import fi.insomnia.bortal.model.User;
import fi.insomnia.bortal.web.annotations.LoggedIn;
import fi.insomnia.bortal.web.cdiview.GenericCDIView;
......@@ -31,7 +31,7 @@ public class EventOrgView extends GenericCDIView {
@LoggedIn
@Inject
private User user;
private IUser user;
private EventOrganiser eventorg;
private Integer orgId;
......@@ -145,11 +145,11 @@ public class EventOrgView extends GenericCDIView {
return orgId;
}
public void setUser(User user) {
public void setUser(IUser user) {
this.user = user;
}
public User getUser() {
public IUser getUser() {
return user;
}
......
......@@ -13,7 +13,7 @@ import fi.insomnia.bortal.beans.BillBeanLocal;
import fi.insomnia.bortal.bortal.views.BillSummary;
import fi.insomnia.bortal.enums.apps.BillPermission;
import fi.insomnia.bortal.model.Bill;
import fi.insomnia.bortal.model.User;
import fi.insomnia.bortal.model.IUser;
import fi.insomnia.bortal.web.annotations.SelectedUser;
import fi.insomnia.bortal.web.cdiview.GenericCDIView;
......@@ -28,7 +28,7 @@ public class BillListView extends GenericCDIView {
@Inject
@SelectedUser
private User user;
private IUser user;
@EJB
private transient BillBeanLocal billbean;
......
......@@ -6,6 +6,7 @@ import javax.inject.Inject;
import javax.inject.Named;
import fi.insomnia.bortal.beans.UserBeanLocal;
import fi.insomnia.bortal.model.EventUser;
import fi.insomnia.bortal.model.GroupMembership;
import fi.insomnia.bortal.model.User;
import fi.insomnia.bortal.web.cdiview.GenericCDIView;
......@@ -22,7 +23,7 @@ public class InviteAcceptView extends GenericCDIView {
@Inject
private UserView userview;
private User user;
private EventUser user;
private boolean done = false;
@EJB
......@@ -40,7 +41,7 @@ public class InviteAcceptView extends GenericCDIView {
this.addFaceMessage("invite.notFound");
done = true;
} else if (user == null) {
user = new User();
user = new EventUser(new User(), null);
userview.setUser(user);
super.beginConversation();
}
......@@ -65,11 +66,11 @@ public class InviteAcceptView extends GenericCDIView {
return token;
}
public void setUser(User user) {
public void setUser(EventUser user) {
this.user = user;
}
public User getUser() {
public EventUser getUser() {
return user;
}
......
......@@ -17,7 +17,7 @@ import fi.insomnia.bortal.beans.EventBeanLocal;
import fi.insomnia.bortal.beans.ProductBeanLocal;
import fi.insomnia.bortal.enums.apps.ShopPermission;
import fi.insomnia.bortal.model.Bill;
import fi.insomnia.bortal.model.User;
import fi.insomnia.bortal.model.EventUser;
import fi.insomnia.bortal.web.annotations.SelectedUser;
import fi.insomnia.bortal.web.cdiview.GenericCDIView;
import fi.insomnia.bortal.web.helpers.ProductShopItem;
......@@ -42,7 +42,7 @@ public class ProductShopView extends GenericCDIView {
@Inject
@SelectedUser
private User user;
private EventUser user;
private boolean payInstant;
......@@ -109,11 +109,11 @@ public class ProductShopView extends GenericCDIView {
return "redirBillList";
}
public void setUser(User user) {
public void setUser(EventUser user) {
this.user = user;
}
public User getUser() {
public EventUser getUser() {
return user;
}
......
......@@ -17,7 +17,7 @@ import fi.insomnia.bortal.beans.CardTemplateBeanLocal;
import fi.insomnia.bortal.beans.EventBeanLocal;
import fi.insomnia.bortal.enums.apps.UserPermission;
import fi.insomnia.bortal.model.CardTemplate;
import fi.insomnia.bortal.model.User;
import fi.insomnia.bortal.model.IUser;
import fi.insomnia.bortal.utilities.I18n;
import fi.insomnia.bortal.web.annotations.SelectedUser;
import fi.insomnia.bortal.web.cdiview.GenericCDIView;
......@@ -37,7 +37,7 @@ public class CardView extends GenericCDIView {
private EventBeanLocal eventBean;
@Inject
@SelectedUser
private User user;
private IUser user;
private Integer cardid;
......@@ -114,11 +114,11 @@ public class CardView extends GenericCDIView {
return null;
}
public User getUser() {
public IUser getUser() {
return user;
}
public void setUser(User user) {
public void setUser(IUser user) {
this.user = user;
}
......
......@@ -7,18 +7,19 @@ import java.util.List;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import fi.insomnia.bortal.model.IUser;
import fi.insomnia.bortal.model.User;
public class ImportWrapper implements Serializable {
private static final long serialVersionUID = 6812020704989137912L;
private final User user;
private final IUser user;
private final ArrayList<User> potential;
private User selected;
private Boolean skip = false;
private static final Logger logger = LoggerFactory.getLogger(ImportWrapper.class);
public ImportWrapper(User usr) {
public ImportWrapper(IUser usr) {
user = usr;
potential = new ArrayList<User>();
selected = new User();
......@@ -29,7 +30,7 @@ public class ImportWrapper implements Serializable {
potential.addAll(results);
}
public User getUser() {
public IUser getUser() {
return user;
}
......@@ -37,7 +38,7 @@ public class ImportWrapper implements Serializable {
return potential;
}
public User getSelected() {
public IUser getSelected() {
return selected;
}
......
......@@ -10,6 +10,7 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import fi.insomnia.bortal.beans.UserBeanLocal;
import fi.insomnia.bortal.model.IUser;
import fi.insomnia.bortal.model.User;
import fi.insomnia.bortal.web.cdiview.GenericCDIView;
......@@ -115,7 +116,7 @@ public class PasswordResetView extends GenericCDIView {
this.confirm = confirm;
}
public User getUser() {
public IUser getUser() {
return user;
}
......
......@@ -7,7 +7,7 @@ import javax.inject.Named;
import fi.insomnia.bortal.beans.UserBeanLocal;
import fi.insomnia.bortal.enums.apps.UserPermission;
import fi.insomnia.bortal.model.User;
import fi.insomnia.bortal.model.EventUser;
import fi.insomnia.bortal.web.annotations.SelectedUser;
import fi.insomnia.bortal.web.cdiview.GenericCDIView;
......@@ -22,7 +22,7 @@ public class PasswordView extends GenericCDIView {
@Inject
@SelectedUser
private User user;
private EventUser user;
@EJB
private transient UserBeanLocal userbean;
......@@ -44,11 +44,11 @@ public class PasswordView extends GenericCDIView {
return "permissionDenied";
}
public User getUser() {
public EventUser getUser() {
return user;
}
public void setUser(User user) {
public void setUser(EventUser user) {
this.user = user;
}
......
......@@ -7,8 +7,8 @@ import javax.inject.Inject;
import javax.inject.Named;
import fi.insomnia.bortal.beans.CardTemplateBeanLocal;
import fi.insomnia.bortal.model.EventUser;
import fi.insomnia.bortal.model.PrintedCard;
import fi.insomnia.bortal.model.User;
import fi.insomnia.bortal.web.annotations.SelectedUser;
import fi.insomnia.bortal.web.cdiview.GenericCDIView;
......@@ -22,15 +22,15 @@ public class UserCardView extends GenericCDIView {
@Inject
@SelectedUser
private User user;
private EventUser user;
private ListDataModel<PrintedCard> printedCards;
public User getUser() {
public EventUser getUser() {
return user;
}
public void setUser(User user) {
public void setUser(EventUser user) {
this.user = user;
}
......
......@@ -18,10 +18,12 @@ import org.slf4j.LoggerFactory;
import fi.insomnia.bortal.beans.AccountEventBeanLocal;
import fi.insomnia.bortal.beans.CardTemplateBeanLocal;
import fi.insomnia.bortal.beans.EventBeanLocal;
import fi.insomnia.bortal.beans.RoleBeanLocal;
import fi.insomnia.bortal.beans.UserBeanLocal;
import fi.insomnia.bortal.enums.apps.UserPermission;
import fi.insomnia.bortal.model.AccountEvent;
import fi.insomnia.bortal.model.EventUser;
import fi.insomnia.bortal.model.PrintedCard;
import fi.insomnia.bortal.model.Role;
import fi.insomnia.bortal.model.User;
......@@ -46,7 +48,7 @@ public class UserView extends GenericCDIView {
private CroppedImage croppedImage;
private User user;
private EventUser user;
@Inject
private transient Conversation conversation;
......@@ -72,19 +74,21 @@ public class UserView extends GenericCDIView {
private List<Role> usersRoles;
@EJB
private RoleBeanLocal rolebean;
@EJB
private EventBeanLocal eventbean;
@Produces
@LoggedIn
public User getCurrentUser() {
public EventUser getCurrentUser() {
return permbean.getCurrentUser();
}
@Produces
@SelectedUser
public User getSelectedUser() {
public EventUser getSelectedUser() {
if (user == null) {
if (userid != null && permbean.hasPermission(UserPermission.VIEW_ALL)) {
user = userbean.findById(userid);
user = userbean.findEventUserById(userid);
} else {
user = getCurrentUser();
}
......@@ -132,7 +136,7 @@ public class UserView extends GenericCDIView {
try {
newImage = userbean.saveCroppedImage(user.getCurrentImage(),
croppedImage.getLeft(), croppedImage.getTop(), croppedImage.getWidth(), croppedImage.getHeight());
user = newImage.getUser();
user = userbean.getEventUser(newImage.getUser());
} catch (IOException e) {
logger.info("Error converting image", e);
super.addFaceMessage("user.errorConvertingImage");
......@@ -154,7 +158,7 @@ public class UserView extends GenericCDIView {
public String sendImage() {
UserImage userimage = userbean.uploadImage(user, getImage().getContentType(), getImage().getContents(), getImage().getFileName(), "");
user = userimage.getUser();
user = userbean.getEventUser(userimage.getUser());
super.addFaceMessage("user.imageUploaded");
return null;
......@@ -162,7 +166,7 @@ public class UserView extends GenericCDIView {
public void initCreateView() {
if (super.requirePermissions(UserPermission.CREATE_NEW)) {
user = new User();
user = new EventUser(new User(), eventbean.getCurrentEvent());
super.beginConversation();
}
}
......@@ -220,11 +224,11 @@ public class UserView extends GenericCDIView {
return userid;
}
public void setUser(User user) {
public void setUser(EventUser user) {
this.user = user;
}
public User getUser() {
public EventUser getUser() {
return user;
}
......
package fi.insomnia.bortal.web.converter;
import javax.ejb.EJB;
import javax.faces.bean.RequestScoped;
import javax.inject.Named;
import fi.insomnia.bortal.beans.UserBeanLocal;
import fi.insomnia.bortal.model.EventUser;
import fi.insomnia.bortal.utilities.jsf.GenericIntegerEntityConverter;
@Named
@RequestScoped
public class EventUserConverter extends GenericIntegerEntityConverter<EventUser> {
@EJB
private UserBeanLocal userbean;
@Override
protected EventUser find(Integer id) {
return userbean.findEventUserById(id);
}
}
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!