diff --git a/UyTube_web/src/java/com/uytube/AltaUsuario.java b/UyTube_web/src/java/com/uytube/AltaUsuario.java index 1e2c58cb99851f734291381eea9ce0c50f5f921d..2e47b46454498a8700c3728214084bb06ffb9168 100644 --- a/UyTube_web/src/java/com/uytube/AltaUsuario.java +++ b/UyTube_web/src/java/com/uytube/AltaUsuario.java @@ -5,8 +5,18 @@ */ package com.uytube; +import Logica.DataType.DtCanal; +import Logica.DataType.DtUsuario; +import Logica.Enumerados.Filtrado; +import Logica.Enumerados.Privacidad; +import Logica.Fabrica; +import Logica.Interfaces.IUsuario; import java.io.IOException; import java.io.PrintWriter; +import java.text.SimpleDateFormat; +import java.text.ParseException; +import java.util.Date; +import java.util.Formatter; import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.annotation.WebServlet; @@ -20,16 +30,6 @@ import javax.servlet.http.HttpServletResponse; */ public class AltaUsuario 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"); @@ -75,46 +75,55 @@ public class AltaUsuario extends HttpServlet { @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - - //Se guardan los datos del usuario en la base de datos - // Y se redigire por ahora al JSP presentacion - - String pNickname = request.getParameter("nickname"); - String pNombre = request.getParameter("nombre"); - String pApellido = request.getParameter("apellido"); - String pEmail = request.getParameter("email"); - String pFechaNa = request.getParameter("fechaNa"); - String pPassword = request.getParameter("password"); - String pPrivacidad = request.getParameter("privacidad"); - String pCanal = request.getParameter("canal"); - String pDescripcion = request.getParameter("descripcion"); - System.out.println("nickname: "+pNickname); - System.out.println("nombre: "+pNombre); - System.out.println("apellido: "+pApellido); - System.out.println("email: "+pEmail); - System.out.println("fecha: "+pFechaNa); - System.out.println("password: "+pPassword); - System.out.println("privacidad: "+pPrivacidad); - System.out.println("canal: "+pCanal); - System.out.println("descripcion: "+pDescripcion); - - RequestDispatcher rd; //objeto para despachar - rd = request.getRequestDispatcher("/Presentacion.jsp"); - rd.forward(request, response); - } + try { + String pNickname = request.getParameter("nickname"); + String pNombre = request.getParameter("nombre"); + String pApellido = request.getParameter("apellido"); + String pEmail = request.getParameter("email"); + String pFechaNa = request.getParameter("fechaNa"); + String pPassword = request.getParameter("password"); + String pImaguen = request.getParameter("img"); + String pPrivacidad = request.getParameter("privacidad"); + String pCanal = request.getParameter("canal"); + String pDescripcion = request.getParameter("descripcion"); + IUsuario sys = Fabrica.getInstancia().getIUsuario(); + + SimpleDateFormat formato = new SimpleDateFormat("yyyy-mm-dd"); + Date fechaDate = null; + + try { + fechaDate = formato.parse(pFechaNa); + } catch (ParseException ex) { + RequestDispatcher rd; //objeto para despachar + rd = request.getRequestDispatcher("/"); + rd.forward(request, response); + } + java.sql.Date data = new java.sql.Date(fechaDate.getTime()); + + DtUsuario Usu = new DtUsuario(pNickname, pPassword, pNombre, pApellido, pEmail, data, pImaguen, 0); + + Privacidad Priv = Privacidad.PRIVADO; + if (pPrivacidad != null && pPrivacidad.equals("PUBLICO")) { + Priv = Privacidad.PUBLICO; + } + + DtCanal CanUsu = new DtCanal(0, pCanal, pDescripcion, Priv); + sys.altaUsuarioCanal(Usu, CanUsu); + response.sendRedirect("/uytube/usuario-consultar?id="+Usu.getNickname()); + + } catch (Exception e) { + RequestDispatcher rd; //objeto para despachar + rd = request.getRequestDispatcher("/"); + rd.forward(request, response); + } + } + @Override protected void doDelete(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException { super.doDelete(req, resp); //To change body of generated methods, choose Tools | Templates. } - - - - /** - * Returns a short description of the servlet. - * - * @return a String containing servlet description - */ + @Override public String getServletInfo() { return "Short description"; diff --git a/UyTube_web/src/java/com/uytube/ModificarUsuario.java b/UyTube_web/src/java/com/uytube/ModificarUsuario.java index d4e53bba1089000a89da9f108ccb3be8cb04166f..b22d85361fc20362c23701131afecf95e131febd 100644 --- a/UyTube_web/src/java/com/uytube/ModificarUsuario.java +++ b/UyTube_web/src/java/com/uytube/ModificarUsuario.java @@ -5,8 +5,18 @@ */ package com.uytube; +import Logica.DataType.DtCanal; +import Logica.DataType.DtUsuario; +import Logica.Enumerados.Privacidad; +import Logica.Fabrica; +import Logica.Interfaces.IUsuario; import java.io.IOException; import java.io.PrintWriter; +import java.text.ParseException; +import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Date; +import javax.servlet.RequestDispatcher; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; @@ -56,7 +66,30 @@ public class ModificarUsuario extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - processRequest(request, response); + IUsuario sys = Fabrica.getInstancia().getIUsuario(); + + String nick = request.getParameter("id"); + + DtUsuario usuario = sys.seleccionarUsuario(nick); + DtCanal canal = sys.obtenerCanalDeUsuario(); + boolean sesionIniciada = sys.sesionIniciada(); + + boolean usuarioPropietario = false; + if (sesionIniciada){ + usuarioPropietario = sys.obtenerUsuarioActual().getNickname().equals(nick); + } + + request.setAttribute("sesionIniciada", sesionIniciada); + request.setAttribute("usuario", usuario); + request.setAttribute("canal", canal); + + RequestDispatcher rd; //objeto para despachar + rd = request.getRequestDispatcher("/ModificarUsuario.jsp"); + rd.forward(request, response); + + + + } /** @@ -70,7 +103,48 @@ public class ModificarUsuario extends HttpServlet { @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { - processRequest(request, response); + try { + String pNickname = request.getParameter("nickname"); + String pNombre = request.getParameter("nombre"); + String pApellido = request.getParameter("apellido"); + String pEmail = request.getParameter("email"); + String pFechaNa = request.getParameter("fechaNa"); + String pPassword = request.getParameter("password"); + String pImaguen = request.getParameter("img"); + String pPrivacidad = request.getParameter("privacidad"); + String pCanal = request.getParameter("canal"); + String pDescripcion = request.getParameter("descripcion"); + + IUsuario sys = Fabrica.getInstancia().getIUsuario(); + + SimpleDateFormat formato = new SimpleDateFormat("yyyy-mm-dd"); + Date fechaDate = null; + + try { + fechaDate = formato.parse(pFechaNa); + } catch (ParseException ex) { + RequestDispatcher rd; //objeto para despachar + rd = request.getRequestDispatcher("/"); + rd.forward(request, response); + } + java.sql.Date data = new java.sql.Date(fechaDate.getTime()); + + DtUsuario Usu = new DtUsuario(pNickname, pPassword, pNombre, pApellido, pEmail, data, pImaguen, 0); + + Privacidad Priv = Privacidad.PRIVADO; + if (pPrivacidad != null && pPrivacidad.equals("PUBLICO")) { + Priv = Privacidad.PUBLICO; + } + + DtCanal CanUsu = new DtCanal(0, pCanal, pDescripcion, Priv); + sys.modificarUsuarioYCanal(Usu, CanUsu); + response.sendRedirect("/uytube/usuario-consultar?id="+Usu.getNickname()); + + } catch (Exception e) { + RequestDispatcher rd; //objeto para despachar + rd = request.getRequestDispatcher("/"); + rd.forward(request, response); + } } /** diff --git a/UyTube_web/web/AltaUsuario.jsp b/UyTube_web/web/AltaUsuario.jsp index b016e84e3883db03892aabba5a86432935c6d82a..9c9b468c3124487d0e3aa894d49477e70e7b7163 100644 --- a/UyTube_web/web/AltaUsuario.jsp +++ b/UyTube_web/web/AltaUsuario.jsp @@ -86,15 +86,6 @@ <textarea class="form-control" name="descripcion" id="input_descripcion" placeholder="Descripción del Canal" rows="3"></textarea> <small class="text-muted">Opcional*</small><br><br> - <div class="form-group"> - <select class="custom-select d-block w-100" id="categoria" required> - <option value="">Categoria</option> - <option>Musica</option> - <option>Deportes</option> - <option>Entretenimiento</option> - </select> - <small class="text-muted" >Opcional*</small><br> - </div> <label id="label_email">Imagen de perfil</label> <div class="form-group"> @@ -120,7 +111,6 @@ </div> </section> </div> - </section> </div> </div> diff --git a/UyTube_web/web/ModificarUsuario.jsp b/UyTube_web/web/ModificarUsuario.jsp index 2490c8c17b2d3be8c957345c7d03ae1f6b606a92..4eb8a03a34d2ae6e5b1ccb2e03ee4af348313fef 100644 --- a/UyTube_web/web/ModificarUsuario.jsp +++ b/UyTube_web/web/ModificarUsuario.jsp @@ -4,14 +4,170 @@ Author : administrador --%> +<%@page import="Logica.Clases.Categoria"%> +<%@page import="java.util.ArrayList"%> +<%@page import="Logica.Enumerados.Privacidad"%> +<%@page import="Logica.DataType.DtCanal"%> +<%@page import="Logica.DataType.DtUsuario"%> <%@page contentType="text/html" pageEncoding="UTF-8"%> <!DOCTYPE html> -<html> +<html lang="es"> + <% + DtUsuario usuario = (DtUsuario) request.getAttribute("usuario"); + DtCanal canal = (DtCanal) request.getAttribute("canal"); + boolean sesionIniciada = (boolean) request.getAttribute("sesionIniciada"); + %> <head> - <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> - <title>JSP Page</title> + <meta charset="UTF-8"> + <meta http-equiv="X-UA-Compatible" content="IE=edge"> + <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> + <link rel="stylesheet" type="text/css" href="css/bootstrap.css"> + <link rel="stylesheet" type="text/css" href="css/body.css"> + <link rel="stylesheet" type="text/css" href="css/header.css"> + <link rel="stylesheet" type="text/css" href="css/menu.css"> + <link rel="stylesheet" type="text/css" href="css/widget.css"> + <link rel="stylesheet" type="text/css" href="css/footer.css"> + <link rel="stylesheet" type="text/css" href="css/contenido-alta-usuario.css"> + <link rel="stylesheet" type="text/css" href="iconos/style.css"> + + <title>UyTube</title> </head> <body> - <h1>Mofificar Usuario</h1> + + <div class="container-fluid"> + <div class="row"> + <div class="col-12"> + <!-- Inclusion de la barra superior --> + <% + if (sesionIniciada){ + %> + <%@ include file='include/header-usuario.html' %> + <% + }else{ + %> + <%@ include file='include/header-visitante.html' %> + <% + } + %> + </div> + </div> + </div> + <div class="container-fluid"> + <div class="row"> + <div class="col-12"> + <div class="relleno-header"></div> + </div> + </div> + </div> + <div class="container-fluid"> + <div class="row"> + <div class="col-12"> + <section class="principal"> + <!-- Inclusion del menu lateral --> + <% + if (sesionIniciada) { + %> + <%@ include file='include/menu-usuario.html' %> + <% + } else { + %> + <%@ include file='include/menu-visitante.html' %> + <% + } + %> + <div class="contenido"> + <section class="contenido-flexible"> + <div class="principal d-flex flex-row justify-content-center"> + <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> + <div class="row"> + <div class="col-md-6 mb-3"> + <input value="<%= usuario.getNombre()%>" type="text" class="form-control" name="nombre" id="input_Nombre" placeholder="Nombre" required> + </div> + <div class="col-md-6 mb-3"> + <input value="<%= usuario.getApellido()%>" type="text" class="form-control" name="apellido" id="input_Apellido" placeholder="Apellido" required> + </div> + </div> + + <input value="<%= usuario.getContrasenia()%>" class="form-control" type="password" placeholder="Contraseña" id="input_Contraseña" required><br> + <input value="<%= usuario.getContrasenia()%>" class="form-control" name="password" type="password" placeholder="Repetir contraseña" id="input_Repetir_contraseña" required> + <% + if (canal.getPrivacidad() == Privacidad.PUBLICO) { + %> + <div class="d-block my-3"> + <label for="cc-name">Privacidad del canal</label> + <div class="custom-control custom-radio"> + <input id="publico" name="privacidad" type="radio" class="custom-control-input" checked > + <label class="custom-control-label" for="publico">Publico</label> + </div> + <div class="custom-control custom-radio"> + <input id="privado" name="privacidad" name="foto" type="radio" class="custom-control-input" > + <label class="custom-control-label" for="privado">Privado</label> + </div> + </div> + <hr class="mb-4"> + <% + } + %> + + <% + if (canal.getPrivacidad() == Privacidad.PRIVADO) { + %> + <div class="d-block my-3"> + <label for="cc-name">Privacidad del canal</label> + <div class="custom-control custom-radio"> + <input id="publico" name="privacidad" type="radio" class="custom-control-input" > + <label class="custom-control-label" for="publico">Publico</label> + </div> + <div class="custom-control custom-radio"> + <input id="privado" name="privacidad" name="foto" type="radio" class="custom-control-input" checked> + <label class="custom-control-label" for="privado">Privado</label> + </div> + </div> + <hr class="mb-4"> + <% + } + %> + + <textarea class="form-control" name="descripcion" id="input_descripcion" placeholder="Descripción del Canal" rows="3"> <%=canal.getDescripcion()%> </textarea> + + <br> + <label id="label_email">Imagen de perfil</label> + <div class="form-group"> + <input value="<%= usuario.getImagen() %>" id="input_Imagen_Perfil" type="file" class="file" multiple=false data-preview-file-type="any"><br> + </div> + + + <hr class="mb-4"> + + <div class="btn-toolbar" role="toolbar" aria-label="Toolbar with button groups"> + <div class="btn-group mr-2" role="group" aria-label="First group"> + <button class="btn btn-lg btn-primary btn-block" type="reset" id="btn_Limpiar">Limpiar</button> + </div> + <div class="btn-group mr-2" role="group" aria-label="Second group"> + <button class="btn btn-lg btn-primary btn-block" type="submit" id="btn_Registrarme">Registrarme</button> + </div> + </div> + + <p class="mt-5 mb-3 text-muted" id="texto_copy">© 2019-2020</p> + </form> + </section> + </div> + </section> + </div> + </section> + </div> + </div> + </div> + + <%@ include file='include/widgets.html' %> + <%@ include file='include/footer.html' %> + + <script src="js/jquery-3.4.1.min.js"></script> + <script src="js/bootstrap.bundle.min.js"></script> + <script src="js/bootstrap.min.js"></script> + <script src="js/funciones.js"></script> + <<script src="js/alta-usuario.js"></script> </body> -</html> +</html> \ No newline at end of file