/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package beanControl;
import EntityBean.Users;
import helper.MD5;
import SessionBean.UsersSSBLocal;
import helper.operationSession;
import javax.ejb.EJB;
import javax.faces.application.FacesMessage;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;
import javax.faces.context.FacesContext;
import javax.faces.event.ActionEvent;
import org.primefaces.context.RequestContext;
/**
*
* @author Huynh Kim Toan
*/
@ManagedBean(name = "LG")
@SessionScoped
public class loginControl {
@EJB
private UsersSSBLocal loginFacade;
/** Creates a new instance of loginSystem */
public loginControl() {
}
private Users login = new Users();
private String username;
private String password;
/** Creates a new instance of loginSystem */
public void login(ActionEvent actionEvent) {
RequestContext context = RequestContext.getCurrentInstance();
FacesMessage msg = null;
boolean loggedIn = false;
if (username.length() == 0) {
msg = new FacesMessage(FacesMessage.SEVERITY_WARN, "Login Error", "User Not null .");
} else if (password.length() == 0) {
msg = new FacesMessage(FacesMessage.SEVERITY_WARN, "Login Error", "Password Not null .");
} else {
this.login = this.loginFacade.loginSystem(username, password);
if (login != null) {
if (login.getRoles().equals("member")) {
if (login.getStatus().equals("off")) {
loggedIn = false;
msg = new FacesMessage(FacesMessage.SEVERITY_WARN, "Login Error", "This account has been locked .");
} else {
loggedIn = true;
operationSession.ganGiaTriChoSession("user", this.login.getUsername());
operationSession.ganGiaTriChoSession("role", this.login.getRoles());
msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Welcome", login.getUsername());
}
} else if (login.getRoles().equals("staff")) {
if (login.getStatus().equals("off")) {
loggedIn = false;
msg = new FacesMessage(FacesMessage.SEVERITY_WARN, "Login Error", "This account has been locked .");
} else {
loggedIn = true;
operationSession.ganGiaTriChoSession("user", this.login.getUsername());
operationSession.ganGiaTriChoSession("role", this.login.getRoles());
msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Welcome", login.getUsername());
}
} else if (login.getRoles().equals("admin")) {
loggedIn = true;
operationSession.ganGiaTriChoSession("user", this.login.getUsername());
operationSession.ganGiaTriChoSession("role", this.login.getRoles());
msg = new FacesMessage(FacesMessage.SEVERITY_INFO, "Welcome", login.getUsername());
} else {
}
} else {
msg = new FacesMessage(FacesMessage.SEVERITY_WARN, "Login Error", "User or Password Error");
this.login.setPassword(null);
}
}
FacesContext.getCurrentInstance().addMessage(null, msg);
context.addCallbackParam("loggedIn", loggedIn);
}
public String Logout() {
operationSession.xoaGTsession("user");
operationSession.xoaGTsession("role");
this.login.setUsername(null);
this.login.setRoles(null);
return "/index";
}
public Users getLogin() {
return login;
}
public void setLogin(Users login) {
this.login = login;
}
/**
* @return the username
*/
public String getUsername() {
return username;
}
/**
* @param username the username to set
*/
public void setUsername(String username) {
this.username = username;
}
/**
* @return the password
*/
public String getPassword() {
return password;
}
/**
* @param password the password to set
*/
public void setPassword(String password) {
this.password = password;
}
}