use of mom.trd.opentheso.bdd.helper.nodes.NodeUser in project opentheso by miledrousset.
the class SelectedCandidat method toValid.
/**
* ************************** EDITION ****************************
*/
/**
* Passe un candidat de son état courant à l'état validé. Un mail est envoyé
* aux contributeurs si l'option d'envoi de mail est activée
*/
public void toValid() {
CandidateHelper ch = new CandidateHelper();
ch.updateCandidatStatus(connect.getPoolConnexion(), "v", idTheso, selected.getIdConcept());
ch.addAdminMessage(connect.getPoolConnexion(), selected.getIdConcept(), idTheso, theUser.getUser().getId(), msgValid);
// msgValid = "";
selected.setEtat("v");
// ArrayList<String> lesMails = new UserHelper().getMailAdmin(connect.getPoolConnexion(), idTheso);
// ArrayList<String> contribs = new UserHelper().getMailContributor(connect.getPoolConnexion(), selected.getIdConcept(), idTheso);
// récupération des contributeurs du candidat
ArrayList<NodeUser> contribs = ch.getListUsersOfCandidat(connect.getPoolConnexion(), selected.getIdConcept(), idTheso);
/* for (NodeUser nodeUser : contribs) {
if (!lesMails.contains(contrib)) {
lesMails.add(contrib);
}
}*/
/*
for (NodeUser nodeUser : contribs) {
if (nodeUser.getMail() != null && !nodeUser.getMail().trim().equals("")) {
String message = "Votre candidat " + selected.getValue() + " a été validé par le(a) terminologue : " + theUser.getUser().getName() + ".";
message = message + "\n avec le message suivant : " + msgValid + ".";
envoyerMailAlert(nodeUser.getMail(), message);
}
}*/
msgValid = "";
vue.setAddValidCdt(false);
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(langueBean.getMsg("info") + " :", langueBean.getMsg("sCdt.info4")));
}
use of mom.trd.opentheso.bdd.helper.nodes.NodeUser 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 "";
}
use of mom.trd.opentheso.bdd.helper.nodes.NodeUser in project opentheso by miledrousset.
the class SelectedCandidat method maj.
/**
* $$$$$$$$$ fonction à revoir, trop de connection, à optimiser $$$$$$$$$
*/
/**
* Récupération des informations d'un candidat lors de sa sélection dans la
* table des candidats
*
* @param theso
* @param langue
*/
public void maj(String theso, String langue) {
// if(theso == null) return;
idTheso = theso;
langueTheso = langue;
infoCdt.setNodesUser(new CandidateHelper().getListUsersOfCandidat(connect.getPoolConnexion(), selected.getIdConcept(), theso));
infoCdt.setNodeTraductions(new CandidateHelper().getNodeTraductionCandidat(connect.getPoolConnexion(), selected.getIdConcept(), idTheso, langue));
nomsProp = new ArrayList<>();
if (infoCdt.getNodesUser().isEmpty())
reInit();
for (NodeUser nuse : infoCdt.getNodesUser()) {
nomsProp.add(nuse.getName());
}
if (selected.getIdConcept() != null && !selected.getIdConcept().isEmpty() && !infoCdt.getNodesUser().isEmpty()) {
NodeProposition np = new CandidateHelper().getNodePropositionOfUser(connect.getPoolConnexion(), selected.getIdConcept(), theso, infoCdt.getNodesUser().get(0).getId());
if (np == null) {
// erreur
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(FacesMessage.SEVERITY_ERROR, langueBean.getMsg("error") + " :", langueBean.getMsg("Error-BDD")));
return;
}
note = np.getNote();
niveau = new ConceptHelper().getLexicalValueOfConcept(connect.getPoolConnexion(), np.getIdConceptParent(), idTheso, langue) + " (" + np.getIdConceptParent() + ")";
if (!np.getIdConceptParent().isEmpty()) {
niveau = new ConceptHelper().getLexicalValueOfConcept(connect.getPoolConnexion(), np.getIdConceptParent(), idTheso, langueTheso) + " (" + np.getIdConceptParent() + ")";
showGroup(np);
// domaine = new GroupHelper().getLexicalValueOfGroup(connect.getPoolConnexion(), np.getIdGroup(), idTheso, langueTheso) + " (" + np.getIdGroup() + ")";
}
modifiedProposition = np.getModified();
createdProposition = np.getCreated();
if (selected.getEtat().equals("r") || selected.getEtat().equals("v") || selected.getEtat().equals("i")) {
msgAdm = new CandidateHelper().getMessageAdmin(connect.getPoolConnexion(), idTheso, selected.getIdConcept());
} else {
msgAdm = new NodeMessageAdmin();
}
}
}
use of mom.trd.opentheso.bdd.helper.nodes.NodeUser in project opentheso by miledrousset.
the class SelectedCandidat method delPropCdt.
/**
* ************************** SUPPRESSION ****************************
*/
/**
* Supprime la proposition. Si c'est la dernière, le candidat est
* intégralement supprimé.
*/
public void delPropCdt() {
if (infoCdt.getNodesUser().size() == 1) {
// Suppression du concept
new CandidateHelper().deleteConceptCandidat(connect.getPoolConnexion(), selected.getIdConcept(), idTheso);
reInit();
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(langueBean.getMsg("info") + " :", langueBean.getMsg("sCdt.info1")));
} else {
// Suppression de la proposition
new CandidateHelper().deletePropositionCandidat(connect.getPoolConnexion(), selected.getIdConcept(), theUser.getUser().getId(), idTheso);
infoCdt.setNodesUser(new CandidateHelper().getListUsersOfCandidat(connect.getPoolConnexion(), selected.getIdConcept(), idTheso));
nomsProp = new ArrayList<>();
for (NodeUser nuse : infoCdt.getNodesUser()) {
nomsProp.add(nuse.getName());
}
note = "";
niveau = "";
domaine = "";
FacesContext.getCurrentInstance().addMessage(null, new FacesMessage(langueBean.getMsg("info") + " :", langueBean.getMsg("sCdt.info2")));
}
}
use of mom.trd.opentheso.bdd.helper.nodes.NodeUser in project opentheso by miledrousset.
the class UserHelper method getInfoUser.
/**
* cette fonction permet de retourner les informations sur l'utilisateur et
* son role par rapport à un thésaurus
*
* @param ds
* @param logName
* @param idThesaurus
* @return
*/
public NodeUser getInfoUser(HikariDataSource ds, String logName, String idThesaurus) {
NodeUser nu = null;
Connection conn;
Statement stmt;
ResultSet resultSet;
try {
conn = ds.getConnection();
try {
stmt = conn.createStatement();
try {
String query = "SELECT roles.name, user_role.id_role," + " user_role.id_thesaurus," + " users.username, users.id_user, users.mail," + " users.active, users.alertmail" + " FROM users, user_role, roles WHERE" + " users.id_user = user_role.id_user AND" + " user_role.id_role = roles.id AND" + " users.username = '" + logName + "'";
// + " AND"
// + " user_role.id_thesaurus = '" + idThesaurus + "'";
/* String query = "SELECT users.id_user, username, mail, id_role, name, description FROM users, roles "
+ "WHERE users.id_role=roles.id AND username='" + logName + "' and active=true";*/
resultSet = stmt.executeQuery(query);
if (resultSet.next()) {
nu = new NodeUser();
nu.setId(resultSet.getInt("id_user"));
nu.setMail(resultSet.getString("mail"));
nu.setIdRole(resultSet.getInt("id_role"));
nu.setIsActive(resultSet.getBoolean("active"));
nu.setIsAlertMail(resultSet.getBoolean("alertmail"));
nu.setName(logName);
nu.setRole(resultSet.getString("name"));
nu.setIdThesaurus(idThesaurus);
}
} finally {
stmt.close();
}
} finally {
conn.close();
}
} catch (SQLException ex) {
Logger.getLogger(UserHelper.class.getName()).log(Level.SEVERE, null, ex);
}
return nu;
}
Aggregations