diff --git a/UyTube_web/src/java/com/uytube/AgregarVideoAListaReproduccion.java b/UyTube_web/src/java/com/uytube/AgregarVideoAListaReproduccion.java index 7552a56d95b4ea1a96a297a85b40f731262e6e17..98c8d82423ff642591dfab7a17f6e778f2930123 100644 --- a/UyTube_web/src/java/com/uytube/AgregarVideoAListaReproduccion.java +++ b/UyTube_web/src/java/com/uytube/AgregarVideoAListaReproduccion.java @@ -5,8 +5,12 @@ */ package com.uytube; +import Logica.DataType.DtUsuario; +import Logica.Fabrica; +import Logica.Interfaces.IUsuario; import java.io.IOException; import java.io.PrintWriter; +import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; @@ -17,60 +21,33 @@ import javax.servlet.http.HttpServletResponse; * @author administrador */ public class AgregarVideoAListaReproduccion extends HttpServlet { + // Ejemplo: localhost:8084/uytube/lista-agregar-video?idvideo=13&idlista=10 - /** - * 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"); - try (PrintWriter out = response.getWriter()) { - /* TODO output your page here. You may use following sample code. */ - out.println("<!DOCTYPE html>"); - out.println("<html>"); - out.println("<head>"); - out.println("<title>Servlet AgregarVideoAListaReproduccion</title>"); - out.println("</head>"); - out.println("<body>"); - out.println("<h1>Servlet AgregarVideoAListaReproduccion at " + request.getContextPath() + "</h1>"); - out.println("</body>"); - out.println("</html>"); - } - } - - // <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); - } + try { + IUsuario sys = Fabrica.getInstancia().getIUsuario(); + String pIDVideo = request.getParameter("idvideo"); + String pIDLista = request.getParameter("idlista"); + int IDVideo = Integer.valueOf(pIDVideo); + int IDLista = Integer.valueOf(pIDLista); - /** - * 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); + DtUsuario usuActual = sys.obtenerUsuarioActual(); + sys.seleccionarUsuario(sys.obtenerPropietarioDeVideo(IDVideo).getNickname()); + sys.seleccionarVideo(IDVideo); + sys.agregarVideoAListaDeReproduccion(IDLista); + + response.sendRedirect("lista-consultar?id="+IDLista); + } catch (Exception e) { + System.out.println("---- Exception ----"); + System.out.println(e.getMessage()); + System.out.println("-------------------"); + RequestDispatcher rd; //objeto para despachar + request.setAttribute("mensajeError", e.getMessage()); + rd = request.getRequestDispatcher("/404.jsp"); + rd.forward(request, response); + } } /** diff --git a/UyTube_web/src/java/com/uytube/AltaUsuario.java b/UyTube_web/src/java/com/uytube/AltaUsuario.java index 90452a082d029ffe97b0704a4fe983ef58265558..92c6bcb9484880acf824ee1a059d344df3df9a61 100644 --- a/UyTube_web/src/java/com/uytube/AltaUsuario.java +++ b/UyTube_web/src/java/com/uytube/AltaUsuario.java @@ -104,6 +104,9 @@ public class AltaUsuario extends HttpServlet { DtCanal CanUsu = new DtCanal(0, pCanal, pDescripcion, Priv); sys.altaUsuarioCanal(Usu, CanUsu); + DtUsuario nuevoUsuario = sys.obtenerUsuarioActual(); + + request.getSession().setAttribute("usuario", nuevoUsuario); response.sendRedirect("/uytube/usuario-consultar?id=" + Usu.getNickname()); } catch (Exception e) { diff --git a/UyTube_web/src/java/com/uytube/ConsultaListaReproducion.java b/UyTube_web/src/java/com/uytube/ConsultaListaReproducion.java index 1ce8a3b2699e5f1a29736e8ab0e5518ce331768b..50e2dbe68f28d6346bd7a8dc3175070fa95d0314 100644 --- a/UyTube_web/src/java/com/uytube/ConsultaListaReproducion.java +++ b/UyTube_web/src/java/com/uytube/ConsultaListaReproducion.java @@ -39,18 +39,15 @@ public class ConsultaListaReproducion extends HttpServlet { try { IUsuario sys = Fabrica.getInstancia().getIUsuario(); boolean sesionIniciada = sys.sesionIniciada(); - String usuario = request.getParameter("idUsu"); - String lista = request.getParameter("idList"); + String lista = request.getParameter("id"); + int idLista = Integer.parseInt(lista); + String usuario = sys.obtenerPropietarioDeListaDeReproduccion(idLista).getNickname(); sys.seleccionarUsuario(usuario); - int idLista = Integer.parseInt(lista); - sys.seleccionarListaDeReproduccion(idLista); DtListaDeReproduccion listas = sys.seleccionarListaDeReproduccion(idLista); - ArrayList <DtVideo> videos = sys.listarVideosDeListaDeReproduccion(); - boolean usuarioPropietario = false; if (sesionIniciada) { usuarioPropietario = sys.obtenerUsuarioActual().getNickname().equals(usuario); diff --git a/UyTube_web/src/java/com/uytube/PeticionAjax.java b/UyTube_web/src/java/com/uytube/PeticionAjax.java index 8ad1683c5aa40ca4eda58e640be60d2f658df2f8..11c8f37aa49a2ab7efd87c249b2f1fdf1909df56 100644 --- a/UyTube_web/src/java/com/uytube/PeticionAjax.java +++ b/UyTube_web/src/java/com/uytube/PeticionAjax.java @@ -5,8 +5,11 @@ */ package com.uytube; +import Logica.Fabrica; +import Logica.Interfaces.IUsuario; import java.io.IOException; import java.io.PrintWriter; +import java.util.Arrays; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; @@ -37,16 +40,35 @@ public class PeticionAjax extends HttpServlet { Aca debe recibir un parametor de nombre accion el cual define cual es la funcion que se debe ejecutar */ + IUsuario sys = Fabrica.getInstancia().getIUsuario(); + + // datos recibidos String accion = request.getParameter("accion"); // obtiene lo enviado por AJAX - String txtUsuario = request.getParameter("nombre"); // obtiene lo enviado por AJAX + String dato = request.getParameter("dato"); // obtiene lo enviado por AJAX + + System.out.println("-- Peticion AJAX --"); + System.out.println("accion: " + accion); + System.out.println("dato: " + dato); + + // prepara respuesta response.setContentType("text/plain"); //Set content type of the response so that jQuery knows what it can expect. response.setCharacterEncoding("UTF-8"); //You want world domination, huh? - String respuesta; - if (txtUsuario.equals("pedro")) { - respuesta = "Pedro ya existe"; - } else { - respuesta = "El usuario está disponible"; + String respuesta = ""; + + + switch (accion){ + case "validarNickname": + if (sys.existeNickname(dato)){ + respuesta = "Este nickname no está disponible"; + } + break; + case "validarEmail": + if (sys.existeEmail(dato)){ + respuesta = "Este email no está disponible"; + } + break; } + System.out.println("Respuesta: " + respuesta); response.getWriter().write(respuesta); } catch (Exception e) { System.out.println("---- Exception ----"); diff --git a/UyTube_web/web/AltaUsuario.jsp b/UyTube_web/web/AltaUsuario.jsp index fe70bdb26edad58cebe78881e5224238ff0b9f3d..c1ccaa8ad62fcd9f94a6fdb7a6dd59fe230f268f 100644 --- a/UyTube_web/web/AltaUsuario.jsp +++ b/UyTube_web/web/AltaUsuario.jsp @@ -10,7 +10,6 @@ <% boolean sesionIniciada = (boolean) (request.getSession().getAttribute("usuario") != null); %> - <script> var check = function () { if (document.getElementById('input_Contrasenia').value ==document.getElementById('input_Repetir_contraseña').value) { @@ -90,7 +89,10 @@ <section class="d-flex flex-lg-row flex-wrap justify-content-lg-between"> <form class="form-signin" action="/uytube/usuario-agregar" method="post"> <h1 class="h3 mb-3 font-weight-normal" id="Texto_ingrese">Ingrese sus datos</h1><br> - <input class="form-control" type="text" name="nickname" placeholder="Nickname" id="input_Nickname" required><span id="msjNickname"></span> <br> + <input class="form-control" type="text" name="nickname" placeholder="Nickname" id="input_Nickname" required> + <span id="msjNickname"></span> + <br> + <div class="row"> <div class="col-md-6 mb-3"> <input type="text" class="form-control" name="nombre" id="input_Nombre" placeholder="Nombre" required> @@ -100,9 +102,9 @@ </div> </div> - <div class="mb-3"> - <input type="email" class="form-control" name="email" id="email" placeholder="Email" required> - </div> + <input class="form-control" type="email" name="email" placeholder="Email" id="email" required> + <span id="msjEmail"></span> + <br> <input class="form-control" name="fechaNa" type="date" id="input_fecha" name="trip-start"><br> <input class="form-control" type="password" name="password" placeholder="Contraseña" id="input_Contrasenia" onkeyup="check()" required><br> @@ -132,7 +134,8 @@ <label id="label_email">Imagen de perfil</label> <div class="form-group"> - <input accept=".PNG,.JPG,.jpg,.png" name="imagen" id="input_Imagen_Perfil" type="file" class="file" multiple=false data-preview-file-type="any"><br> + <input disabled="true" accept=".PNG,.JPG,.jpg,.png" name="imagen" id="input_Imagen_Perfil" type="file" class="file" multiple=false data-preview-file-type="any"><br> + <span id='message'>(Funcionalidad no disponible)</span><br> <small class="text-muted">Opcional*</small> </div> diff --git a/UyTube_web/web/ConsultaUsuario.jsp b/UyTube_web/web/ConsultaUsuario.jsp index c114ffb8c9ad453cd88c5b99b36d1435e3686cbc..8d333d8001178e332083b31f921638f2803e8864 100644 --- a/UyTube_web/web/ConsultaUsuario.jsp +++ b/UyTube_web/web/ConsultaUsuario.jsp @@ -296,7 +296,7 @@ for (DtListaDeReproduccion l : listasRep) { %> <li class="list-group-item d-flex justify-content-between align-items-center"> - <a href="lista-consultar?idUsu=<%= usuario.getNickname() %>&idList=<%= l.getId() %>"> + <a href="lista-consultar?id=<%= l.getId() %>"> <%= l.getNombre()%> </a> </li> diff --git a/UyTube_web/web/ModificarUsuario.jsp b/UyTube_web/web/ModificarUsuario.jsp index 5be555f42f7bf0609cb0dd63baa0b5ef43b3b994..b2d63b9232918195cd4475fd9915c5ea447693d1 100644 --- a/UyTube_web/web/ModificarUsuario.jsp +++ b/UyTube_web/web/ModificarUsuario.jsp @@ -168,7 +168,8 @@ <br> <label id="label_email">Imagen de perfil</label> <div class="form-group"> - <input value="<%= usuario.getImagen()%>" name="imagen" id="input_Imagen_Perfil" type="file" class="file" multiple=false data-preview-file-type="any"><br> + <input disabled="true" name="imagen" id="input_Imagen_Perfil" type="file" class="file" multiple=false data-preview-file-type="any"><br> + <span id='message'>(Funcionalidad no disponible)</span><br> </div> diff --git a/UyTube_web/web/js/alta-usuario.js b/UyTube_web/web/js/alta-usuario.js index ea0df8c229de0b985c0eb879ac3e33bef89a0854..2da3d7565009c6676d5e0c7a2d6255d5bb175b16 100644 --- a/UyTube_web/web/js/alta-usuario.js +++ b/UyTube_web/web/js/alta-usuario.js @@ -3,18 +3,33 @@ $("#input_Nickname").keyup(function(){ //Obtiene el valor ingresaro var valorIngresado = $("#input_Nickname").val(); + $("#input_Nombre_canal").val($("#input_Nickname").val()); + //Realiza la consulta utilizando AJAX al servidor $.get("/uytube/consultar", { - nombre: valorIngresado, - accion: validarNombre + dato: valorIngresado, + accion: "validarNickname" }, function(respuesta, status){ //alert("Data: " + respuesta + "\nStatus: " + status); $("#msjNickname").text(respuesta); }); - }); - +//Lee lo que se escribe en el campo usuario +$("#email").keyup(function(){ + //Obtiene el valor ingresaro + var valorIngresado = $("#email").val(); + + //Realiza la consulta utilizando AJAX al servidor + $.get("/uytube/consultar", + { + dato: valorIngresado, + accion: "validarEmail" + }, function(respuesta, status){ + //alert("Data: " + respuesta + "\nStatus: " + status); + $("#msjEmail").text(respuesta); + }); +});