Search in sources :

Example 11 with NodeUser

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")));
}
Also used : NodeUser(mom.trd.opentheso.bdd.helper.nodes.NodeUser) FacesMessage(javax.faces.application.FacesMessage) CandidateHelper(mom.trd.opentheso.bdd.helper.CandidateHelper)

Example 12 with NodeUser

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 "";
}
Also used : FacesContext(javax.faces.context.FacesContext) UserHelper(mom.trd.opentheso.bdd.helper.UserHelper) SQLException(java.sql.SQLException) ThesaurusHelper(mom.trd.opentheso.bdd.helper.ThesaurusHelper) BaseDeDoneesHelper(mom.trd.opentheso.bdd.helper.BaseDeDoneesHelper) NodeUser(mom.trd.opentheso.bdd.helper.nodes.NodeUser) FacesMessage(javax.faces.application.FacesMessage)

Example 13 with NodeUser

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();
        }
    }
}
Also used : NodeProposition(mom.trd.opentheso.bdd.helper.nodes.candidat.NodeProposition) ConceptHelper(mom.trd.opentheso.bdd.helper.ConceptHelper) NodeMessageAdmin(mom.trd.opentheso.bdd.helper.nodes.candidat.NodeMessageAdmin) NodeUser(mom.trd.opentheso.bdd.helper.nodes.NodeUser) FacesMessage(javax.faces.application.FacesMessage) CandidateHelper(mom.trd.opentheso.bdd.helper.CandidateHelper)

Example 14 with NodeUser

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")));
    }
}
Also used : NodeUser(mom.trd.opentheso.bdd.helper.nodes.NodeUser) FacesMessage(javax.faces.application.FacesMessage) CandidateHelper(mom.trd.opentheso.bdd.helper.CandidateHelper)

Example 15 with NodeUser

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;
}
Also used : SQLException(java.sql.SQLException) NodeUser(mom.trd.opentheso.bdd.helper.nodes.NodeUser) PreparedStatement(java.sql.PreparedStatement) Statement(java.sql.Statement) Connection(java.sql.Connection) ResultSet(java.sql.ResultSet)

Aggregations

NodeUser (mom.trd.opentheso.bdd.helper.nodes.NodeUser)16 SQLException (java.sql.SQLException)9 Connection (java.sql.Connection)7 PreparedStatement (java.sql.PreparedStatement)7 ResultSet (java.sql.ResultSet)7 Statement (java.sql.Statement)7 CandidateHelper (mom.trd.opentheso.bdd.helper.CandidateHelper)6 FacesMessage (javax.faces.application.FacesMessage)5 ArrayList (java.util.ArrayList)3 ConceptHelper (mom.trd.opentheso.bdd.helper.ConceptHelper)3 NodeProposition (mom.trd.opentheso.bdd.helper.nodes.candidat.NodeProposition)3 UserHelper (mom.trd.opentheso.bdd.helper.UserHelper)2 HikariDataSource (com.zaxxer.hikari.HikariDataSource)1 FacesContext (javax.faces.context.FacesContext)1 HttpServletRequest (javax.servlet.http.HttpServletRequest)1 HttpServletResponse (javax.servlet.http.HttpServletResponse)1 CurrentUser (mom.trd.opentheso.SelectedBeans.CurrentUser)1 SelectedCandidat (mom.trd.opentheso.SelectedBeans.SelectedCandidat)1 BaseDeDoneesHelper (mom.trd.opentheso.bdd.helper.BaseDeDoneesHelper)1 Connexion (mom.trd.opentheso.bdd.helper.Connexion)1