controladores.usuarios.ControladorUsuarios.java Source code

Java tutorial

Introduction

Here is the source code for controladores.usuarios.ControladorUsuarios.java

Source

/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */
package controladores.usuarios;

import java.io.IOException;
import java.util.ArrayList;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import modulo.usuarios.FUsuario;
import modulo.usuarios.dto.RolDto;
import modulo.usuarios.dto.UsuarioDto;
import org.apache.commons.codec.EncoderException;
import utilidades.Correo;
import utilidades.Encriptar;

/**
 *
 * @author Akashyro
 */
public class ControladorUsuarios extends HttpServlet {

    /**
     * Processes requests for both HTTP <code>GET</code> and <code>POST</code>
     * methods.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    protected void processRequest(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        response.setContentType("text/html;charset=UTF-8");
        request.setCharacterEncoding("UTF-8");
        FUsuario faUsu = new FUsuario();
        UsuarioDto usuario;
        Encriptar encript;
        String salida;
        if (request.getParameter("botonRegistro") != null) {
            RolDto suRol = new RolDto();
            suRol.setIdRol(Integer.parseInt(request.getParameter("ruRol")));

            UsuarioDto nuevoUsuario = new UsuarioDto();
            nuevoUsuario.setIdUsuario(Long.parseLong(request.getParameter("ruDocumento")));
            nuevoUsuario.setNombres(request.getParameter("ruNombres"));
            nuevoUsuario.setApellidos(request.getParameter("ruApellidos"));
            nuevoUsuario.setClave(request.getParameter("ruClave"));
            nuevoUsuario.setCorreo(request.getParameter("ruCorreo"));
            nuevoUsuario.setFechaNacimiento(request.getParameter("ruFechaNacimiento"));
            nuevoUsuario.setDireccion(request.getParameter("ruDireccion"));
            nuevoUsuario.setIdCiudad(Integer.parseInt(request.getParameter("ruCiudad")));
            nuevoUsuario.setImagen(null);
            nuevoUsuario.setEstado(1);
            if (request.getParameter("notificaciones") == null) {

            } else if (request.getParameter("notificaciones") != null) {
                nuevoUsuario.setNotifaciones(1);
            }
            salida = faUsu.registrarUsuario(nuevoUsuario, suRol);

            if (salida.equals("ok")) {
                response.sendRedirect(
                        "index.jsp?msg=<strong><i class='glyphicon glyphicon-ok'></i> Registro xitoso!</strong> puede iniciar sesin.&tipoAlert=success");
            } else if (salida.equals("okno")) {
                response.sendRedirect(
                        "index.jsp?msg=<strong><i class='glyphicon glyphicon-exclamation-sign'></i> Algo sali mal!</strong> Por favor intentelo de nuevo.&tipoAlert=warning");
            } else {
                response.sendRedirect(
                        "index.jsp?msg=<strong><i class='glyphicon glyphicon-exclamation-sign'></i> Ocurri un error!</strong> Detalle: "
                                + salida + "&tipoAlert=danger");
            }
        } else if (request.getParameter("recuperar") != null) {
            encript = new Encriptar();

            usuario = faUsu.obtenerUsuarioPorCorreo(request.getParameter("rcCorreo"));
            String correo = usuario.getCorreo();

            if (!correo.equals("")) {
                try {

                    String con = Long.toString(usuario.getIdUsuario());
                    String ced = encript.encode(con);

                    String url = "http://localhost:8080/FarmersMarket/index.jsp?id=" + (ced);
                    String mensaje = "<!DOCTYPE html>";
                    mensaje += "<body>";
                    mensaje += "<p>Se nos ha notificado la solicitud de recuperar tu contrasea, por favor ingresa al siguiente enlace y sigue las instrucciones"
                            + " para poder obtener tu contrasea lo antes posible</p>";
                    mensaje += "<a href=" + url + ">Recuperar contrasea</a>";
                    mensaje += "<br>-----------------------------------------------------------------------------------------------------------------";
                    mensaje += "<p>Por favor no responder a este correo, es de uso exclusivo para notificaciones y solicitudes."
                            + "<br>No se le dara una respuesta por motivos de administracin y seguridad, si tiene algun inconveniente por favor"
                            + " contacte a nuestros administradores desde nuestro sistema en el siguiente enlace</p>";
                    mensaje += "<a href='http://localhost:8080/FarmersMarket/index.jsp'>Farmers Market</a>";
                    mensaje += "<br>-----------------------------------------------------------------------------------------------------------------";
                    if (Correo.sendMail("Recuperar Contrasea", mensaje, correo)) {
                        response.sendRedirect(
                                "index.jsp?msg=<strong><i class='glyphicon glyphicon-ok'></i> Solicitud enviada!</strong> Por favor revise su correo.&tipoAlert=success");
                    } else {
                        response.sendRedirect(
                                "index.jsp?msg=<strong><i class='glyphicon glyphicon-exclamation-sign'></i> Ha ocurrido algo!</strong> Vuelva a intentarlo.&tipoAlert=warning");
                    }

                } catch (EncoderException ex) {
                    response.sendRedirect(
                            "index.jsp?msg=<strong><i class='glyphicon glyphicon-exclamation-sign'></i> Ocurri un error!</strong> Detalle: "
                                    + ex.getMessage() + "&tipoAlert=danger");
                }
            } else if (correo.equals("")) {
                response.sendRedirect(
                        "index.jsp?msg=<strong><i class='glyphicon glyphicon-exclamation-sign'></i> Lo sentimos!</strong> El correo no se encuentra registrado."
                                + correo + "&tipoAlert=warning");
            }
        } else if (request.getParameter("recuperarCodigo") != null) {
            encript = new Encriptar();
            if (request.getParameter("rcCodigo").trim().equals(request.getParameter("codigo"))) {

                try {
                    String cedula = encript.Decode(request.getParameter("encriptacion"));
                    usuario = faUsu.obtenerUsuarioPorDocumento(Long.parseLong(cedula));
                    if (!usuario.getClave().equals("")) {
                        response.sendRedirect(
                                "index.jsp?msg=<strong><i class='glyphicon glyphicon-ok'></i> Hemos recuperado tu contrasea :D es la siguiente: <i>"
                                        + usuario.getClave()
                                        + "</i>!</strong> te recomendamos  cambiarla lo antes posible.&tipoAlert=success");
                    } else {
                        response.sendRedirect(
                                "index.jsp?msg=<strong><i class='glyphicon glyphicon-exclamation-sign'></i> Ha ocurrido algo!</strong> Vuelva a intentarlo.&tipoAlert=warning");
                    }
                } catch (Exception ex) {
                    response.sendRedirect(
                            "index.jsp?msg=<strong><i class='glyphicon glyphicon-exclamation-sign'></i> Ocurri un error!</strong> Detalle: "
                                    + ex.getMessage() + "&tipoAlert=danger");
                }
            } else {
                response.sendRedirect(
                        "index.jsp?msg=<strong><i class='glyphicon glyphicon-exclamation-sign'></i> El codigo que ingreso no es correcto!</strong> Intentelo de nuevo.&tipoAlert=warning");
            }
        } else if (request.getParameter("cambiarPass") != null) {

            usuario = faUsu.obtenerUsuarioPorDocumento(Long.parseLong(request.getParameter("ccDocumento")));
            boolean admin = false;
            HttpSession miSesionRoles = request.getSession(false);
            ArrayList<RolDto> rolesActuales;
            rolesActuales = (ArrayList<RolDto>) miSesionRoles.getAttribute("roles");
            for (RolDto rol : rolesActuales) {
                if (rol.getIdRol() == 3) {
                    admin = true;
                }
            }
            if (usuario.getClave().equals(request.getParameter("ccClaveAntigua"))) {
                salida = faUsu.cambiarContrasena(request.getParameter("ccClaveNueva"),
                        Long.parseLong(request.getParameter("ccDocumento")));
                if (salida.equals("ok")) {
                    if (admin) {
                        response.sendRedirect(
                                "pages/indexadmin.jsp?msg=<strong><i class='glyphicon glyphicon-ok'></i> Su contrasea a sido modificada!</strong>&tipoAlert=success");
                    } else {
                        response.sendRedirect(
                                "pages/indexp.jsp?msg=<strong><i class='glyphicon glyphicon-ok'></i> Su contrasea a sido modificada!</strong>&tipoAlert=success");
                    }
                } else if (salida.equals("okno")) {
                    response.sendRedirect(
                            "pages/indexp.jsp?msg=<strong><i class='glyphicon glyphicon-exclamation-sign'></i> Ha ocurrido algo!</strong> Vuelva a intentarlo.&tipoAlert=warning");
                }

            } else {
                if (admin) {
                    response.sendRedirect(
                            "pages/indexadmin.jsp?msg=<strong><i class='glyphicon glyphicon-exclamation-sign'></i> La contrasea no es correcta!</strong> Vuelva a intentarlo.&tipoAlert=warning");
                } else {
                    response.sendRedirect(
                            "pages/indexp.jsp?msg=<strong><i class='glyphicon glyphicon-exclamation-sign'></i> La contrasea no es correcta!</strong> Vuelva a intentarlo.&tipoAlert=warning");
                }
            }
        } else if (request.getParameter("idUsuarioConsulta") != null) {

            UsuarioDto informacion = faUsu
                    .obtenerUsuarioPorDocumento(Long.parseLong(request.getParameter("idUsuarioConsulta")));
            HttpSession miSesion = request.getSession(true);
            miSesion.setAttribute("infUsuario", informacion);
            response.sendRedirect("pages/informacionusuario.jsp");
        } else if (request.getParameter("actualizarDatos") != null) {
            String correo = faUsu.correoRegistrado(request.getParameter("pffCorreo"),
                    Long.parseLong(request.getParameter("auDocumento")));
            if (correo.equals("")) {
                String mensaje = faUsu.actualizarDatos(request.getParameter("pffDireccion"),
                        request.getParameter("pffCorreo"), Long.parseLong(request.getParameter("auDocumento")));
                if (mensaje.equals("ok")) {
                    response.sendRedirect(
                            "pages/perfil.jsp?msg=<strong><i class='glyphicon glyphicon-ok'></i> Sus datos han sido modificados!</strong>&tipoAlert=success");
                    HttpSession miSesion = request.getSession(false);
                    UsuarioDto datosPersona = faUsu
                            .obtenerUsuarioPorDocumento(Long.parseLong(request.getParameter("auDocumento")));
                    miSesion.setAttribute("usuarioEntro", datosPersona);
                } else {
                    response.sendRedirect(
                            "pages/perfil.jsp?msg=<strong><i class='glyphicon glyphicon-exclamation-sign'></i> No se logro actualizar sus datos!</strong> Vuelva a intentarlo.&tipoAlert=warning");
                }
            } else {
                response.sendRedirect(
                        "pages/perfil.jsp?msg=<strong><i class='glyphicon glyphicon-exclamation-sign'></i> El correo ya se encuentra registrado!</strong> Vuelva a intentarlo.&tipoAlert=warning");
            }
        } else {
            response.sendRedirect("pages/indexp.jsp");
        }
    }

    // <editor-fold defaultstate="collapsed" desc="HttpServlet methods. Click on the + sign on the left to edit the code.">
    /**
     * Handles the HTTP <code>GET</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doGet(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Handles the HTTP <code>POST</code> method.
     *
     * @param request servlet request
     * @param response servlet response
     * @throws ServletException if a servlet-specific error occurs
     * @throws IOException if an I/O error occurs
     */
    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        processRequest(request, response);
    }

    /**
     * Returns a short description of the servlet.
     *
     * @return a String containing servlet description
     */
    @Override
    public String getServletInfo() {
        return "Short description";
    }// </editor-fold>

}