Commit dd3cb56c by Tuomas Riihimäki

Paikan vapautus ei poistanut paikkaan liitettyä käyttäjää.

1 parent ccab4169
......@@ -31,21 +31,14 @@ import javax.ejb.TimerService;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import fi.codecrew.moya.enums.apps.MapPermission;
import fi.codecrew.moya.enums.apps.SpecialPermission;
import fi.codecrew.moya.exceptions.BortalCatchableException;
import fi.codecrew.moya.facade.EventUserFacade;
import fi.codecrew.moya.facade.GroupMembershipFacade;
import fi.codecrew.moya.facade.PlaceFacade;
import fi.codecrew.moya.facade.PlaceGroupFacade;
import fi.codecrew.moya.facade.UserFacade;
import fi.codecrew.moya.beans.AccountEventBeanLocal;
import fi.codecrew.moya.beans.EventBeanLocal;
import fi.codecrew.moya.beans.LoggingBeanLocal;
import fi.codecrew.moya.beans.PermissionBeanLocal;
import fi.codecrew.moya.beans.PlaceBeanLocal;
import fi.codecrew.moya.beans.ProductBeanLocal;
import fi.codecrew.moya.beans.SecurityLogType;
import fi.codecrew.moya.enums.apps.MapPermission;
import fi.codecrew.moya.enums.apps.SpecialPermission;
import fi.codecrew.moya.exceptions.BortalCatchableException;
import fi.codecrew.moya.model.EventMap;
import fi.codecrew.moya.model.EventUser;
import fi.codecrew.moya.model.GroupMembership;
......@@ -488,12 +481,30 @@ public class PlaceBean implements PlaceBeanLocal {
@Override
@RolesAllowed(MapPermission.S_BUY_PLACES)
public void unbuyPlace(Place place) {
place = placeFacade.find(place.getId());
public Place unbuyPlace(Place place) {
place = placeFacade.reload(place);
if (place.getGroup() != null) {
place.getGroup().getPlaces().remove(place);
place.setGroup(null);
}
}
if (place.getPlaceReserver() != null)
{
GroupMembership res = place.getPlaceReserver();
if (res.getPlaceGroup().getMembers() != null) {
res.getPlaceGroup().getMembers().remove(res);
}
if (res.getUser() != null && res.getUser().getGroupMemberships() != null) {
res.getUser().getGroupMemberships().remove(res);
}
place.setPlaceReserver(null);
gmemfacade.remove(res);
}
return place;
}
}
......@@ -41,7 +41,7 @@ public interface PlaceBeanLocal {
Place find(int placeId);
void unbuyPlace(Place place);
Place unbuyPlace(Place place);
BigDecimal getTotalReservationPrice(EventUser user, Place newPlace);
......
......@@ -55,7 +55,7 @@ public class GroupMembership extends GenericEntity {
private PlaceGroup placeGroup;
@OneToOne(optional = false)
@JoinColumn(name = "place_reservation_id", referencedColumnName = "id", nullable = true)
@JoinColumn(name = "place_reservation_id", referencedColumnName = "id", nullable = true, unique = true)
private Place placeReservation;
@JoinColumn(name = EVENTUSER_ID, referencedColumnName = EventUser.ID_COLUMN)
......
......@@ -176,7 +176,7 @@ public class PlaceView extends GenericCDIView {
public String removePlaceFromGroup() {
placebean.unbuyPlace(place);
place = placebean.unbuyPlace(place);
addFaceMessage("place.unbought", place.getName());
return null;
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!