Commit d3c627c3 by Yovan Martinez

Terminado validacion al enviar formulario y creacion de manage_postulante para…

Terminado validacion al enviar formulario y creacion de manage_postulante para aceptar o rechazr los mismos
parent aeb90489
...@@ -10,7 +10,7 @@ public class DataBase { ...@@ -10,7 +10,7 @@ public class DataBase {
try{ try{
Class.forName("org.postgresql.Driver"); Class.forName("org.postgresql.Driver");
con= DriverManager con= DriverManager
.getConnection("jdbc:postgresql://localhost:5432/bootcamp_th", .getConnection("jdbc:postgresql://localhost:5433/bootcamp_th",
"postgres", "postgres"); "postgres", "postgres");
if(con != null){ if(con != null){
......
package com.roshka.proyectofinal.Postulante;
import com.roshka.proyectofinal.DataBase;
import com.roshka.proyectofinal.entity.Postulante;
import com.roshka.proyectofinal.entity.Bootcamp;
import com.roshka.proyectofinal.entity.PostulanteLenguaje;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import javafx.geometry.Pos;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
import java.util.List;
@WebServlet("/EditServletPostulante")
public class EditServletPostulante extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out = response.getWriter();
String sid = request.getParameter("id");
boolean accion;
if (request.getParameter("value") == "Rechazar") {
accion = false;
} else {
accion = true;
}
int id = Integer.parseInt(sid);
Postulante e = new Postulante();
e.setId(id);
e.setAceptado(accion);
int status = PostulanteDao.update(e);
if (status > 0) {
response.sendRedirect("ViewServlet");
} else {
out.println("Sorry! unable to update record");
}
out.close();
}
}
package com.roshka.proyectofinal.Postulante; package com.roshka.proyectofinal.Postulante;
import com.roshka.proyectofinal.DataBase; import com.roshka.proyectofinal.DataBase;
import com.roshka.proyectofinal.entity.Postulante; import com.roshka.proyectofinal.entity.Postulante;
import jakarta.servlet.http.HttpServlet;
import javafx.geometry.Pos;
import javax.xml.crypto.Data;
import java.sql.Connection; import java.sql.Connection;
import java.sql.PreparedStatement; import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.util.ArrayList;
import java.util.List;
public class PostulanteDao { public class PostulanteDao extends HttpServlet {
public static int save(Postulante postulante){ public static int save(Postulante postulante){
int status=0; int status=0;
...@@ -30,4 +36,48 @@ public class PostulanteDao { ...@@ -30,4 +36,48 @@ public class PostulanteDao {
return status; return status;
} }
public static List<Postulante> ListarPostulantes(){
List<Postulante> list=new ArrayList<Postulante>();
try{
Connection con= DataBase.getConnection();
PreparedStatement ps=con.prepareStatement("select * from postulante");
ResultSet rs=ps.executeQuery();
while(rs.next()){
Postulante e=new Postulante();
e.setId(rs.getInt("id"));
e.setNombre(rs.getString("nombre"));
//e.setPassword(rs.getString(3));
e.setCorreo(rs.getString("correo"));
e.setApellido(rs.getString("apellido"));
e.setDireccion(rs.getString("direccion"));
list.add(e);
}
con.close();
}catch(Exception e){e.printStackTrace();}
return list;
}
public static int update (Postulante e){
int status=0;
try{
Connection con= DataBase.getConnection();
PreparedStatement ps=con.prepareStatement(
"update postulante set aceptado=? where id=?");
ps.setBoolean(1,e.getAceptado());
ps.setInt(2,e.getId());
status=ps.executeUpdate();
con.close();
}catch(Exception ex){ex.printStackTrace();}
return status;
}
} }
...@@ -30,6 +30,7 @@ public class SaveServlet extends HttpServlet { ...@@ -30,6 +30,7 @@ public class SaveServlet extends HttpServlet {
Connection con = DataBase.getConnection(); Connection con = DataBase.getConnection();
Statement stmt = con.createStatement(); Statement stmt = con.createStatement();
ResultSet rs = stmt.executeQuery("SELECT correo,bootcamp_id FROM postulante WHERE postulante.bootcamp_id =" + bootcampActual); ResultSet rs = stmt.executeQuery("SELECT correo,bootcamp_id FROM postulante WHERE postulante.bootcamp_id =" + bootcampActual);
String nombre=request.getParameter("nombre"); String nombre=request.getParameter("nombre");
String apellido=request.getParameter("apellido"); String apellido=request.getParameter("apellido");
int cedula=Integer.parseInt(request.getParameter("cedula")); int cedula=Integer.parseInt(request.getParameter("cedula"));
...@@ -105,18 +106,21 @@ public class SaveServlet extends HttpServlet { ...@@ -105,18 +106,21 @@ public class SaveServlet extends HttpServlet {
} }
} }
if(status >0 && statusLenguaje > 0){ if(status >0 && statusLenguaje > 0){
//out.println("<script> window.alert('Postulacion exitosa') </script>");
out.print("<p>Record saved successfully!</p>"); out.print("<p>Record saved successfully!</p>");
request.getRequestDispatcher("index.html").include(request, response); request.getRequestDispatcher("formulario.jsp").include(request, response);
}else{ }else{
if (rechazarDatos){ if (rechazarDatos){
if (contador == 0){ if (contador == 0){
out.println("Debe seleccionar al menos una opcion de lenguaje que conoce para postularse"); out.println("Debe seleccionar al menos una opcion de lenguaje que conoce para postularse");
out.println("<a href=formulario.jsp >Volver al cuestionario</a>"); out.println("<a href=formulario.jsp >Volver al cuestionario</a>");
}else { }else {
out.println("El correo ingresado ya esta registrado para el bootcamp actual"); out.println("<p>El correo ingresado ya esta registrado para el bootcamp actual<p>");
request.getRequestDispatcher("").include(request, response);
} }
}else{ }else{
out.println("Sorry! unable to save record"); out.println("Error");
out.println("<script> window.alert('Falla al enviar la postulacion,Intente de nuevo') </script>");
} }
} }
......
package com.roshka.proyectofinal.Postulante;
import java.io.IOException;
import java.io.PrintWriter;
import java.util.List;
import com.roshka.proyectofinal.DataBase;
import com.roshka.proyectofinal.entity.Postulante;
import com.roshka.proyectofinal.entity.Bootcamp;
import com.roshka.proyectofinal.entity.PostulanteLenguaje;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import javafx.geometry.Pos;
import com.roshka.proyectofinal.DataBase;
import com.roshka.proyectofinal.entity.Postulante;
import com.roshka.proyectofinal.entity.Bootcamp;
import com.roshka.proyectofinal.entity.PostulanteLenguaje;
import jakarta.servlet.ServletException;
import jakarta.servlet.annotation.WebServlet;
import jakarta.servlet.http.HttpServlet;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.Statement;
import java.io.IOException;
import java.io.PrintWriter;
import java.sql.*;
import java.util.List;
@WebServlet("/ViewServletPostulante")
public class ViewServletPostulantes extends HttpServlet{
protected void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
response.setContentType("text/html");
PrintWriter out=response.getWriter();
out.println("<h1>Lista de Postulantes</h1>");
List<Postulante> list=PostulanteDao.ListarPostulantes();
out.print("<table border='1' width='100%'");
out.print("<tr><th>Id</th><th>Nombre</th><th>Apellido</th><th>Email</th><th>Direccion</th> <th>Edit</th><th>Delete</th></tr>");
for(Postulante e:list){
out.print("<tr><td>"+e.getId()+"</td><td>"+e.getNombre()+"</td><td>"+e.getApellido()+"</td> <td>"+e.getCorreo()+"</td><td>"+e.getDireccion()+"</td><td><a href='EditServlet?id="+e.getId()+"'>edit</a></td> <td><a href='DeleteServlet?id="+e.getId()+"'>delete</a></td></tr>");
}
out.print("</table>");
out.close();
}
}
...@@ -30,6 +30,11 @@ public class Postulante { ...@@ -30,6 +30,11 @@ public class Postulante {
public int getId() { public int getId() {
return id; return id;
} }
public void setId(int id) {
this.id = id;
}
public int getNro_cedula() { public int getNro_cedula() {
return nroCedula; return nroCedula;
} }
......
(function() { (function() {
const form = document.querySelector('#sectionForm'); const form = document.querySelector('#agarraunolaputa');
const checkboxes = form.querySelectorAll('input[type=checkbox]'); const checkboxes = form.querySelectorAll('input[type=checkbox]');
const checkboxLength = checkboxes.length; const checkboxLength = checkboxes.length;
const firstCheckbox = checkboxLength > 0 ? checkboxes[0] : null; const firstCheckbox = checkboxLength > 0 ? checkboxes[0] : null;
...@@ -22,9 +22,8 @@ ...@@ -22,9 +22,8 @@
} }
function checkValidity() { function checkValidity() {
const errorMessage = !isChecked() ? 'Debe de selecionar al menos un lenguaje' : ''; const errorMessage = !isChecked() ? 'Debe seleccionar al menos un lenguaje que conozca' : '';
firstCheckbox.setCustomValidity(errorMessage); firstCheckbox.setCustomValidity(errorMessage);
} }
init(); init();
})(); })();
\ No newline at end of file
...@@ -521,42 +521,44 @@ ...@@ -521,42 +521,44 @@
<div class="col-lg-7 mx-auto mb-2"> <div class="col-lg-7 mx-auto mb-2">
<div class="card card-h mb-4"> <div class="card card-h mb-4">
<img src="https://zetsan.com/wp-content/uploads/2020/10/1366_2000.jpeg" lazyload " alt=" "> <img src="https://zetsan.com/wp-content/uploads/2020/10/1366_2000.jpeg" lazyload alt=" ">
<div class="card-body ">
<p class="mb-1 "> BOOTCAMP JAVA </p>
<p class="mb-1 "> Inicio: 18/04/2023</p>
<p class="mb-1 "> Fin: 18/05/2023</p>
<form action="formulario.jsp">
<input type="submit " value="POSTULAR " />
</form>
</div>
</div>
</div>
<div class="col-lg-7 mx-auto mb-2 ">
<div class="card card-h mb-4 ">
<img src="https://www.pngmart.com/files/13/Android-Logo-PNG-File.png " class="card-img-top lazyload " alt="Learning Web Design: A Beginner 's Guide to HTML, CSS, JavaScript, and Web Graphics">
<div class="card-body">
<p class="mb-1"> BOOTCAMP ANDROID </p>
<p class="mb-1"> Inicio: 18/06/2023</p>
<p class="mb-1"> Fin: 18/07/2023</p>
<form action="formulario.jsp">
<input type="submit" value="POSTULAR" />
</form>
</div>
</div>
</div>
<div class="col-lg-7 mx-auto mb-2">
<div class="card card-h mb-4">
<img src="https://p4.wallpaperbetter.com/wallpaper/710/859/671/technology-apple-ios-12-wallpaper-preview.jpg" lazyload " alt=" ">
<div class="card-body "> <div class="card-body ">
<p class="mb-1 "> BOOTCAMP JAVA </p> <p class="mb-1 "> BOOTCAMP iOS </p>
<p class="mb-1 "> Inicio: 18/04/2023</p> <p class="mb-1 "> Inicio: 18/08/2023</p>
<p class="mb-1 "> Fin: 18/05/2023</p> <p class="mb-1 "> Fin: 18/09/2023</p>
<form action="formulario.jsp "> <form action="formulario.jsp ">
<input type="submit " value="POSTULAR " /> <input type="submit " value="POSTULAR " />
</form> </form>
</div></div> </div></div>
</div> </div>
<div class="col-lg-7 mx-auto mb-2 ">
<div class="card card-h mb-4 ">
<img src="https://www.pngmart.com/files/13/Android-Logo-PNG-File.png " class="card-img-top lazyload " alt="Learning Web Design: A Beginner 's Guide to HTML, CSS, JavaScript, and Web Graphics">
<div class="card-body">
<p class="mb-1"> BOOTCAMP ANDROID </p>
<p class="mb-1"> Inicio: 18/06/2023</p>
<p class="mb-1"> Fin: 18/07/2023</p>
<form action="formulario.jsp">
<input type="submit" value="POSTULAR" />
</form>
</div></div>
</div>
<div class="col-lg-7 mx-auto mb-2">
<div class="card card-h mb-4">
<img src="https://p4.wallpaperbetter.com/wallpaper/710/859/671/technology-apple-ios-12-wallpaper-preview.jpg" lazyload" alt="">
<div class="card-body">
<p class="mb-1"> BOOTCAMP iOS </p>
<p class="mb-1"> Inicio: 18/08/2023</p>
<p class="mb-1"> Fin: 18/09/2023</p>
<form action="formulario.jsp">
<input type="submit" value="POSTULAR" />
</form>
</div></div>
</div>
</div> </div>
</body> </body>
......
<<<<<<< HEAD=======>>>>>>> 83a3c531a8a7130549d357f69034fe5d79ee8984 <%@ page language="java" contentType="text/html; charset=UTF-8"
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%> pageEncoding="UTF-8"%>
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
<head> <head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<<<<<<< HEAD <link href="css/bootstrap.css" rel="stylesheet" type="text/css" /> <link href="css/bootstrap.css" rel="stylesheet" type="text/css" />
<script src="Javascript.js"></script> <script src="Javascript.js"></script>
<title>JSP Page</title> <title>JSP Page</title>
=======
<link href="estilos/form.css" rel="stylesheet" type="text/css" /> <link href="estilos/form.css" rel="stylesheet" type="text/css" />
<link rel="shortcut icon" href="imagenes/roshkaicon.ico" sizes="any" /> <link rel="shortcut icon" href="imagenes/roshkaicon.ico" sizes="any" />
<link rel="stylesheet" media="(max-width: 800px)" href="example.css" /> <link rel="stylesheet" media="(max-width: 800px)" href="example.css" />
<title>Formulario Postulante</title> <title>Formulario Postulante</title>
>>>>>>> 83a3c531a8a7130549d357f69034fe5d79ee8984
</head> </head>
<body> <body>
...@@ -30,6 +28,7 @@ pageEncoding="UTF-8"%> ...@@ -30,6 +28,7 @@ pageEncoding="UTF-8"%>
<form method="post" action="SaveServlet" class="form"> <form method="post" action="SaveServlet" class="form">
<label for="nombre">Ingrese su Nombre:</label> <label for="nombre">Ingrese su Nombre:</label>
<input required id="nombre" name="nombre" type="text"><br> <input required id="nombre" name="nombre" type="text"><br>
...@@ -48,6 +47,7 @@ pageEncoding="UTF-8"%> ...@@ -48,6 +47,7 @@ pageEncoding="UTF-8"%>
<label for="direccion">Direccion:</label> <label for="direccion">Direccion:</label>
<input required id="direccion" name="direccion" type="text"><br> <input required id="direccion" name="direccion" type="text"><br>
<p for="experiencia_programando">Lenguajes de programacion que conoces:</p>
<%@ page import="com.roshka.proyectofinal.entity.Lenguaje, com.roshka.proyectofinal.lenguaje.LenguajeDao, java.util.List,java.util.Iterator" %> <%@ page import="com.roshka.proyectofinal.entity.Lenguaje, com.roshka.proyectofinal.lenguaje.LenguajeDao, java.util.List,java.util.Iterator" %>
<% <%
...@@ -56,7 +56,7 @@ pageEncoding="UTF-8"%> ...@@ -56,7 +56,7 @@ pageEncoding="UTF-8"%>
Iterator<Lenguaje> iter = listLenguaje.iterator(); Iterator<Lenguaje> iter = listLenguaje.iterator();
Lenguaje len = null; Lenguaje len = null;
%> %>
<ul id="sectionForm"> <ul id="agarraunolaputa">
<% while(iter.hasNext()){ <% while(iter.hasNext()){
len = iter.next(); len = iter.next();
%> %>
...@@ -64,7 +64,7 @@ pageEncoding="UTF-8"%> ...@@ -64,7 +64,7 @@ pageEncoding="UTF-8"%>
<label for=<%=len.getNombre_lenguaje() %> > <%= len.getNombre_lenguaje() %> </label> <label for=<%=len.getNombre_lenguaje() %> > <%= len.getNombre_lenguaje() %> </label>
<input onclick="enviar(id)" value=<%=len.getId() %> id= <input onclick="enviar(id)" value=<%=len.getId() %> id=
<%=len.getNombre_lenguaje() %> name= <%=len.getNombre_lenguaje() %> name=
<%=len.getNombre_lenguaje() %> type="checkbox" ><br> <%=len.getNombre_lenguaje() %> type="checkbox" >
</li> </li>
<% } %> <% } %>
</ul> </ul>
...@@ -72,7 +72,7 @@ pageEncoding="UTF-8"%> ...@@ -72,7 +72,7 @@ pageEncoding="UTF-8"%>
<label for="experiencia_laboral">Experiencia laboral</label> <label for="experiencia_laboral">Experiencia laboral</label>
<!-- Si no lo marca el valor que envia es null y si lo marca es "ON" --> <!-- Si no lo marca el valor que envia es null y si lo marca es "ON" -->
<input id="experiencia_laboral" name="experiencia_laboral" type="checkbox"><br> <input id="experiencia_laboral" name="experiencia_laboral" type="checkbox"><br>
<p for="experiencia_programando">Lenguajes de programacion que conoces:</p>
<label for="notebook">Cuenta con notebook</label> <label for="notebook">Cuenta con notebook</label>
<input id="notebook" name="notebook" type="checkbox"><br> <input id="notebook" name="notebook" type="checkbox"><br>
...@@ -95,6 +95,37 @@ pageEncoding="UTF-8"%> ...@@ -95,6 +95,37 @@ pageEncoding="UTF-8"%>
</html> </html>
<script>
(function() {
const form = document.querySelector('#agarraunolaputa');
const checkboxes = form.querySelectorAll('input[type=checkbox]');
const checkboxLength = checkboxes.length;
const firstCheckbox = checkboxLength > 0 ? checkboxes[0] : null;
function init() {
if (firstCheckbox) {
for (let i = 0; i < checkboxLength; i++) {
checkboxes[i].addEventListener('change', checkValidity);
}
checkValidity();
}
}
function isChecked() {
for (let i = 0; i < checkboxLength; i++) {
if (checkboxes[i].checked) return true;
}
return false;
}
function checkValidity() {
const errorMessage = !isChecked() ? 'Debe seleccionar al menos un lenguaje que conozca' : '';
firstCheckbox.setCustomValidity(errorMessage);
}
init();
})();
</script>
<style> <style>
/* el header donde va el logo y el menu */ /* el header donde va el logo y el menu */
...@@ -114,21 +145,24 @@ pageEncoding="UTF-8"%> ...@@ -114,21 +145,24 @@ pageEncoding="UTF-8"%>
align-items: center; align-items: center;
height: 160%; height: 160%;
} }
}
/* para el logo */ /* para el logo */
img { img {
width: 165px; width: 165px;
padding: 10px; padding: 10px;
} }
p.enter { p.enter {
text-align: center; text-align: center;
font-size: 20px; font-size: 20px;
} }
/* para el parrafo */ /* para el parrafo */
p:hover { p:hover {
color: yellow; color: yellow;
} }
/* para el create o sea para el main */ /* para el create o sea para el main */
.create { .create {
width: 100%; width: 100%;
max-width: 785px; max-width: 785px;
...@@ -139,17 +173,20 @@ pageEncoding="UTF-8"%> ...@@ -139,17 +173,20 @@ pageEncoding="UTF-8"%>
} }
/* contenedor */ /* contenedor */
/* para el forrmulario */ /* para el forrmulario */
.form label { .form label {
display: block; display: block;
border: none; border: none;
align-items: center; align-items: center;
} }
.form input { .form input {
display: block; display: block;
border: none; border: none;
width: 50%; width: 50%;
align-items: center; align-items: center;
} }
.form input[type="email"], .form input[type="email"],
.form input[type="text"], .form input[type="text"],
.form input[type="number"] { .form input[type="number"] {
...@@ -157,16 +194,20 @@ pageEncoding="UTF-8"%> ...@@ -157,16 +194,20 @@ pageEncoding="UTF-8"%>
border-radius: 10px; border-radius: 10px;
border: 1px solid #000; border: 1px solid #000;
} }
.form input:hover { .form input:hover {
background-color: wheat; background-color: wheat;
} }
a { a {
text-decoration: none; text-decoration: none;
} }
ul { ul {
list-style: none; list-style: none;
font-size: 15px; font-size: 15px;
} }
a { a {
text-decoration: none; text-decoration: none;
color: black; color: black;
...@@ -179,6 +220,7 @@ pageEncoding="UTF-8"%> ...@@ -179,6 +220,7 @@ pageEncoding="UTF-8"%>
cursor: pointer; cursor: pointer;
background-image: url(imagenes/descarga.svg); background-image: url(imagenes/descarga.svg);
} }
.form input[type="reset"], .form input[type="reset"],
.form input[type="submit"] { .form input[type="submit"] {
text-decoration: none; text-decoration: none;
...@@ -195,6 +237,7 @@ pageEncoding="UTF-8"%> ...@@ -195,6 +237,7 @@ pageEncoding="UTF-8"%>
width: 80px; width: 80px;
text-align: center; text-align: center;
} }
input#ruby, input#ruby,
input#python, input#python,
input#c, input#c,
...@@ -202,6 +245,7 @@ pageEncoding="UTF-8"%> ...@@ -202,6 +245,7 @@ pageEncoding="UTF-8"%>
input#java { input#java {
width: 20px; width: 20px;
} }
input#experiencia_laboral, input#experiencia_laboral,
input#notebook, input#notebook,
input#universidad { input#universidad {
......
...@@ -24,9 +24,9 @@ ...@@ -24,9 +24,9 @@
<div class="menu"> <div class="menu">
<ul> <ul>
<li class="link-menu"><a href="">Home</a></li> <li class="link-menu"><a href="">Home</a></li>
<li class="link-menu"><a href="bootcamp.html">Postulate</a></li> <li class="link-menu"><a href="formulario.jsp">Postulate</a></li>
<li class="link-menu"><a href="formulario_bootcamp.jsp">Crear bootcamp</a> <li class="link-menu"><a href="formulario_bootcamp.jsp">Crear bootcamp</a></li>
</li> <li class="link-menu"><a href="manage_postulantes.jsp">Manage Postulantes(perdon angel)</a></li>
</ul> </ul>
</div> </div>
<!-- menu --> <!-- menu -->
......
<<<<<<< HEAD
=======
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %> <%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
<!DOCTYPE html> <!DOCTYPE html>
<html> <html>
...@@ -19,4 +17,3 @@ ...@@ -19,4 +17,3 @@
</body> </body>
</html> </html>
\ No newline at end of file
>>>>>>> origin/develop
<!DOCTYPE html>
<html lang="en">
<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">
<title>aceptar postulantes</title>
</head>
<body>
</body>
</html>
\ 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