use of mom.trd.opentheso.bdd.helper.BaseDeDoneesHelper in project opentheso by miledrousset.
the class CurrentUser method connect.
/**
* Connect l'utilisateur si le compte existe
*
* @return le lien de l'index si le compte existe, un message d'erreur sinon
* init c'est une parametre que viens du "isUserExist" ou return une 1 si on
* fait le login normal (usuaire, pass), une 2 si on fait le login avec le
* motpasstemp (et nous sommes dirigées a la page web de changer le
* motpasstemp)
*/
public String connect() {
UserHelper userHelper = new UserHelper();
if (userHelper.isUserExist(connect.getPoolConnexion(), name, MD5Password.getEncodedPassword(pwd))) {
try {
// on vérifie si l'utilisateur est SuperAdmin, on lui donne tout les droits
if (userHelper.isAdminUser(connect.getPoolConnexion(), name)) {
user = userHelper.getInfoAdmin(connect.getPoolConnexion(), name);
if (user == null) {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, langueBean.getMsg("error") + " :", langueBean.getMsg("user.roleError")));
return "";
}
user.setIdThesaurus(idTheso);
authorizedTheso = new ThesaurusHelper().getAllIdOfThesaurus(connect.getPoolConnexion());
FacesContext context = FacesContext.getCurrentInstance();
String version_Opentheso = context.getExternalContext().getInitParameter("version");
BaseDeDoneesHelper baseDeDonnesHelper = new BaseDeDoneesHelper();
baseDeDonnesHelper.updateVersionOpentheso(connect.getPoolConnexion(), version_Opentheso);
} else // on récupère ses droits par rapport au thésaurus en cours
{
NodeUser nodeUserTemp = userHelper.getInfoUser(connect.getPoolConnexion(), name, idTheso);
if (nodeUserTemp == null) {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, langueBean.getMsg("info") + " :", langueBean.getMsg("user.roleErrorAll")));
nodeUserTemp = userHelper.getInfoUser(connect.getPoolConnexion(), name);
if (nodeUserTemp == null) {
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, langueBean.getMsg("error") + " :", langueBean.getMsg("user.error1")));
return "";
}
} else {
user = userHelper.getInfoUser(connect.getPoolConnexion(), name, idTheso);
}
authorizedTheso = userHelper.getAuthorizedThesaurus(connect.getPoolConnexion(), user.getId());
}
isLogged = true;
if (userEdit != null) {
isActive = userEdit.isIsActive();
}
if (userHelper.isChangeToPass(connect.getPoolConnexion(), name)) {
// nouvelle pass web pour changer le motpasstemp
return "changePass.xhtml?faces-redirect=true";
}
name = null;
pwd = null;
return "index.xhtml?faces-redirect=true";
} catch (SQLException ex) {
Logger.getLogger(CurrentUser.class.getName()).log(Level.SEVERE, null, ex);
}
}
// utilisateur ou mot de passe n'existent pas
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, langueBean.getMsg("error") + " :", langueBean.getMsg("user.error1")));
return "";
}
Aggregations