PlaceGroupView.java 1.87 KB
package fi.insomnia.bortal.view;

import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.model.ListDataModel;

import org.slf4j.Logger;
import org.slf4j.LoggerFactory;

import fi.insomnia.bortal.beans.PlaceGroupBeanLocal;
import fi.insomnia.bortal.beans.UserBeanLocal;
import fi.insomnia.bortal.model.GroupMembership;
import fi.insomnia.bortal.model.User;

@ManagedBean(name = "placeGroupView")
@SessionScoped
public class PlaceGroupView extends GenericView{

    private static final Logger logger = LoggerFactory.getLogger(PlaceGroupView.class);
    private User user;
    @EJB
    private UserBeanLocal userBean;
    @EJB
    private PlaceGroupBeanLocal placegroupBean;
    private ListDataModel<GroupMembership> memberlist;

    private String token;

    public void editSelf() {
        userBean.fatalNotLoggedIn();
        setUser(userBean.getCurrentUser());
    }

    public void setUser(User user) {
        this.user = user;
    }

    public User getUser() {
        userBean.fatalNotLoggedIn();
        if (user != null) {
            logger.debug("User {}", user.getPlaceGroups().size());
        }
        return user;
    }

    public ListDataModel<GroupMembership> getGroupMemberships() {
        userBean.fatalNotLoggedIn();
        memberlist = new ListDataModel<GroupMembership>(placegroupBean.getMemberships(user));
        return memberlist;
    }

    public String saveToken() {
        userBean.fatalNotLoggedIn();
        User thisuser = userBean.getCurrentUser();
        String ret = "myGroups";
        if (!placegroupBean.associateToToken(thisuser, getToken())) {
            this.addFaceMessage("placetoken.tokenNotFound");
            ret = null;
        }

        return ret;
    }

    public void setToken(String token) {
        this.token = token;
    }

    public String getToken() {
        return token;
    }
}