Commit 00b9aeba by Tuomas Riihimäki

Add 'enteredEventAdmin' to GroupMembership

1 parent eed117f3
......@@ -241,6 +241,12 @@ public class BootstrapBean implements BootstrapBeanLocal {
"ALTER TABLE maps ADD COLUMN mime_type TEXT default 'image/png'",
});
dbUpdates.add(new String[] {
"ALTER TABLE group_memberships ADD COLUMN entered_event_admin_id INTEGER",
"ALTER TABLE group_memberships ADD CONSTRAINT FK_group_memberships_entered_event_admin_id FOREIGN KEY (entered_event_admin_id) REFERENCES event_users (id)",
});
}
public BootstrapBean() {
......
......@@ -43,138 +43,150 @@ import javax.persistence.TemporalType;
// GroupMembership.EVENTUSER_ID, GroupMembership.GROUP_ID }) })
public class GroupMembership extends GenericEntity {
/**
/**
*
*/
private static final long serialVersionUID = 2195875306960651526L;
protected static final String EVENTUSER_ID = "eventuser_id";
protected static final String GROUP_ID = "group_id";
private static final long serialVersionUID = 2195875306960651526L;
protected static final String EVENTUSER_ID = "eventuser_id";
protected static final String GROUP_ID = "group_id";
@Column(name = "invite_token", unique = true, nullable = false)
private String inviteToken;
@Column(name = "invite_token", unique = true, nullable = false)
private String inviteToken;
@Column(name = "invite_accepted")
@Temporal(TemporalType.TIMESTAMP)
private Calendar inviteAccepted;
@Column(name = "invite_accepted")
@Temporal(TemporalType.TIMESTAMP)
private Calendar inviteAccepted;
@Column(name = "invite_email")
private String inviteEmail;
@Column(name = "invite_email")
private String inviteEmail;
@Column(name = "invite_name")
private String inviteName;
@Column(name = "invite_name")
private String inviteName;
@ManyToOne(optional = false, cascade = CascadeType.PERSIST)
@JoinColumn(name = GROUP_ID, referencedColumnName = "id", nullable = false)
private PlaceGroup placeGroup;
@ManyToOne(optional = false, cascade = CascadeType.PERSIST)
@JoinColumn(name = GROUP_ID, referencedColumnName = "id", nullable = false)
private PlaceGroup placeGroup;
@OneToOne(optional = false)
@JoinColumn(name = "place_reservation_id", referencedColumnName = "id", nullable = true, unique = true)
private Place placeReservation;
@OneToOne(optional = false)
@JoinColumn(name = "place_reservation_id", referencedColumnName = "id", nullable = true, unique = true)
private Place placeReservation;
@ManyToOne
@ManyToOne
@JoinColumn(name = "place_product")
private Product placeProduct;
@JoinColumn(name = EVENTUSER_ID, referencedColumnName = EventUser.ID_COLUMN)
@ManyToOne
private EventUser user;
@Column(name = "entered_event")
@Temporal(TemporalType.TIMESTAMP)
private Calendar enteredEvent;
public GroupMembership() {
}
public GroupMembership(PlaceGroup pg, Place p, String token) {
super();
this.setPlaceGroup(pg);
this.setPlaceReservation(p);
this.inviteToken = token;
}
public Calendar getInviteAccepted() {
return inviteAccepted;
}
public void setInviteAccepted(Calendar inviteAccepted) {
this.inviteAccepted = inviteAccepted;
}
public String getInviteEmail() {
return inviteEmail;
}
public void setInviteEmail(String inviteEmail) {
this.inviteEmail = inviteEmail;
}
public String getInviteName() {
return inviteName;
}
public void setInviteName(String inviteName) {
this.inviteName = inviteName;
}
public PlaceGroup getPlaceGroup() {
return placeGroup;
}
public void setPlaceGroup(PlaceGroup groupsId) {
this.placeGroup = groupsId;
}
/**
* When user has selected place from map, it will be put on this.
* @return
*/
public Place getPlaceReservation() {
return placeReservation;
}
private Product placeProduct;
@JoinColumn(name = EVENTUSER_ID, referencedColumnName = EventUser.ID_COLUMN)
@ManyToOne
private EventUser user;
/**
* When user has redeemed ticket at the door
*/
@Column(name = "entered_event")
@Temporal(TemporalType.TIMESTAMP)
private Calendar enteredEvent;
/**
* User who has given the entrance to the event (ie who has set the
* enteredEvent field to not null)
*
*/
@ManyToOne()
@JoinColumn(name = "entered_event_admin_id")
private EventUser enteredEventAdmin;
public GroupMembership() {
}
public void setPlaceReservation(Place placeReservation) {
this.placeReservation = placeReservation;
}
public GroupMembership(PlaceGroup pg, Place p, String token) {
super();
this.setPlaceGroup(pg);
this.setPlaceReservation(p);
this.inviteToken = token;
}
public EventUser getUser() {
return user;
}
public Calendar getInviteAccepted() {
return inviteAccepted;
}
public void setUser(EventUser usersId) {
this.user = usersId;
}
public void setInviteAccepted(Calendar inviteAccepted) {
this.inviteAccepted = inviteAccepted;
}
/**
* @return the enteredEvent
*/
public Calendar getEnteredEvent() {
return enteredEvent;
}
public String getInviteEmail() {
return inviteEmail;
}
/**
* @param enteredEvent
* the enteredEvent to set
*/
public void setEnteredEvent(Calendar enteredEvent) {
this.enteredEvent = enteredEvent;
}
public void setInviteToken(String inviteToken) {
this.inviteToken = inviteToken;
}
public String getInviteToken() {
return inviteToken;
}
/**
*
* PlaceProduct is part of membership BEFORE user has selected place.
* @return
*/
public void setInviteEmail(String inviteEmail) {
this.inviteEmail = inviteEmail;
}
public String getInviteName() {
return inviteName;
}
public void setInviteName(String inviteName) {
this.inviteName = inviteName;
}
public PlaceGroup getPlaceGroup() {
return placeGroup;
}
public void setPlaceGroup(PlaceGroup groupsId) {
this.placeGroup = groupsId;
}
/**
* When user has selected place from map, it will be put on this.
*
* @return
*/
public Place getPlaceReservation() {
return placeReservation;
}
public void setPlaceReservation(Place placeReservation) {
this.placeReservation = placeReservation;
}
public EventUser getUser() {
return user;
}
public void setUser(EventUser usersId) {
this.user = usersId;
}
/**
* @return the enteredEvent
*/
public Calendar getEnteredEvent() {
return enteredEvent;
}
/**
* @param enteredEvent
* the enteredEvent to set
*/
public void setEnteredEvent(Calendar enteredEvent) {
this.enteredEvent = enteredEvent;
}
public void setInviteToken(String inviteToken) {
this.inviteToken = inviteToken;
}
public String getInviteToken() {
return inviteToken;
}
/**
*
* PlaceProduct is part of membership BEFORE user has selected place.
*
* @return
*/
public Product getPlaceProduct() {
return placeProduct;
}
......
Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!