diff --git a/src/main/java/com/roshka/proyectofinal/DataBase.java b/src/main/java/com/roshka/proyectofinal/DataBase.java index 12d2450..f2c742e 100644 --- a/src/main/java/com/roshka/proyectofinal/DataBase.java +++ b/src/main/java/com/roshka/proyectofinal/DataBase.java @@ -11,7 +11,7 @@ public class DataBase { Class.forName("org.postgresql.Driver"); con= DriverManager .getConnection("jdbc:postgresql://localhost:5432/bootcamp_th", - "postgres", "postgres"); + "postgres", "2022roshka"); if(con != null){ System.out.println("---> CONNECTED TO SERVER"); diff --git a/src/main/java/com/roshka/proyectofinal/Postulante/Filtros.java b/src/main/java/com/roshka/proyectofinal/Postulante/Filtros.java index b6a5113..1226c82 100644 --- a/src/main/java/com/roshka/proyectofinal/Postulante/Filtros.java +++ b/src/main/java/com/roshka/proyectofinal/Postulante/Filtros.java @@ -1,5 +1,6 @@ package com.roshka.proyectofinal.Postulante; +import com.roshka.proyectofinal.SendMail; import com.roshka.proyectofinal.entity.Postulante; import jakarta.servlet.RequestDispatcher; import jakarta.servlet.ServletException; @@ -7,6 +8,8 @@ import jakarta.servlet.annotation.WebServlet; import jakarta.servlet.http.HttpServlet; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; + +import javax.mail.MessagingException; import java.io.IOException; import java.util.ArrayList; import java.util.List; @@ -21,12 +24,25 @@ public class Filtros extends HttpServlet { List postulantes = listarPostulante(); String respuesta = req.getParameter("id"); String valor = req.getParameter("valor"); + String nombre_postulante = req.getParameter("nombre"); + String apellido_postulante = req.getParameter("apellido"); + String correo_postulante = req.getParameter("correo"); + String bootcamp_idStr = req.getParameter("bootcampId"); // Este es el dato String nombre = req.getParameter("nombreBuscar")== null ? "0" : req.getParameter("nombreBuscar"); if(respuesta != null) { System.out.println(valor); System.out.println(respuesta); update(Integer.parseInt(req.getParameter("id")), valor); postulantes = listarPostulante(); + if (valor.equals("1")) { + try { + SendMail send = new SendMail(); + send.sendingMail(correo_postulante, nombre_postulante, apellido_postulante, bootcamp_idStr); + } catch (MessagingException e) { + resp.sendRedirect("postulante-consulta.jsp"); + throw new RuntimeException(e); + } + } } else if(nombre.length() > 1){ postulantes = buscarPorNombre(nombre); } diff --git a/src/main/java/com/roshka/proyectofinal/SendMail.java b/src/main/java/com/roshka/proyectofinal/SendMail.java index 2b80027..2cfc3c3 100644 --- a/src/main/java/com/roshka/proyectofinal/SendMail.java +++ b/src/main/java/com/roshka/proyectofinal/SendMail.java @@ -1,19 +1,16 @@ package com.roshka.proyectofinal; +import com.roshka.proyectofinal.bootcamp.BootcampDao; +import com.roshka.proyectofinal.entity.Bootcamp; + import java.util.Properties; -import javax.activation.DataHandler; -import javax.activation.FileDataSource; -import javax.mail.BodyPart; import javax.mail.Message; import javax.mail.MessagingException; import javax.mail.Session; import javax.mail.Transport; import javax.mail.internet.AddressException; import javax.mail.internet.InternetAddress; -import javax.mail.internet.MimeBodyPart; import javax.mail.internet.MimeMessage; -import javax.mail.internet.MimeMultipart; -import javax.swing.*; public class SendMail { @@ -22,29 +19,31 @@ public class SendMail { } - public void meetingMail(String postulanteCorreoDestino) throws AddressException, MessagingException { - // emanuel.lugo01@gmail.com + public void sendingMail(String postulanteCorreoDestino, String nombre, String apellido, String bootcampId) throws AddressException, MessagingException { + int bootId = Integer.parseInt(bootcampId); + BootcampDao bootcampDao = new BootcampDao(); + Bootcamp bootcamp = bootcampDao.getBootcampById(bootId); + String correo = "nahuelmereles1@gmail.com"; String contra = "ozydnpynyoqsowjn"; String correoDestino = postulanteCorreoDestino; Properties properties = new Properties(); - properties.put("mail.smtp.host","smtp.gmail.com"); - properties.setProperty("mail.smtp.starttls.enable","true"); - properties.put("mail.smtp.ssl.trust","smtp.gmail.com"); - properties.setProperty("mail.smtp.port","587"); - properties.setProperty("mail.smtp,user",correo); - properties.setProperty("mail.smtp.auth","true"); + properties.put("mail.smtp.host","smtp.gmail.com"); + properties.setProperty("mail.smtp.starttls.enable","true"); + properties.put("mail.smtp.ssl.trust","smtp.gmail.com"); + properties.setProperty("mail.smtp.port","587"); + properties.setProperty("mail.smtp,user",correo); + properties.setProperty("mail.smtp.auth","true"); Session s = Session.getDefaultInstance(properties); MimeMessage mensaje = new MimeMessage(s); mensaje.setFrom(new InternetAddress(correo)); mensaje.addRecipient(Message.RecipientType.TO, new InternetAddress(correoDestino)); - mensaje.setSubject("Hola que tal soy yo"); - mensaje.setText("Ya funciona?"); + mensaje.setSubject("Confirmacion al " + bootcamp.getTitulo()); // Asunto del correo + mensaje.setText("Hola " + nombre + " " + apellido + ", fuiste aceptado al " + bootcamp.getTitulo() + " que empezara el " + bootcamp.getFecha_inicio() + " y terminara el " + bootcamp.getFecha_fin() + ", muchas felicidades y esperamos verte pronto."); // Mensaje del correo Transport transport = s.getTransport("smtp"); transport.connect(correo, contra); transport.sendMessage(mensaje,mensaje.getAllRecipients()); transport.close(); - JOptionPane.showMessageDialog(null, "Mensaje enviado"); } } diff --git a/src/main/java/com/roshka/proyectofinal/profesor/SaveServlet.java b/src/main/java/com/roshka/proyectofinal/profesor/SaveServlet.java index 8a9aeca..da4906e 100644 --- a/src/main/java/com/roshka/proyectofinal/profesor/SaveServlet.java +++ b/src/main/java/com/roshka/proyectofinal/profesor/SaveServlet.java @@ -15,20 +15,20 @@ public class SaveServlet extends HttpServlet { protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { response.setContentType("text/html"); - PrintWriter out=response.getWriter(); + PrintWriter out = response.getWriter(); - String nombre=request.getParameter("nombre"); - String apellido=request.getParameter("apellido"); - String email=request.getParameter("correo"); - String nro_cedulaStr=request.getParameter("nro_cedula"); + String nombre = request.getParameter("nombre"); + String apellido = request.getParameter("apellido"); + String email = request.getParameter("correo"); + String nro_cedulaStr = request.getParameter("nro_cedula"); int nro_cedula = Integer.parseInt(nro_cedulaStr); - Profesor p =new Profesor(nro_cedula, nombre, apellido, email); + Profesor p = new Profesor(nro_cedula, nombre, apellido, email); - int status=ProfesorDao.save(p); - if(status>0){ + int status = ProfesorDao.save(p); + if (status > 0) { out.print("

Record saved successfully!

"); request.getRequestDispatcher("formulario_profesor.jsp").include(request, response); - }else{ + } else { out.println("Sorry! unable to save record"); } diff --git a/src/main/webapp/formulario_bootcamp.jsp b/src/main/webapp/formulario_bootcamp.jsp index b46ced0..e5e82f8 100644 --- a/src/main/webapp/formulario_bootcamp.jsp +++ b/src/main/webapp/formulario_bootcamp.jsp @@ -17,12 +17,17 @@ + - JSP Page + Crear BOOTCAMP +
LOGOUT
+ INICIO
+ MENU
+

CREAR BOOTCAMP

diff --git a/src/main/webapp/formulario_lenguaje.jsp b/src/main/webapp/formulario_lenguaje.jsp index e3ea9fd..ff9ad07 100644 --- a/src/main/webapp/formulario_lenguaje.jsp +++ b/src/main/webapp/formulario_lenguaje.jsp @@ -25,7 +25,15 @@ + + + +
+

CREAR LENGUAJE

<%@ page import="com.roshka.proyectofinal.entity.Lenguaje, com.roshka.proyectofinal.lenguaje.LenguajeDao, java.util.List,java.util.Iterator" %> diff --git a/src/main/webapp/formulario_profesor.jsp b/src/main/webapp/formulario_profesor.jsp index 4be69b3..4ac221d 100644 --- a/src/main/webapp/formulario_profesor.jsp +++ b/src/main/webapp/formulario_profesor.jsp @@ -25,8 +25,12 @@ - +
+

CREAR PROFESOR Y FILTRAR

<%@ page import="com.roshka.proyectofinal.entity.Profesor, com.roshka.proyectofinal.profesor.ProfesorDao, java.util.List,java.util.Iterator" %> diff --git a/src/main/webapp/home.css b/src/main/webapp/home.css index 2deed6c..460a0cc 100644 --- a/src/main/webapp/home.css +++ b/src/main/webapp/home.css @@ -1,125 +1,95 @@ - img.logoi { - width: 200px; - } - - img { - width: 400px; - padding: 10px; - display: block; - padding: 10px; - } +* { + padding: 0; + margin: 0; + box-sizing: border-box; +} + +body{ + width:100vw; + height: 100vh; + background: linear-gradient(100deg, rgba(20, 99, 155, 0.25), rgba(30, 148, 227, 0.25)); + background-image: url(imagenes/descarga.svg); + font-family: Georgia, 'Times New Roman', Times, serif; + font-weight: "bold"; + color: white; +} +.contenedor{ + width: 100%; + height: 20%; + display: flex; + justify-content: space-between; + align-items: center; +} +.main{ + width: 100%; + height: 80%; + display: flex; + align-items: center; + /* background-color: aqua; */ +} +.letra{ + width: 60%; + height: 40%; + margin-left: 10px; + font-weight: bold; + color: aliceblue; +} +.letra h3{ - .header { - margin-bottom: 0; - width: 700px; - } +} +.imagen{ + width: 40%; + /* background-color: crimson; */ + +} + + +.contenido a img{ + width: 100%; + display: flex; + justify-content: flex-end; - a { - float: right 100px; - color: #fff; - font-size: larger; - text-decoration: none; - padding: 10px; - } +} +.link{ + width: 90%; + height: 80%; + text-decoration: none; + display: flex; - body { - background: linear-gradient(100deg, rgba(20, 99, 155, 0.25), rgba(30, 148, 227, 0.25)); - background-image: url(imagenes/descarga.svg); - background-size: contain; - background-attachment: fixed; - background-blend-mode: multiply; - font-family: Georgia, 'Times New Roman', Times, serif; - color: white; - position: relative; - width: 100px; - height: 100px; - } - /* ul{ - list-style: none; + justify-content: flex-end; + align-items: center; +} +ul { + width: 70%; + height: 70%; } -.menu >ul{ - float: right; + +div.link ul li a { + /* float: right 100px; + color: #fff; + font-size: larger; */ + text-decoration: none; + color: aliceblue; + /* padding: 10px; */ } -.menu li a { +.link ul { + display: flex; + justify-content: space-around; + align-items: center; + list-style: none; +} - color:#fff; - text-decoration:none; - padding:10px 12px; - display:block; +.imagen img{ + width: 100%; + height:100%; + } -.menu li ul li { - marging-left - position:relative; -} */ - - .menu { - width: 400%; - float: left; - } - - .menu ul li { - float: right; - list-style-type: none; - text-align: right; - } - - div.menu { - float: right; - } - - .menu ul li a { - padding-left: 5px; - text-decoration: none; - font-size: clamp(145px); - text-transform: uppercase; - display: block; - position: relative; - overflow: hidden; - padding-bottom: 50px; - white-space: nowrap; - } - - .grafico, - svg { - max-width: 50px; - display: block; - height: auto; - } - - .seccion.hero { - margin-top: 10px; - padding-bottom: 10px; - width: 900px; - } - - .hero { - perspective: 100px; - } - - .hero { - display: grid; - grid-template-columns: auto repeat(5, 0.5fr) auto; - } - - .hero { - display: flex; - flex-direction: column; - align-items: center; - padding-left: 200px; - /* padding-right: 200px; - */ - } - /* */ - - .postulacion { - border-radius: 30px; - } - - .cta-main { - width: 200px; - font-family: monospace; - background-color: yellow; - border: none; - } + +.cta-main { + width: 200px; + font-family: monospace; + background-color: yellow; + border: none; +} \ No newline at end of file diff --git a/src/main/webapp/index.html b/src/main/webapp/index.html index 256cef0..6e2e3ef 100644 --- a/src/main/webapp/index.html +++ b/src/main/webapp/index.html @@ -1,83 +1,57 @@ - - + - - - - - - - + + + - - Roshka WebSite - - -
- - - - - -
-
- - - - - - -






-
-
-
-

Es tu turno Postulate para el bootcamp

-

Aprende

-
-
-
-

Es un campo de entrenamiento intensivo y gratuito para principiantes que ya programan y quieren ser parte de la empresa

-
-
- - -
-
- -
- -
- - - -
- - -
- -
-
- - - +
+ + +
+
+

Es tu turno, Postulate para el bootcamp

+

+ Es un campo de entrenamiento intensivo y gratuito para principiantes + que ya programan y quieren ser parte de la empresa. +

+ + + +
+ +
+ +
+
+ diff --git a/src/main/webapp/menu.css b/src/main/webapp/menu.css index d081613..443ae95 100644 --- a/src/main/webapp/menu.css +++ b/src/main/webapp/menu.css @@ -51,4 +51,8 @@ .menu li:hover { background-color: rgb(18, 18, 98); - } \ No newline at end of file + } + + .botones a{ + color: black; + } \ No newline at end of file diff --git a/src/main/webapp/menu.jsp b/src/main/webapp/menu.jsp index e8bc257..8e96dd0 100644 --- a/src/main/webapp/menu.jsp +++ b/src/main/webapp/menu.jsp @@ -8,89 +8,36 @@ }%> - - - - - - + + +
+ LOGOUT
+ INICIO
+
+ + + + +
-

MENU TH

+

Bienvenido! al MENU TH

EN LOS SIGUIENTES LINKS PUEDE MODIFICAR, AGREGAR O ELIMINAR DATOS DE LA BASE DE DATOS DEL BOOTCAMP

+

PUEDE ACCEDER A LOS SIGUIENTES LINKS:

-
+