UserView.java 3.26 KB
package fi.insomnia.bortal.view;

import java.util.List;

import javax.ejb.EJB;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ManagedProperty;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.faces.model.ListDataModel;
import javax.servlet.http.HttpSession;

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

import fi.insomnia.bortal.HostnameFilter;
import fi.insomnia.bortal.beans.SecurityBeanLocal;
import fi.insomnia.bortal.beans.SessionHandlerBeanLocal;
import fi.insomnia.bortal.beans.UserBeanLocal;
import fi.insomnia.bortal.exceptions.PermissionDeniedException;
import fi.insomnia.bortal.handler.BortalSessionHandler;
import fi.insomnia.bortal.model.User;

@ManagedBean(name = "userView")
@SessionScoped
public class UserView {
    
    @ManagedProperty("#{bortalSessionHandler}")
    private BortalSessionHandler sessionhandler;
    
    @EJB
    private SessionHandlerBeanLocal sessionbean;

    @EJB
    private UserBeanLocal userBean;
    private static final Logger logger = LoggerFactory.getLogger(UserView.class);
    private User user;
    private ListDataModel<User> items;
    private String nick;
    private String password;
    @EJB
    private SecurityBeanLocal securitybean;

    public String edit() {
        setUser(items.getRowData());
        return "userEdit";
    }

  
    
    public String getLocale() {
        return "en_ST_v7";
    }

    public String createUser() {
        if (!getSessionhandler().canWrite("userManagement")) {
            // Give message to administration what happened here.
            throw new PermissionDeniedException(securitybean, getSessionhandler().getUser(), "User " + getSessionhandler().getUser() + " does not have permission to create user!");
        }

        logger.info("Saving user");
        // Luodaan uusi kÔøΩyttÔøΩjÔøΩ UserBeanin funktiolla createNewUser jolle
        // annetaan parametrina pakolliset tiedot ( nick ja salasana )
        // Paluuarvona saadaan uusi uljas k�ytt�j�-olio.
        setUser(userBean.createNewUser(nick, password));
        nick = "";
        password = "";
        if (getUser() == null) {
            logger.warn("Could not create user. function returned null!");
            return "fault";
        }

        return "edit";
    }

    public String saveUser() {
        userBean.mergeChanges(getUser());
        return "userSave";
    }

    public ListDataModel<User> getUsers() {
        List<User> users = userBean.getUsers();
        items = new ListDataModel<User>(users);
        logger.info("Fetching users. Found {}", items.getRowCount());

        return items;

    }

    // Getters and setters...
    public String getNick() {
        return nick;
    }

    public void setNick(String nick) {
        this.nick = nick;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

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

    public User getUser() {
        return user;
    }
    public void setSessionhandler(BortalSessionHandler sessionhandler) {
        this.sessionhandler = sessionhandler;
    }

    public BortalSessionHandler getSessionhandler() {
        return sessionhandler;
    }
}