Commit 8523ecd5 by Rebecca Arzamendia

Merge branch 'develop' of…

Merge branch 'develop' of https://phoebe.roshka.com/gitlab/jbaez/ProyectoFinal-Bootcamp into filtrosbootcamp
parents 4e7e473f cbb8ab95
......@@ -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");
......
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<Postulante> 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);
}
......
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");
}
}
......@@ -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("<p>Record saved successfully!</p>");
request.getRequestDispatcher("formulario_profesor.jsp").include(request, response);
}else{
} else {
out.println("Sorry! unable to save record");
}
......
......@@ -17,12 +17,17 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<link href="css/bootstrap.css" rel="stylesheet" type="text/css" />
<link rel="shortcut icon" href="imagenes/roshkaicon.ico" sizes="any" />
<!-- coneccion con el de css -->
<link rel="stylesheet" href="postulante.css">
<title>JSP Page</title>
<title>Crear BOOTCAMP</title>
</head>
<body>
<div class="botones"><a href="logout">LOGOUT</a><br>
<a href="index.html">INICIO</a><br>
<a href="menu.jsp">MENU</a><br>
</div>
<div class="container">
<h1> CREAR BOOTCAMP </h1>
......
......@@ -25,7 +25,15 @@
</head>
<body>
<div class="botones"><a href="logout">LOGOUT</a><br>
<a href="index.html">INICIO</a><br>
<a href="menu.jsp">MENU</a><br>
</div>
<div>
<h1> CREAR LENGUAJE </h1>
<%@ page import="com.roshka.proyectofinal.entity.Lenguaje, com.roshka.proyectofinal.lenguaje.LenguajeDao, java.util.List,java.util.Iterator" %>
......
......@@ -25,8 +25,12 @@
</head>
<body>
<div class="botones"><a href="logout">LOGOUT</a><br>
<a href="index.html">INICIO</a><br>
<a href="menu.jsp">MENU</a><br>
</div>
<div>
<h1> CREAR PROFESOR Y FILTRAR </h1>
<%@ page import="com.roshka.proyectofinal.entity.Profesor, com.roshka.proyectofinal.profesor.ProfesorDao, java.util.List,java.util.Iterator" %>
......
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
<!DOCTYPE html>
<html lang="en">
<head>
<head>
<meta charset="UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous" />
<!-- para concectar con css -->
<link rel="stylesheet" href="home.css">
<!-- el icono para la pagina -->
<link rel="stylesheet" href="home.css" />
<!-- CSS only -->
<link
href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.0-beta1/dist/css/bootstrap.min.css"
rel="stylesheet"
integrity="sha384-0evHe/X+R7YkIZDRvuzKMRqM+OrBnVFBL6DOitfPri4tjfHxaWutUpFmBp4vmVor"
crossorigin="anonymous"
/>
<link rel="shortcut icon" href="imagenes/roshkaicon.ico" sizes="any" />
<title>Roshka WebSite</title>
</head>
<div class="header">
<div class="logo">
<a href="./index.html"> <img class="logoi" src="imagenes/logo-roshka.svg" alt="" /> </a>
<!-- logo con link -->
</div>
<div class="menu">
<title>Web Site Roshka</title>
</head>
<body>
<header class="contenedor">
<div class="contenido">
<img src="imagenes/logo-roshka.svg " alt="imagen" />
</div>
<div class="link">
<ul>
<li class="link-menu"><a href="">Home</a></li>
<li class="link-menu"><a href="bootcamp.jsp">Postulate</a></li>
</li>
<li class="link-menu"><a href="">Home</a></li>
<li class="link-menu"><a href="bootcamp.jsp">Postulate</a></li>
<li class="link-menu"><a href="">About us</a></li>
<li class="link-menu"><a href="">Work with us</a></li>
<li class="link-menu"><a href="">Get in touch</a></li>
</ul>
</div>
<!-- menu -->
</div>
<!-- header -->
<div class="main">
<div class="seccion hero">
<!-- <div class="contenido"> -->
<br> <br> <br> <br> <br> <br><br>
<div class="texto">
<div class="titulo">
<div class="titulo">
<h2>Es tu turno <strong>Postulate</strong> para el bootcamp</h2>
<h1>Aprende</h1>
</div>
</div>
<div class="parrafo">
<p data-block-key="cwggy">Es un campo de entrenamiento intensivo y gratuito para principiantes que ya programan y quieren ser parte de la empresa</p>
</div>
<div class="postulacion">
<a href="bootcamp.jsp"><button type="submit" class="cta-main">POSTULACION</button></a>
<!-- <a href="/postulacion" class="cta-main">POSTULACION</a> -->
</div>
</div>
<div class="grafico">
<img style="align-items:right ;" src="imagenes/ilustracion-herov3.svg" alt="">
</div>
<!-- </div> -->
</div>
<!-- pie de pagina -->
<div class="footer">
<div class="logofooter"><img src="imagenes/logo_footer.svg" alt="" class="logofooter"></div>
</div>
</div>
</div>
</div>
</body>
</div>
</header>
<main class="main">
<div class="letra">
<h1>Es tu turno, <strong>Postulate</strong> para el bootcamp</h1>
<h3 data-block-key="cwggy">
Es un campo de entrenamiento intensivo y gratuito para principiantes
que ya programan y quieren ser parte de la empresa.
</h3>
<a href="bootcamp.jsp">
<button type="submit" class="btn btn-warning cta-main">
POSTULACION
</button>
</a>
</div>
<div class="imagen">
<img
style="align-items: right"
src="imagenes/ilustracion-herov3.svg"
alt=""
/>
</div>
</main>
</body>
</html>
......@@ -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
......@@ -8,89 +8,36 @@
}%>
<!DOCTYPE html>
<html>
<head>
<link rel="shortcut icon" href="imagenes/roshkaicon.ico" sizes="any" />
</head>
<style>
<link href="https://fonts.googleapis.com/css2?family=Concert+One&family=Francois+One&family=Satisfy&family=Staatliches&display=swap" rel="stylesheet">* {
box-sizing: border-box;
}
body {
font-family: 'Concert One', cursive;
font-family: 'Francois One', sans-serif;
font-family: 'Satisfy', cursive;
font-family: 'Staatliches', cursive;
font-size: 13px
}
.header,
.footer {
background-color: rgb(18, 18, 98);
color: white;
padding: 60px;
}
.column {
float: left;
padding: 30px;
}
.clearfix::after {
content: "";
clear: both;
display: table;
}
a {
color: white;
}
.menu {
width: 50%;
}
.content {
width: 50%;
}
.menu ul {
list-style-type: none;
margin: 0;
padding: 0;
}
.menu li {
padding: 8px;
margin-bottom: 8px;
background-color: rgb(18, 18, 98);
color: #ffffff;
}
.menu li:hover {
background-color: rgb(18, 18, 98);
}
</style>
<link rel="stylesheet" href="menulogin.css">
<link href="https://fonts.googleapis.com/css2?family=Concert+One&family=Francois+One&family=Satisfy&family=Staatliches&display=swap" rel="stylesheet">
</head>
<body>
<div class="botones">
<a href="logout">LOGOUT</a><br>
<a href="index.html">INICIO</a><br>
</div>
<body>
<div class="logo"><img src="imagenes/logo-roshka.svg" alt="logo-roshka"></div>
<div class="header">
<h1> MENU TH</h1>
<h1>Bienvenido! al MENU TH</h1>
<h2> EN LOS SIGUIENTES LINKS PUEDE MODIFICAR, AGREGAR O ELIMINAR DATOS DE LA BASE DE DATOS DEL BOOTCAMP </h2>
<h3>PUEDE ACCEDER A LOS SIGUIENTES LINKS:</h3>
</div>
<div class="column content">
<!-- <div class="column content">
<h1>PUEDE ACCEDER A LOS SIGUIENTES LINKS:</h1>
</div>
</div> -->
<div class="clearfix">
<div class="column menu">
......
* {
padding: 0;
margin: 0;
box-sizing: border-box;
}
img {
width: 200px;
padding: 10px;
display: block;
padding: 10px;
}
body {
font-family: 'Concert One', cursive;
font-family: 'Francois One', sans-serif;
font-family: 'Satisfy', cursive;
font-family: 'Staatliches', cursive;
font-size: 13px;
background-image: url(imagenes/descarga.svg);
}
.header,
.footer {
background-color: whitesmoke;
color: rgb(18, 18, 98);
padding: 60px;
}
.header,.footer{
background-color: aqua;
}
.column {
float: left;
padding: 30px;
}
.clearfix::after {
content: "";
clear: both;
display: table;
}
a {
color: white;
text-align: center;
text-decoration: none;
font-size: larger;
}
.menu {
width: 50%;
text-align: center;
}
.content {
width: 50%;
}
.menu ul {
list-style-type: none;
margin: 0;
padding: 0;
}
.menu li {
padding: 8px;
margin-bottom: 8px;
border: solid 2px white;
/* background-image: url(imagenes/descarga.svg); */
color: rgb(18, 18, 98);
}
.menu li:hover {
background-color: rgb(18, 18, 98);
}
div.header{
background-image: url(imagenes/descarga.svg);
border: solid 1px black;
}
h1{
color: white;
text-align: center;
font-size: 30px;
}
h2,h3{
text-align: center;
font-family: monospace;
color: white;
}
h2:hover{
color: yellow;
}
h3:hover{
color: yellow;
}
\ No newline at end of file
<%@ page import= "jakarta.servlet.http.* , java.lang.Object" %>
<%HttpSession session1 = request.getSession(true);
Object done = session1.getAttribute("logon.isDone");
if (done == null) {
session1.setAttribute("login.target", HttpUtils.getRequestURL(request).toString());
response.sendRedirect(request.getScheme() + "://" + request.getServerName() + ":" + request.getServerPort() + request.getContextPath() +"/login.jsp");
return;
}%>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1" pageEncoding="ISO-8859-1"%>
<%@ taglib uri = "http://java.sun.com/jsp/jstl/core" prefix = "c" %>
<!DOCTYPE html>
......@@ -6,6 +16,8 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<!-- el icono para la pagina -->
<link rel="shortcut icon" href="imagenes/roshkaicon.ico" sizes="any" />
<!-- coneccion con el de css -->
......@@ -14,23 +26,30 @@
</head>
<body>
<div class="botones"><a href="logout">LOGOUT</a><br>
<a href="index.html">INICIO</a><br>
<a href="menu.jsp">MENU</a><br>
</div>
<div class="logo">
<a href="./index.html"> <img class="logoi" src="imagenes/logo-roshka.svg" alt="" /> </a>
<a href="./login.jsp"> <img class="logoi" src="imagenes/logo-roshka.svg" alt="" /> </a>
<!-- logo con link -->
</div>
<div class="container">
<h1>Lista Postulantes</h1>
<div class="filtros">
<form action="filtros-postulante" >
<input type="search" name="nombreBuscar"
placeholder="Buscar por nombre">
<button type="submit">Buscar</button>
</form>
<div class="input-group">
<form action="filtros-postulante" >
<input type="search" name="nombreBuscar"
placeholder="Buscar por nombre">
<button type="submit">Buscar</button>
</form>
<form action="filtros-postulante" method="post" style="display:inline">
<input type="search" name="nombre" placeholder="Buscar por Bootcamp" required>
<button type="submit">Bootcamp</button>
</form>
<form action="filtros-postulante" method="post">
<input type="search" name="nombre" placeholder="Buscar por Bootcamp" required>
<button type="submit">Bootcamp</button>
</form>
</div>
<form action="filtros-postulante" method="post">
<input type="hidden" name="nombre" value="notebook">
......@@ -119,10 +138,6 @@
<form action="filtros-postulante" method="get">
<input type="hidden" name="valor" value="0">
<input type="hidden" name="id" value="${postulante.id}">
<input type="hidden" name="nombre" value="${postulante.nombre}">
<input type="hidden" name="apellido" value="${postulante.apellido}">
<input type="hidden" name="correo" value="${postulante.correo}">
<button type="submit">Rechazar</button>
</form>
</c:when>
......@@ -130,6 +145,10 @@
<form action="filtros-postulante" method="get">
<input type="hidden" name="valor" value="1">
<input type="hidden" name="id" value="${postulante.id}">
<input type="hidden" name="bootcampId" value="${postulante.bootcampId}">
<input type="hidden" name="nombre" value="${postulante.nombre}">
<input type="hidden" name="apellido" value="${postulante.apellido}">
<input type="hidden" name="correo" value="${postulante.correo}">
<button type="submit">Aceptado</button>
</form>
</c:otherwise>
......
......@@ -11,7 +11,7 @@ img{
padding: 5px;
}
.container{
width: 300%;
width: 100%;
max-width: 785px;
min-width: 320px;
border-radius: 15px;
......@@ -22,7 +22,7 @@ table{
/* background-color: wheat; */
text-align: left;
border-collapse: collapse;
width: 150%;
width: 100%;
/* border: solid 3px black; */
}
a{
......@@ -31,7 +31,7 @@ a{
}
h1{
font-family:Calibri, Candara, Segoe, Segoe UI, Optima, Arial, sans-serif;
text-align: right;
text-align: center;
color:wheat;
font-weight:bold;
......@@ -80,3 +80,7 @@ th { border: 1px solid black; height: 30px;
}
button:hover{
color: yellow;}
div.boot{
width: 100%;
text-align: center;
}
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment