Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
th-app-java
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Oscar Enrique Gonzalez Escurra
th-app-java
Commits
3b3ca2b2
Commit
3b3ca2b2
authored
Nov 16, 2021
by
willgonzz
Browse files
Options
Browse Files
Download
Plain Diff
merge con joel-001
parents
213dc71c
f9945b4e
Hide whitespace changes
Inline
Side-by-side
Showing
21 changed files
with
726 additions
and
502 deletions
+726
-502
.vscode/settings.json
+4
-0
curriculumsearch/pom.xml
+7
-0
curriculumsearch/src/main/java/com/roshka/controller/CargoController.java
+7
-2
curriculumsearch/src/main/java/com/roshka/controller/HomeController.java
+13
-0
curriculumsearch/src/main/java/com/roshka/controller/PostulanteController.java
+5
-12
curriculumsearch/src/main/java/com/roshka/controller/TecnologiaController.java
+7
-2
curriculumsearch/src/main/java/com/roshka/modelo/Tecnologia.java
+3
-3
curriculumsearch/src/main/java/com/roshka/repositorio/CargoRepository.java
+1
-0
curriculumsearch/src/main/java/com/roshka/repositorio/TecnologiaRepository.java
+2
-0
curriculumsearch/src/main/resources/application.properties
+5
-3
curriculumsearch/src/main/webapp/jsp/cargo-form.jsp
+40
-55
curriculumsearch/src/main/webapp/jsp/cargos.jsp
+49
-65
curriculumsearch/src/main/webapp/jsp/convocatoria-form.jsp
+36
-46
curriculumsearch/src/main/webapp/jsp/convocatorias.jsp
+9
-20
curriculumsearch/src/main/webapp/jsp/detallepostulante.jsp
+295
-86
curriculumsearch/src/main/webapp/jsp/index.jsp
+1
-1
curriculumsearch/src/main/webapp/jsp/layouts/base.jsp
+81
-0
curriculumsearch/src/main/webapp/jsp/postulante-form.jsp
+1
-1
curriculumsearch/src/main/webapp/jsp/postulantes.jsp
+139
-152
curriculumsearch/src/main/webapp/jsp/tecnologia-form.jsp
+15
-34
curriculumsearch/src/main/webapp/jsp/tecnologias.jsp
+6
-20
No files found.
.vscode/settings.json
0 → 100644
View file @
3b3ca2b2
{
"java.configuration.updateBuildConfiguration"
:
"interactive"
}
\ No newline at end of file
curriculumsearch/pom.xml
View file @
3b3ca2b2
...
...
@@ -78,6 +78,13 @@
<!-- <version>1.18.22</version>-->
<!-- <scope>provided</scope>-->
<!-- </dependency>-->
<dependency>
<groupId>
kr.pe.kwonnam.jsp
</groupId>
<artifactId>
jsp-template-inheritance
</artifactId>
<version>
0.3.RELEASE
</version>
<scope>
compile
</scope>
</dependency>
</dependencies>
<build>
...
...
curriculumsearch/src/main/java/com/roshka/controller/CargoController.java
View file @
3b3ca2b2
package
com
.
roshka
.
controller
;
import
javax.validation.Valid
;
import
com.roshka.modelo.Cargo
;
import
com.roshka.repositorio.CargoRepository
;
import
org.springframework.beans.factory.annotation.Autowired
;
...
...
@@ -42,8 +44,11 @@ public class CargoController {
}
@PostMapping
(
path
=
{
"/cargo"
,
"/cargo/{id}"
})
public
String
guardarCargo
(
@ModelAttribute
Cargo
cargo
,
BindingResult
result
,
@PathVariable
(
required
=
false
)
Long
id
)
{
if
(
result
.
hasErrors
());
public
String
guardarCargo
(
@Valid
@ModelAttribute
Cargo
cargo
,
BindingResult
result
,
@PathVariable
(
required
=
false
)
Long
id
,
Model
model
)
{
if
(
result
.
hasErrors
()
||
(
id
==
null
&&
cargoRepo
.
existsByNombreIgnoreCase
(
cargo
.
getNombre
())
)){
model
.
addAttribute
(
"mismoNombre"
,
true
);
return
"cargo-form"
;
};
if
(
id
!=
null
)
cargo
.
setId
(
id
);
cargoRepo
.
save
(
cargo
);
System
.
out
.
println
(
cargo
.
getNombre
());
...
...
curriculumsearch/src/main/java/com/roshka/controller/HomeController.java
0 → 100644
View file @
3b3ca2b2
package
com
.
roshka
.
controller
;
import
org.springframework.stereotype.Controller
;
import
org.springframework.ui.Model
;
import
org.springframework.web.bind.annotation.RequestMapping
;
@Controller
@RequestMapping
(
"/home"
)
public
class
HomeController
{
@RequestMapping
()
public
String
home
(
Model
model
)
{
return
"index"
;
}
}
curriculumsearch/src/main/java/com/roshka/controller/PostulanteController.java
View file @
3b3ca2b2
...
...
@@ -81,13 +81,6 @@ public class PostulanteController {
this
.
carRepo
=
carRepo
;
}
@RequestMapping
(
"home"
)
public
String
index
()
{
return
"index"
;
}
@RequestMapping
(
"/postulantes"
)
public
String
postulantes
(
Model
model
,
@RequestParam
(
required
=
false
)
Long
tecId
,
...
...
@@ -184,8 +177,8 @@ public class PostulanteController {
return
"redirect:/postulacion-correcta"
;
}
@GetMapping
(
"/postulacion-correcta"
)
public
String
successPostulation
(
Model
model
){
@GetMapping
(
"/postulacion-correcta"
)
public
String
successPostulation
(
Model
model
){
model
.
addAttribute
(
"mensaje1"
,
"Tu informacion se ha recibido correctamente!"
);
model
.
addAttribute
(
"mensaje2"
,
" espera por que nos pongamos en contacto!"
);
return
"exitoRegistro"
;
...
...
@@ -213,9 +206,9 @@ public class PostulanteController {
public
String
getPostulanteDetalle
(
Model
model
,
@PathVariable
(
"postulanteId"
)
Long
postulanteId
)
{
Postulante
p
=
post
.
findById
(
postulanteId
).
orElse
(
null
);
model
.
addAttribute
(
"postulante"
,
p
);
model
.
addAttribute
(
"estadoP"
,
EstadoPostulante
.
values
());
return
"detallepostulante
2
"
;
model
.
addAttribute
(
"estadoP"
,
EstadoPostulante
.
values
());
return
"detallepostulante"
;
}
@PostMapping
({
"/postulante/{postulanteId}"
})
public
String
setPostulanteEstado
(
@ModelAttribute
Postulante
postulante
,
BindingResult
result
,
@PathVariable
(
"postulanteId"
)
Long
postulanteId
)
{
...
...
curriculumsearch/src/main/java/com/roshka/controller/TecnologiaController.java
View file @
3b3ca2b2
package
com
.
roshka
.
controller
;
import
javax.validation.Valid
;
import
com.roshka.modelo.Tecnologia
;
import
com.roshka.repositorio.TecnologiaRepository
;
...
...
@@ -45,8 +47,11 @@ public String addtecnologiaView(Model model,@PathVariable(required = false) Long
}
@PostMapping
(
path
=
{
"/tecnologia"
,
"/tecnologia/{id}"
})
public
String
addtecnologia
(
@ModelAttribute
Tecnologia
tecnologia
,
BindingResult
result
,
@PathVariable
(
required
=
false
)
Long
id
)
{
if
(
result
.
hasErrors
());
public
String
addtecnologia
(
@Valid
@ModelAttribute
Tecnologia
tecnologia
,
BindingResult
result
,
@PathVariable
(
required
=
false
)
Long
id
,
Model
model
)
{
if
(
result
.
hasErrors
()
||
(
id
==
null
&&
tecRepo
.
existsByNombreIgnoreCase
(
tecnologia
.
getNombre
()))){
model
.
addAttribute
(
"mismoNombre"
,
true
);
return
"tecnologia-form"
;
}
if
(
id
!=
null
)
tecnologia
.
setId
(
id
);
tecRepo
.
save
(
tecnologia
);
System
.
out
.
println
(
tecnologia
.
getNombre
());
...
...
curriculumsearch/src/main/java/com/roshka/modelo/Tecnologia.java
View file @
3b3ca2b2
...
...
@@ -15,17 +15,17 @@ public class Tecnologia {
@GeneratedValue
(
strategy
=
GenerationType
.
IDENTITY
)
@Id
@Column
(
name
=
"id"
)
private
l
ong
id
;
private
L
ong
id
;
@Column
(
name
=
"nombre"
)
@NotBlank
(
message
=
"Este campo no puede estar vacio"
)
private
String
nombre
;
public
l
ong
getId
()
{
public
L
ong
getId
()
{
return
id
;
}
public
void
setId
(
l
ong
id
)
{
public
void
setId
(
L
ong
id
)
{
this
.
id
=
id
;
}
public
String
getNombre
()
{
...
...
curriculumsearch/src/main/java/com/roshka/repositorio/CargoRepository.java
View file @
3b3ca2b2
...
...
@@ -8,4 +8,5 @@ import org.springframework.data.jpa.repository.JpaRepository;
public
interface
CargoRepository
extends
JpaRepository
<
Cargo
,
Long
>{
public
List
<
Cargo
>
findByNombreContainingIgnoreCase
(
String
nombre
);
public
boolean
existsByNombreIgnoreCase
(
String
nombre
);
}
curriculumsearch/src/main/java/com/roshka/repositorio/TecnologiaRepository.java
View file @
3b3ca2b2
...
...
@@ -9,4 +9,6 @@ import com.roshka.modelo.Tecnologia;
public
interface
TecnologiaRepository
extends
JpaRepository
<
Tecnologia
,
Long
>
{
public
List
<
Tecnologia
>
findByNombreContainingIgnoreCase
(
String
nombre
);
public
boolean
existsByNombreIgnoreCase
(
String
nombre
);
}
curriculumsearch/src/main/resources/application.properties
View file @
3b3ca2b2
spring.jpa.hibernate.ddl-auto
=
create-drop
spring.jpa.database-platform
=
org.hibernate.dialect.PostgreSQLDialect
#
spring.jpa.show-sql=true
spring.jpa.show-sql
=
true
spring.jpa.properties.hibernate.format_sql
=
true
#
logging.level.org.hibernate.SQL=DEBUG
#
logging.level.org.hibernate.type.descriptor.sql.BasicBinder=TRACE
logging.level.org.hibernate.SQL
=
DEBUG
logging.level.org.hibernate.type.descriptor.sql.BasicBinder
=
TRACE
spring.sql.init.mode
=
always
spring.sql.init.platform
=
postgres
...
...
@@ -24,3 +24,5 @@ spring.mail.port=587
spring.mail.properties.mail.smtp.auth
=
true
spring.mail.properties.mail.smtp.starttls.enable
=
true
jsp-inheritance-prefix
=
/jsp/layouts/
jsp-inheritance-suffix
=
.jsp
curriculumsearch/src/main/webapp/jsp/cargo-form.jsp
View file @
3b3ca2b2
<
%@
taglib
prefix=
"c"
uri=
"http://java.sun.com/jsp/jstl/core"
%
>
<
%@
taglib
prefix=
"form"
uri=
"http://www.springframework.org/tags/form"
%
>
<
%@
page
contentType=
"text/html;charset=UTF-8"
language=
"java"
%
>
<!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>
Cargo
</title>
<link
href=
"../css/cargoStyle.css"
rel=
"stylesheet"
type=
"text/css"
/>
<link
href=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css"
rel=
"stylesheet"
integrity=
"sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3"
crossorigin=
"anonymous"
/>
<script
src=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"
integrity=
"sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p"
crossorigin=
"anonymous"
></script>
</head>
<body>
<jsp:include
page=
"header.jsp"
/>
<jsp:include
page=
"alerts.jsp"
/>
<div
class=
"container-xxl my-md-4 bd-layout"
>
<h2>
Agregar Cargo
</h2>
<div
class=
"p-3 mb-2"
>
<form:form
action=
"/cargo/${cargo.id == null ? '' : cargo.id}"
method=
"post"
modelAttribute=
"cargo"
class=
"row row-cols-lg-auto g-3 align-items-center"
>
<div
class=
"col-12"
>
<form:label
class=
"form-label visually-hidden"
path=
"nombre"
>
Nombre del cargo
</form:label>
<form:input
type=
"text"
path=
"nombre"
class=
"form-control"
placeholder=
"Nombre del cargo"
required=
"true"
/>
</div>
<div
class=
"col-12"
>
<input
type=
"submit"
value=
"Guardar"
class=
"btn btn-primary"
/>
</div>
</form:form>
</div>
</div>
</body>
</html>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://kwonnam.pe.kr/jsp/template-inheritance" prefix="layout"%>
<layout:extends name="layouts/base.jsp">
<layout:put block="cssDeclaracion" type="APPEND"><link href="../css/cargoStyle.css" rel="stylesheet" type="text/css"/></layout:put>
<layout:put block="contents" type="REPLACE">
<div class="card d-flex flex-column justify-content-center align-items-center mx-auto mt-2 p-3" style="width: 20rem;">
<h5 class="card-title">${cargo.id == null ? "Agregar" : "Modificar"} Cargo</h5>
<form:form
action="/cargo/${cargo.id == null ? '' : cargo.id}"
method="post"
modelAttribute="cargo"
class="card-body d-flex flex-column"
>
<div class="">
<form:label class="form-label visually-hidden" path="nombre"
>Nombre del cargo
</form:label>
<form:input
type="text"
path="nombre"
class="form-control ${ mismoNombre ? 'is-invalid' : ''}"
placeholder="Nombre del cargo" required="true"
/>
<div id="validationServerUsernameFeedback" class="invalid-feedback">
Este nombre ya existe
</div>
</div>
<div class="mt-2 align-self-end">
<input type="submit" value="Guardar" class="btn btn-primary" />
</div>
</form:form>
</div>
</layout:put>
<layout:put block="scripts" type="APPEND">
</layout:put>
</layout:extends>
curriculumsearch/src/main/webapp/jsp/cargos.jsp
View file @
3b3ca2b2
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> <%@ taglib
prefix="form" uri="http://www.springframework.org/tags/form" %> <%@ page
contentType="text/html;charset=UTF-8" language="java" %>
<!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>
Cargo
</title>
<link
href=
"../css/cargoStyle.css"
rel=
"stylesheet"
type=
"text/css"
/>
<link
href=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css"
rel=
"stylesheet"
integrity=
"sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3"
crossorigin=
"anonymous"
/>
<script
src=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"
integrity=
"sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p"
crossorigin=
"anonymous"
></script>
</head>
<body>
<jsp:include
page=
"header.jsp"
/>
<jsp:include
page=
"alerts.jsp"
/>
<div
class=
"container-xxl my-md-4 bd-layout"
>
<h2>
Lista de cargos
</h2>
<div>
<form>
<label
for=
"cargos"
>
Nombre:
</label>
<input
type=
"text"
name=
"nombre"
id=
"nombre"
value=
"${param.nombre}"
/>
<input
type=
"submit"
value=
"Buscar"
/>
</form>
<a
href=
"/cargo"
>
Agregar Nuevo Cargo
</a>
</div>
<div>
<table
class=
"table"
>
<thead>
<tr>
<th
scope=
"col"
>
#
</th>
<th
scope=
"col"
>
Cargo
</th>
</tr>
</thead>
<tbody>
<c:forEach
items=
"${cargos}"
var=
"cargo"
varStatus=
"sta"
>
<tr>
<th
scope=
"row"
>
${sta.index+1}
</th>
<td>
${cargo.getNombre()}
</td>
<td>
<a
href=
"/convocatorias?cargoId=${cargo.id}"
>
Ver Convocatorias
</a
>
</td>
<td><a
href=
"/cargo/${cargo.id}"
>
Editar cargo
</a></td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</div>
</body>
</html>
<%@ taglib uri="http://kwonnam.pe.kr/jsp/template-inheritance" prefix="layout"%>
<layout:extends name="layouts/base.jsp">
<layout:put block="cssDeclaracion" type="APPEND"><link href="../css/cargoStyle.css" rel="stylesheet" type="text/css"/></layout:put>
<layout:put block="contents" type="REPLACE">
<div class="container-xxl my-md-4 bd-layout">
<h2>Lista de cargos</h2>
<div>
<form>
<label for="cargos">Nombre:</label>
<input
type="text"
name="nombre"
id="nombre"
value="${param.nombre}"
/>
<input type="submit" value="Buscar" />
</form>
<a href="/cargo">Agregar Nuevo Cargo</a>
</div>
<div>
<table class="table">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">Cargo</th>
</tr>
</thead>
<tbody>
<c:forEach items="${cargos}" var="cargo" varStatus="sta">
<tr>
<th scope="row">${sta.index+1}</th>
<td>${cargo.getNombre()}</td>
<td>
<a href="/convocatorias?cargoId=${cargo.id}"
>Ver Convocatorias</a
>
</td>
<td><a href="/cargo/${cargo.id}">Editar cargo</a></td>
</tr>
</c:forEach>
</tbody>
</table>
</div>
</div>
</layout:put>
<layout:put block="scripts" type="APPEND">
</layout:put>
</layout:extends>
curriculumsearch/src/main/webapp/jsp/convocatoria-form.jsp
View file @
3b3ca2b2
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!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>
Convocatoria
</title>
<link
href=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css"
rel=
"stylesheet"
integrity=
"sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3"
crossorigin=
"anonymous"
>
<link
href=
"../css/cargoStyle.css"
rel=
"stylesheet"
type=
"text/css"
/>
<script
src=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"
integrity=
"sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p"
crossorigin=
"anonymous"
></script>
</head>
<body>
<jsp:include
page=
"header.jsp"
/>
<jsp:include
page=
"alerts.jsp"
/>
<div
class=
"container-xxl my-md-4 bd-layout"
>
<h2>
Agregar Convocatoria
</h2>
<div
class=
"p-3 mb-2 "
style=
"background-color: transparent;"
>
<form:form
action=
"/convocatoria/${convocatoria.id == null ? '' : convocatoria.id}"
method=
"post"
modelAttribute=
"convocatoria"
>
<div
class=
"mb-3 col-3"
>
<form:label
path=
"fechaInicioS"
class=
"form-label"
>
Fecha inicial
</form:label>
<form:input
type=
"date"
class=
"form-control"
path=
"fechaInicioS"
required=
"true"
/>
</div>
<div
class=
"mb-3 col-3"
>
<form:label
path=
"fechaFinS"
class=
"form-label"
>
Fecha Fin
</form:label>
<form:input
type=
"date"
class=
"form-control"
path=
"fechaFinS"
required=
"true"
/>
</div>
<div
class=
"mb-3 col-3"
>
<form:label
path=
"cupos"
class=
"form-label"
>
Cupos:
</form:label>
<form:input
type=
"number"
class=
"form-control"
path=
"cupos"
required=
"true"
/>
</div>
<div
class=
"mb-3 col-3"
>
<form:label
path=
"cargoId"
class=
"form-label"
>
Cargo
</form:label>
<form:select
class=
"form-select"
path=
"cargoId"
required=
"true"
>
<c:forEach
items=
"${cargos}"
var=
"cargo"
>
<form:option
value=
"${cargo.id}"
>
${cargo.nombre}
</form:option>
</c:forEach>
</form:select>
</div>
<button
type=
"submit"
class=
"btn btn-primary"
>
Guardar
</button>
</form:form>
</div>
</div>
</body>
</html>
\ No newline at end of file
<%@ taglib uri="http://kwonnam.pe.kr/jsp/template-inheritance" prefix="layout"%>
<layout:extends name="layouts/base.jsp">
<layout:put block="cssDeclaracion" type="APPEND"><link href="../css/cargoStyle.css" rel="stylesheet" type="text/css"/></layout:put>
<layout:put block="contents" type="REPLACE">
<h2>${convocatoria.id == null ? "Agregar" : "Modificar"} Convocatoria</h2>
<div class="p-3 mb-2 bg-light text-dark border border-light ">
<form:form action="/convocatoria/${convocatoria.id == null ? '' : convocatoria.id}" method="post" modelAttribute="convocatoria">
<div class="mb-3 col-3">
<form:label path="fechaInicioS" class="form-label">Fecha inicial</form:label>
<form:input type="date" class="form-control" path="fechaInicioS" required="true"/>
</div>
<div class="mb-3 col-3">
<form:label path="fechaFinS" class="form-label">Fecha Fin</form:label>
<form:input type="date" class="form-control" path="fechaFinS" required="true"/>
</div>
<div class="mb-3 col-3">
<form:label path="cupos" class="form-label">Cupos:</form:label>
<form:input type="number" class="form-control" path="cupos" required="true"/>
</div>
<div class="mb-3 col-3">
<form:label path="cargoId" class="form-label">Cargo</form:label>
<form:select class="form-select" path="cargoId" required="true">
<c:forEach items="${cargos}" var="cargo">
<form:option value="${cargo.id}">${cargo.nombre} </form:option>
</c:forEach>
</form:select>
</div>
<button type="submit" class="btn btn-primary">Guardar</button>
</form:form>
</div>
</layout:put>
<layout:put block="scripts" type="APPEND">
</layout:put>
</layout:extends>
curriculumsearch/src/main/webapp/jsp/convocatorias.jsp
View file @
3b3ca2b2
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!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>
Cargo
</title>
<link
href=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css"
rel=
"stylesheet"
integrity=
"sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3"
crossorigin=
"anonymous"
>
<link
href=
"../css/cargoStyle.css"
rel=
"stylesheet"
type=
"text/css"
/>
<script
src=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"
integrity=
"sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p"
crossorigin=
"anonymous"
></script>
</head>
<body
>
<jsp:include
page=
"header.jsp"
/>
<jsp:include
page=
"alerts.jsp"
/>
<div
class=
"container-xxl my-md-4 bd-layout"
>
<%@ taglib uri="http://kwonnam.pe.kr/jsp/template-inheritance" prefix="layout"%>
<layout:extends name="layouts/base.jsp">
<layout:put block="cssDeclaracion" type="APPEND"><link href="../css/cargoStyle.css" rel="stylesheet" type="text/css"/></layout:put>
<layout:put block="contents" type="REPLACE">
<h2>Lista de convocatorias</h2>
<div>
<form>
...
...
@@ -68,7 +57,8 @@
</table>
</div>
</div>
</body>
</html>
\ No newline at end of file
</layout:put>
<layout:put block="scripts" type="APPEND">
</layout:put>
</layout:extends>
curriculumsearch/src/main/webapp/jsp/detallepostulante.jsp
View file @
3b3ca2b2
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ taglib uri="http://kwonnam.pe.kr/jsp/template-inheritance" prefix="layout"%>
<layout:extends name="layouts/base.jsp">
<layout:put block="contents" type="REPLACE">
<h2 style="text-align: center;">
DETALLE POSTULANTE
</h2>
<div class="row gy-3">
<div class="col-md-6">
<div class="card mb-3">
<div class="card-body">
<div class="row">
<div class="col-sm-3">
<h6 class="mb-0">Nombre</h6>
</div>
<div class="col-sm-9 text-secondary">
${postulante.nombre} ${postulante.apellido}
</div>
</div>
<hr>
<div class="row">
<div class="col-sm-3">
<h6 class="mb-0">Email</h6>
</div>
<div class="col-sm-9 text-secondary">
${postulante.correo}
</div>
</div>
<hr>
<div class="row">
<div class="col-sm-3">
<h6 class="mb-0">Vive en</h6>
</div>
<div class="col-sm-9 text-secondary">
${postulante.getCiudad().getNombre()}, ${postulante.getCiudad().getDepartamento().getNombre()}
</div>
</div>
<hr>
<div class="row">
<div class="col-sm-3">
<h6 class="mb-0">Nro de Documento</h6>
</div>
<div class="col-sm-9 text-secondary">
${postulante.tipoDocumento}: ${postulante.nroDocument}
</div>
</div>
<hr>
<div class="row">
<div class="col-sm-3">
<h6 class="mb-0">Telefono</h6>
</div>
<div class="col-sm-9 text-secondary">
${postulante.telefono}
</div>
</div>
<hr>
<div class="row">
<div class="col-sm-3">
<h6 class="mb-0">Fecha de nacimiento</h6>
</div>
<div class="col-sm-9 text-secondary">
${postulante.fechaNacimiento}
</div>
</div>
<hr>
<div class="row">
<div class="col-sm-3">
<h6 class="mb-0">Resumen</h6>
</div>
<div class="col-sm-9 text-secondary">
${postulante.resumen}
</div>
</div>
<hr>
<div class="row">
<div class="col-sm-3">
<h6 class="mb-0">Nivel de Ingles</h6>
</div>
<div class="col-sm-9 text-secondary">
${postulante.nivelIngles}
</div>
</div>
<hr>
<div class="row">
<div class="col-sm-3">
<h6 class="mb-0">Estado Civil</h6>
</div>
<div class="col-sm-9 text-secondary">
${postulante.estadoCivil.getDescripcion()}
</div>
</div>
<hr>
<div class="row">
<div class="col-sm-3">
<h6 class="mb-0">Nacionalidad</h6>
</div>
<div class="col-sm-9 text-secondary">
${postulante.nacionalidad.getDescripcion()}
</div>
</div>
<hr>
<div class="row">
<div class="col-sm-3">
<h6 class="mb-0">Disponbilidad</h6>
</div>
<div class="col-sm-9 text-secondary">
${postulante.disponibilidad.getDescripcion()}
</div>
</div>
<hr>
<div class="row">
<div class="col">
<a class="btn btn-link " href="#">Editar</a>
</div>
<div class="col">
<a class="btn btn-link " href="#">Descargar CV</a>
</div>
</div>
</div>
</div>
<!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>
Tecnologia
</title>
<link
href=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css"
rel=
"stylesheet"
integrity=
"sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3"
crossorigin=
"anonymous"
>
<script
src=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"
integrity=
"sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p"
crossorigin=
"anonymous"
></script>
</head>
<body>
<jsp:include
page=
"header.jsp"
/>
<jsp:include
page=
"alerts.jsp"
/>
<div
class=
"container-xxl my-md-4 bd-layout"
>
<h2
style=
"text-align: center;"
>
DETALLE POSTULANTE
</h2>
<div
style=
"padding: 10px;margin: 3px;border: 1px solid black;"
>
<br><b><i><label>
INFORMACION GENERAL
</label></i></b><br>
<label>
Id: ${postulante.id}
</label><br>
<label>
Nombre: ${postulante.nombre}
</label><br>
<label>
Apellido ${postulante.apellido}
</label><br>
<label>
${postulante.tipoDocumento}: ${postulante.nroDocument}
</label><br>
<label>
Correo: ${postulante.correo}
</label><br>
<label>
Departamento: ${postulante.getCiudad().getDepartamento().getNombre()}
</label><br>
<label>
Ciudad: ${postulante.getCiudad().getNombre()}
</label><br>
<label>
Telefono: ${postulante.telefono}
</label><br><label>
<label>
Fecha de nacimiento: ${postulante.fechaNacimiento}
</label><br>
<label>
Resumen: ${postulante.resumen}
</label><br>
<label>
Nivel de ingles: ${postulante.nivelIngles}
</label><br>
<label>
Curriculum: ${postulante.curriculum}
</label><br>
<label>
Estado civil: ${postulante.estadoCivil}
</label><br>
<label>
Nacionalidad: ${postulante.nacionalidad}
</label><br>
<label>
Disponibilidad: ${postulante.disponibilidad}
</label><br>
<label>
Estado del Postulante: ${postulante.estadoPostulante.getEstado()}
</label><br>
<label>
Comentario RRHH: ${postulante.getComentarioRRHH()}
</label><br>
<br><b><i><label>
TECNOLOGIAS
</label></b></i><br>
<c:forEach
items=
"${postulante.tecnologias}"
var=
"detalle_tecnologia"
>
<label>
Tecnologias: ${detalle_tecnologia.getTecnologia().getNombre()} -
</label>
<label>
Nivel de Tecnologia: ${detalle_tecnologia.getNivel()}
</label><br>
</c:forEach>
<br><b><i><label>
EXPERIENCIAS
</label></b></i><br>
<c:forEach
items=
"${postulante.experiencias}"
var=
"detalle_experiencia"
>
<label>
Institucion: ${detalle_experiencia.getInstitucion()}
</label><br>
<label>
Fecha Inicio: ${detalle_experiencia.getFechaDesde()}
</label><br>
<label>
Fecha Fin: ${detalle_experiencia.getFechaHasta()}
</label><br>
<label>
Referencia: ${detalle_experiencia.getNombreReferencia()}
</label><br>
<label>
Telefono de la referencia: ${detalle_experiencia.getTelefonoReferencia()}
</label><br>
<label>
Cargo: ${detalle_experiencia.getCargo()}
</label><br>
<label>
Motivo de salida: ${detalle_experiencia.getMotivoSalida()}
</label><br>
</c:forEach>
<br><b><i><label>
ESTUDIOS
</label></b></i><br>
</div>
<div class="col-md-6">
<div class="row gy-3">
<div class="col-md-6">
<div class="card h-100">
<div class="card-body">
<h6 class="d-flex align-items-center mb-3"><i class="material-icons text-info mr-2">Tecnologias</i></h6>
<c:forEach items="${postulante.tecnologias}" var="detalle_tecnologia">
<small>${detalle_tecnologia.getTecnologia().getNombre()}</small>
<div class="progress mb-3" style="height: 5px">
<div class="progress-bar bg-primary" role="progressbar" style="width: ${(detalle_tecnologia.getNivel() / 5) * 100}%" aria-valuenow="${detalle_tecnologia.getNivel()}" aria-valuemin="1" aria-valuemax="5"></div>
</div>
</c:forEach>
<hr>
<h6 class="d-flex align-items-center mb-3"><i class="material-icons text-info mr-2">Cargos al que postula</i></h6>
<ul class="list-group list-group-flush">
<c:forEach items="${postulante.postulaciones}" var="convocatoria">
<c:forEach
items=
"${postulante.estudios}"
var=
"detalle_estudios"
>
<label>
Institucion: ${detalle_estudios.getInstitucion().getNombre()}
</label><br>
<label>
SubNombre: ${detalle_estudios.getInstitucion().getSubNombre()}
</label><br>
<label>
Tipo de estudio: ${detalle_estudios.getTipoDeEstudio()}
</label><br>
<label>
Tema de estudio: ${detalle_estudios.getTemaDeEstudio()}
</label><br>
<label>
Fecha Inicio: ${detalle_estudios.getFechaDesde()}
</label><br>
<label>
Fecha Fin: ${detalle_estudios.getFechaHasta()}
</label><br>
<label>
Estado: ${detalle_estudios.getEstado()}
</label><br>
</c:forEach>
<li class="list-group-item d-flex justify-content-between align-items-center flex-wrap">
<h6 class="mb-0">${convocatoria.getCargo().getNombre()}</h6>
<span class="text-secondary"></span>
</li>
</c:forEach>
</ul>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card">
<div class="card-body">
<div id="carouselExampleIndicators" class="carousel carousel-dark slide" data-bs-ride="carousel">
<div class="carousel-inner">
<h6 class="d-flex align-items-center mb-3"><i class="material-icons text-info mr-2">Experiencias</i></h6>
<c:forEach items="${postulante.experiencias}" var="detalle_experiencia" varStatus="status">
<div class="carousel-item ${status.first ? 'active' : ''}" data-bs-interval="false">
<br><b><i><label>
REFERENCIA PERSONAL
</label></b></i><br>
<ul class="list-group list-group-flush ">
<li class="list-group-item d-flex justify-content-between align-items-center flex-wrap">
<h6 class="mb-0">Institucion</h6>
<span class="text-secondary">${detalle_experiencia.getInstitucion()}</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center flex-wrap">
<h6 class="mb-0">Fecha Inicio</h6>
<span class="text-secondary">${detalle_experiencia.getFechaDesde()}</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center flex-wrap">
<h6 class="mb-0">Fecha Fin</h6>
<span class="text-secondary">${detalle_experiencia.getFechaHasta()}</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center flex-wrap">
<h6 class="mb-0">Referencia</h6>
<span class="text-secondary">${detalle_experiencia.getNombreReferencia()}</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center flex-wrap">
<h6 class="mb-0">Telefono de la referencia</h6>
<span class="text-secondary">${detalle_experiencia.getTelefonoReferencia()}</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center flex-wrap">
<h6 class="mb-0">Cargo</h6>
<span class="text-secondary">${detalle_experiencia.getCargo()}</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center flex-wrap">
<h6 class="mb-0">Motivo de salida</h6>
<span class="text-secondary">${detalle_experiencia.getMotivoSalida()}</span>
</li>
</ul>
</div>
</c:forEach>
</div>
<button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="visually-hidden">Previous</span>
</button>
<button class="carousel-control-next" type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Next</span>
</button>
</div>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card">
<div class="card-body">
<div id="carouselExampleIndicators" class="carousel carousel-dark slide" data-bs-ride="carousel">
<div class="carousel-inner">
<h6 class="d-flex align-items-center mb-3"><i class="material-icons text-info mr-2">Estudios</i></h6>
<c:forEach items="${postulante.estudios}" var="detalle_estudios" varStatus="status">
<div class="carousel-item ${status.first ? 'active' : ''}" data-bs-interval="false">
<c:forEach
items=
"${postulante.referencias}"
var=
"detalle_referencias"
>
<label>
Nombre: ${detalle_referencias.getNombre()}
</label>
<label>
Relacion: ${detalle_referencias.getRelacion()}
</label><br>
<label>
Telefono: ${detalle_referencias.getTelefono()}
</label><br>
</c:forEach>
<br><b><i><label>
CARGOS AL CUAL POSTULA
</label></b></i><br>
<ul class="list-group list-group-flush ">
<li class="list-group-item d-flex justify-content-between align-items-center flex-wrap">
<h6 class="mb-0">Institucion</h6>
<span class="text-secondary">${detalle_estudios.getInstitucion().getNombre()}</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center flex-wrap">
<h6 class="mb-0">Fecha Inicio</h6>
<span class="text-secondary">${detalle_estudios.getFechaDesde()}</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center flex-wrap">
<h6 class="mb-0">Fecha Fin</h6>
<span class="text-secondary">${detalle_estudios.getFechaHasta()}</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center flex-wrap">
<h6 class="mb-0">Tipo de Estudio</h6>
<span class="text-secondary">${detalle_estudios.getTipoDeEstudio()}</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center flex-wrap">
<h6 class="mb-0">Tema de estudio</h6>
<span class="text-secondary">${detalle_estudios.getTemaDeEstudio()}</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center flex-wrap">
<h6 class="mb-0">Estado</h6>
<span class="text-secondary">${detalle_estudios.getEstado()}</span>
</li>
<li class="list-group-item d-flex justify-content-between align-items-center flex-wrap">
<h6 class="mb-0">SubNombre</h6>
<span class="text-secondary">${detalle_estudios.getInstitucion().getSubNombre()}</span>
</li>
</ul>
</div>
</c:forEach>
</div>
<button class="carousel-control-prev" type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide="prev">
<span class="carousel-control-prev-icon" aria-hidden="true"></span>
<span class="visually-hidden">Previous</span>
</button>
<button class="carousel-control-next" type="button" data-bs-target="#carouselExampleIndicators" data-bs-slide="next">
<span class="carousel-control-next-icon" aria-hidden="true"></span>
<span class="visually-hidden">Next</span>
</button>
</div>
</div>
</div>
</div>
<div class="col-md-6">
<div class="card">
<div class="card-body">
<h6 class="d-flex align-items-center mb-3"><i class="material-icons text-info mr-2">Referencias Personales</i></h6>
<ul class="list-group list-group-flush">
<c:forEach items="${postulante.referencias}" var="referencia">
<c:forEach
items=
"${postulante.postulaciones}"
var=
"convocatoria"
>
<label>
Nombre: ${convocatoria.getCargo().getNombre()}
</label><br>
</c:forEach>
<li class="list-group-item d-flex justify-content-between align-items-center flex-wrap">
<h6 class="mb-0">${referencia.nombre}, ${referencia.relacion}, ${referencia.telefono}</h6>
<span class="text-secondary"></span>
</li>
</c:forEach>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div style="padding:10px ;margin: 5px;border: 3px solid black;">
<b><i><h2>Cambiar Estado del Postulante y Comentario de RRHH</h2></b></i>
<form:form class="needs-validation" method="post" modelAttribute="postulante">
...
...
@@ -106,13 +322,7 @@
</div>
<input type="submit" value="submit"/>
</form:form>
</div>
</layout:put>
</layout:extends>
</div>
</div>
</body>
</html>
\ No newline at end of file
curriculumsearch/src/main/webapp/jsp/index.jsp
View file @
3b3ca2b2
...
...
@@ -8,7 +8,7 @@
<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"
>
<title>
Document
</title>
<title>
RRHH
</title>
<link
href=
"../css/indexStyle.css"
rel=
"stylesheet"
type=
"text/css"
/>
</head>
...
...
curriculumsearch/src/main/webapp/jsp/layouts/base.jsp
0 → 100644
View file @
3b3ca2b2
<
%@
taglib
prefix=
"c"
uri=
"http://java.sun.com/jsp/jstl/core"
%
>
<
%@
taglib
prefix=
"form"
uri=
"http://www.springframework.org/tags/form"
%
>
<
%@
taglib
uri=
"http://kwonnam.pe.kr/jsp/template-inheritance"
prefix=
"layout"
%
>
<
%@
page
contentType=
"text/html;charset=UTF-8"
language=
"java"
%
>
<!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"
>
<link
href=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css"
rel=
"stylesheet"
integrity=
"sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3"
crossorigin=
"anonymous"
>
<layout:block
name=
"cssDeclaracion"
></layout:block>
<title>
RRHH
</title>
</head>
<body>
<header>
<nav
class=
"navbar navbar-expand-lg navbar-light bg-light"
>
<div
class=
"container-fluid"
>
<a
class=
"navbar-brand"
href=
"#"
>
ROSHKA
</a>
<button
class=
"navbar-toggler"
type=
"button"
data-bs-toggle=
"collapse"
data-bs-target=
"#navbarNavDropdown"
aria-controls=
"navbarNavDropdown"
aria-expanded=
"false"
aria-label=
"Toggle navigation"
>
<span
class=
"navbar-toggler-icon"
></span>
</button>
<div
class=
"collapse navbar-collapse"
id=
"navbarNavDropdown"
>
<ul
class=
"navbar-nav"
>
<li
class=
"nav-item"
>
<a
class=
"nav-link active"
aria-current=
"page"
href=
"/home"
>
Home
</a>
</li>
<li
class=
"nav-item dropdown"
>
<a
class=
"nav-link dropdown-toggle"
href=
"#"
id=
"navbarDropdownMenuLink"
role=
"button"
data-bs-toggle=
"dropdown"
aria-expanded=
"false"
>
Cargos
</a>
<ul
class=
"dropdown-menu"
aria-labelledby=
"navbarDropdownMenuLink"
>
<li><a
class=
"dropdown-item"
href=
"/cargo"
>
Agregar Cargo
</a></li>
<li><a
class=
"dropdown-item"
href=
"/convocatoria"
>
Agregar Convocatoria
</a></li>
<li><a
class=
"dropdown-item"
href=
"/cargos"
>
Listar cargos
</a></li>
<li><a
class=
"dropdown-item"
href=
"/convocatorias"
>
Listar convocatorias
</a></li>
</ul>
</li>
<li
class=
"nav-item dropdown"
>
<a
class=
"nav-link dropdown-toggle"
href=
"#"
id=
"navbarDropdownMenuLink"
role=
"button"
data-bs-toggle=
"dropdown"
aria-expanded=
"false"
>
Tecnologias
</a>
<ul
class=
"dropdown-menu"
aria-labelledby=
"navbarDropdownMenuLink"
>
<li><a
class=
"dropdown-item"
href=
"/tecnologia"
>
Agregar
</a></li>
<li><a
class=
"dropdown-item"
href=
"/tecnologias"
>
Listar
</a></li>
</ul>
</li>
<li
class=
"nav-item dropdown"
>
<a
class=
"nav-link dropdown-toggle"
href=
"#"
id=
"navbarDropdownMenuLink"
role=
"button"
data-bs-toggle=
"dropdown"
aria-expanded=
"false"
>
Postulantes
</a>
<ul
class=
"dropdown-menu"
aria-labelledby=
"navbarDropdownMenuLink"
>
<li><a
class=
"dropdown-item"
href=
"/postulante"
>
Agregar
</a></li>
<li><a
class=
"dropdown-item"
href=
"/postulantes"
>
Listar
</a></li>
</ul>
</li>
<li
class=
"nav-item"
>
<a
class=
"nav-link"
href=
"/logout"
>
Salir
</a>
</li>
</ul>
</div>
</div>
</nav>
</header>
<div
class=
"container-xxl my-md-4 bd-layout"
>
<layout:block
name=
"contents"
>
</layout:block>
</div>
<layout:block
name=
"scripts"
>
</layout:block>
<script
src=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"
integrity=
"sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p"
crossorigin=
"anonymous"
></script>
</body>
</html>
\ No newline at end of file
curriculumsearch/src/main/webapp/jsp/postulante-form.jsp
View file @
3b3ca2b2
...
...
@@ -146,7 +146,7 @@
</select>
</div>
<div
>
<div
class=
" inputs d-flex justify-content-between align-items-center experience"
><span
class=
"border px-3 p-1 add-experience"
data-toggle=
"modal"
data-target=
"#cargoForm"
><i
class=
"fa fa-plus"
></i>
Cargo al que postulas
</span></div><br>
<div
style=
"color:blue"
class=
" inputs d-flex justify-content-between align-items-center experience"
><span
class=
"border px-3 p-1 add-experience"
data-toggle=
"modal"
data-target=
"#cargoForm"
><i
class=
"fa fa-plus"
></i>
Cargo al que postulas
</span></div><br>
</div>
<div
class=
"mt-3 gap-2 d-flex justify-content-between"
id=
"cargos"
>
...
...
curriculumsearch/src/main/webapp/jsp/postulantes.jsp
View file @
3b3ca2b2
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!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"
>
<link
href=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css"
rel=
"stylesheet"
integrity=
"sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3"
crossorigin=
"anonymous"
>
<link
href=
"../css/cargoStyle.css"
rel=
"stylesheet"
type=
"text/css"
/>
<script
src=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"
integrity=
"sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p"
crossorigin=
"anonymous"
></script>
<title>
Lista de postulantes
</title>
</head>
<body>
<jsp:include
page=
"header.jsp"
/>
<jsp:include
page=
"alerts.jsp"
/>
<div
class=
"container-xxl my-md-4 bd-layout"
>
<h2>
Lista de Postulantes
</h2>
<div
id=
"buscador"
>
<form
name=
"buscador"
>
<label
for=
"nombre"
>
Nombre
</label>
<input
type=
"text"
name=
"nombre"
id=
"nombre"
value=
"${param.nombre}"
>
<button>
Buscar
</button>
<br>
<label
for=
"estado"
>
Estado
</label>
<select
name=
"estado"
id=
"estado"
>
<option
value=
""
>
Seleccione una opcion
</option>
<c:forEach
items=
"${estadoP}"
var=
"estados"
>
<option
value=
"${estados}"
${
param
.
estado =
=
estados
?
"
selected
"
:
""}
>
${estados.getEstado()}
</option>
<%@ taglib uri="http://kwonnam.pe.kr/jsp/template-inheritance" prefix="layout"%>
<layout:extends name="layouts/base.jsp">
<layout:put block="cssDeclaracion" type="APPEND"><link href="../css/cargoStyle.css" rel="stylesheet" type="text/css"/></layout:put>
<layout:put block="contents" type="REPLACE">
<h2>Lista de Postulantes</h2>
<div id="buscador">
<form name="buscador">
<label for="nombre">Nombre</label>
<input type="text" name="nombre" id="nombre" value="${param.nombre}">
<button>Buscar</button>
<br>
<label for="estado">Estado</label>
<select name="estado" id="estado">
<option value="">Seleccione una opcion</option>
<c:forEach items="${estadoP}" var="estados">
<option value="${estados}" ${param.estado == estados ? "selected" : ""}>${estados.getEstado()}</option>
</c:forEach>
</select>
<label for="dispo">Disponbilidad</label>
<select name="dispo" id="dispo">
<option value="">Seleccione una opcion</option>
<c:forEach items="${disponibilidades}" var="disponibilidad">
<option value="${disponibilidad}" ${param.dispo == disponibilidad ? "selected" : ""}>${disponibilidad.getDescripcion()}</option>
</c:forEach>
</select>
<label for="tecId">Tecnologias</label>
<select name="tecId" id="tecId">
<option value="">Seleccione una opcion</option>
<c:forEach items="${tecnologias}" var="tecnologia">
<option value="${tecnologia.id}" ${param.tecId == tecnologia.id ? "selected" : ""}>${tecnologia.nombre}</option>
</c:forEach>
</select>
<label for="instId">Institucion Educativa</label>
<select name="instId" id="instId">
<option value="">Seleccione una opcion</option>
<c:forEach items="${institucionesEducativas}" var="inst">
<option value="${inst.id}" ${param.instId == inst.id ? "selected" : ""}>${inst.nombre}</option>
</c:forEach>
</select>
<br>
<br>
<label for="lvlEng">Nivel de Ingles</label>
<select name="lvlEng" id="lvlEng">
<option value="">Seleccione una opcion</option>
<c:forEach var = "lvl" begin = "1" end = "5">
<option value="${lvl}" ${param.lvlEng == lvl ? "selected" : ""}>${lvl}</option>
</c:forEach>
</select>
<label for="lvlTec">Nivel de Tecnologia</label>
<select name="lvlTec" id="lvlTec">
<option value="">Seleccione una opcion</option>
<c:forEach var = "lvl" begin = "1" end = "5">
<option value="${lvl}" ${param.lvlTec == lvl ? "selected" : ""}>${lvl}</option>
</c:forEach>
</select>
<label for="expInMonths">Experiencia en general</label>
<select name="expInMonths" id="expInMonths">
<option value="">Seleccione una opcion</option>
<option value="6">Mayor a 6 meses</option>
<option value="12">Mayor a 1 año</option>
<option value="36">Mayor a 3 años</option>
<option value="60">Mayor a 5 años</option>
</select>
<label for="convId">convocatoria</label>
<select name="convId" id="convId">
<option value="">Seleccione una opcion</option>
<c:forEach items="${convocatoriaC}" var="convo">
<option value="${convo.id}" ${param.convId == convo.id ? "selected" : ""}>${convo.getCargo().getNombre()}</option>
</c:forEach>
</select>
</form>
</div>
<table class="table">
<thead>
<tr>
<th scope="col">#</th>
<th scope="col">Nombre</th>
<th scope="col">Disponibilidad</th>
<th scope="col">Nivel de Ingles</th>
<th scope="col">Experiencia</th>
<th scope="col">Tecnologias</th>
<th scope="col">Estado</th>
</tr>
</thead>
<tbody>
<c:forEach items="${postulantes}" var="postulante" varStatus="staPost">
<tr>
<th scope="row">${staPost.index + 1}</th>
<td>${postulante.nombre} ${postulante.apellido}</td>
<td>${postulante.disponibilidad.getDescripcion()}</td>
<td>${postulante.nivelIngles}</td>
<td>${postulante.experienciaMeses}<op></td>
<td>
<c:forEach items="${postulante.tecnologias}" var="detalle_tecnologia" varStatus="staTec">
${detalle_tecnologia.getTecnologia().getNombre()}${not staTec.last ? "," : ""}
</c:forEach>
</td>
<td>${postulante.estado.getEstado()}</td>
<td><a href="/postulante/${postulante.id}">Ver</a></td>
</tr>
</c:forEach>
</tbody>
</table>
<div>
<nav aria-label="Page navigation example">
<ul class="pagination">
<c:forEach begin="1" end="${pages}" var="nro">
<li class="page-item ${(param.nroPagina == null and nro == 1) or param.nroPagina == nro-1 ? 'active' : ''}"><a class="page-link" href="javascript:buscarPagina(${nro})">${nro}</a></li>
</c:forEach>
</select>
<label
for=
"dispo"
>
Disponbilidad
</label>
<select
name=
"dispo"
id=
"dispo"
>
<option
value=
""
>
Seleccione una opcion
</option>
<c:forEach
items=
"${disponibilidades}"
var=
"disponibilidad"
>
<option
value=
"${disponibilidad}"
${
param
.
dispo =
=
disponibilidad
?
"
selected
"
:
""}
>
${disponibilidad.getDescripcion()}
</option>
</c:forEach>
</select>
<label
for=
"tecId"
>
Tecnologias
</label>
<select
name=
"tecId"
id=
"tecId"
>
<option
value=
""
>
Seleccione una opcion
</option>
<c:forEach
items=
"${tecnologias}"
var=
"tecnologia"
>
<option
value=
"${tecnologia.id}"
${
param
.
tecId =
=
tecnologia
.
id
?
"
selected
"
:
""}
>
${tecnologia.nombre}
</option>
</c:forEach>
</select>
<label
for=
"instId"
>
Institucion Educativa
</label>
<select
name=
"instId"
id=
"instId"
>
<option
value=
""
>
Seleccione una opcion
</option>
<c:forEach
items=
"${institucionesEducativas}"
var=
"inst"
>
<option
value=
"${inst.id}"
${
param
.
instId =
=
inst
.
id
?
"
selected
"
:
""}
>
${inst.nombre}
</option>
</c:forEach>
</select>
<br>
<br>
<label
for=
"lvlEng"
>
Nivel de Ingles
</label>
<select
name=
"lvlEng"
id=
"lvlEng"
>
<option
value=
""
>
Seleccione una opcion
</option>
<c:forEach
var =
"lvl"
begin =
"1"
end =
"5"
>
<option
value=
"${lvl}"
${
param
.
lvlEng =
=
lvl
?
"
selected
"
:
""}
>
${lvl}
</option>
</c:forEach>
</select>
<label
for=
"lvlTec"
>
Nivel de Tecnologia
</label>
<select
name=
"lvlTec"
id=
"lvlTec"
>
<option
value=
""
>
Seleccione una opcion
</option>
<c:forEach
var =
"lvl"
begin =
"1"
end =
"5"
>
<option
value=
"${lvl}"
${
param
.
lvlTec =
=
lvl
?
"
selected
"
:
""}
>
${lvl}
</option>
</c:forEach>
</select>
<label
for=
"expInMonths"
>
Experiencia en general
</label>
<select
name=
"expInMonths"
id=
"expInMonths"
>
<option
value=
""
>
Seleccione una opcion
</option>
<option
value=
"6"
>
Mayor a 6 meses
</option>
<option
value=
"12"
>
Mayor a 1 año
</option>
<option
value=
"36"
>
Mayor a 3 años
</option>
<option
value=
"60"
>
Mayor a 5 años
</option>
</select>
<label
for=
"convId"
>
convocatoria
</label>
<select
name=
"convId"
id=
"convId"
>
<option
value=
""
>
Seleccione una opcion
</option>
<c:forEach
items=
"${convocatoriaC}"
var=
"convo"
>
<option
value=
"${convo.id}"
${
param
.
convId =
=
convo
.
id
?
"
selected
"
:
""}
>
${convo.getCargo().getNombre()}
</option>
</c:forEach>
</select>
</ul>
</nav>
</div>
</layout:put>
<layout:put block="scripts" type="APPEND">
<script>
function habilitarLvlTec(){
//si se selecciono una tecnologia entonces permitir seleccionar un nivel
lvlTec.disabled = tecId.value == false
if(lvlTec.disabled){
lvlTec.firstElementChild.selected=true;
}
</form>
</div>
<table
class=
"table"
>
<thead>
<tr>
<th
scope=
"col"
>
#
</th>
<th
scope=
"col"
>
Nombre
</th>
<th
scope=
"col"
>
Disponibilidad
</th>
<th
scope=
"col"
>
Nivel de Ingles
</th>
<th
scope=
"col"
>
Experiencia
</th>
<th
scope=
"col"
>
Tecnologias
</th>
<th
scope=
"col"
>
Estado
</th>
</tr>
</thead>
<tbody>
<c:forEach
items=
"${postulantes}"
var=
"postulante"
varStatus=
"staPost"
>
<tr>
<th
scope=
"row"
>
${staPost.index + 1}
</th>
<td>
${postulante.nombre} ${postulante.apellido}
</td>
<td>
${postulante.disponibilidad.getDescripcion()}
</td>
<td>
${postulante.nivelIngles}
</td>
<td>
${postulante.experienciaMeses}
<op></td>
<td>
<c:forEach
items=
"${postulante.tecnologias}"
var=
"detalle_tecnologia"
varStatus=
"staTec"
>
${detalle_tecnologia.getTecnologia().getNombre()}${not staTec.last ? "," : ""}
</c:forEach>
</td>
<td>
${postulante.estado.getEstado()}
</td>
<td><a
href=
"/postulante/${postulante.id}"
>
Ver
</a></td>
</tr>
</c:forEach>
</tbody>
</table>
<div>
<nav
aria-label=
"Page navigation example"
>
<ul
class=
"pagination"
>
<c:forEach
begin=
"1"
end=
"${pages}"
var=
"nro"
>
<li
class=
"page-item ${(param.nroPagina == null and nro == 1) or param.nroPagina == nro-1 ? 'active' : ''}"
><a
class=
"page-link"
href=
"javascript:buscarPagina(${nro})"
>
${nro}
</a></li>
</c:forEach>
</ul>
</nav>
</div>
</div>
<script>
function
habilitarLvlTec
(){
//si se selecciono una tecnologia entonces permitir seleccionar un nivel
lvlTec
.
disabled
=
tecId
.
value
==
false
if
(
lvlTec
.
disabled
){
lvlTec
.
firstElementChild
.
selected
=
true
;
}
}
function
buscarPagina
(
nro
){
nro
--
const
aBuscar
=
'nroPagina='
+
nro
if
(
!
location
.
search
)
location
.
search
=
"?"
+
aBuscar
const
inicial
=
location
.
search
.
search
(
aBuscar
);
if
(
inicial
==-
1
){
//si no se encuentra y hay otros queries
location
.
search
=
"&"
+
aBuscar
}
location
.
search
.
replace
(
'nroPagina='
,
aBuscar
)
}
const
tecId
=
document
.
querySelector
(
"#tecId"
);
const
lvlTec
=
document
.
querySelector
(
"#lvlTec"
);
tecId
.
addEventListener
(
'change'
,
habilitarLvlTec
);
habilitarLvlTec
()
</script>
</body>
</html>
\ No newline at end of file
}
function buscarPagina(nro){
nro--
const aBuscar = 'nroPagina='+nro
if(!location.search) location.search = "?"+aBuscar
const inicial = location.search.search(aBuscar);
if(inicial==-1){//si no se encuentra y hay otros queries
location.search = "&"+aBuscar
}
location.search.replace('nroPagina=',aBuscar)
}
const tecId = document.querySelector("#tecId");
const lvlTec = document.querySelector("#lvlTec");
tecId.addEventListener('change',habilitarLvlTec);
habilitarLvlTec()
</script>
</layout:put>
</layout:extends>
curriculumsearch/src/main/webapp/jsp/tecnologia-form.jsp
View file @
3b3ca2b2
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!DOCTYPE html>
<html>
<head>
<meta
charset=
"utf-8"
>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1"
>
<!-- Bootstrap CSS -->
<link
href=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css"
rel=
"stylesheet"
integrity=
"sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3"
crossorigin=
"anonymous"
>
<script
src=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"
integrity=
"sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p"
crossorigin=
"anonymous"
></script>
<title>
Agregar Tecnologia
</title>
<link
href=
"../css/cargoStyle.css"
rel=
"stylesheet"
type=
"text/css"
/>
</head>
<body>
<jsp:include
page=
"header.jsp"
/>
<jsp:include
page=
"alerts.jsp"
/>
<div
class=
"container-xxl my-md-4 bd-layout"
>
<h2>
Agregar Tecnologia
</h2>
<div
class=
"p-3 mb-2 "
>
<%@ taglib uri="http://kwonnam.pe.kr/jsp/template-inheritance" prefix="layout"%>
<layout:extends name="layouts/base.jsp">
<layout:put block="cssDeclaracion" type="APPEND"><link href="../css/cargoStyle.css" rel="stylesheet" type="text/css"/></layout:put>
<layout:put block="cssDeclaracion" type="APPEND"><link href="../css/cargoStyle.css" rel="stylesheet" type="text/css"/></layout:put>
<layout:put block="contents" type="REPLACE">
<h2>${tecnologia.id == null ? "Agregar" : "Modificar"} Tecnologia</h2>
<div class="p-3 mb-2 bg-light text-dark border border-light">
<form:form action="/tecnologia/${tecnologia.id == null ? '' : tecnologia.id}" method="post" modelAttribute="tecnologia" class="row row-cols-lg-auto g-3 align-items-center">
<div class="col-12">
<form:label
class=
"form-label visually-hidden"
path=
"nombre"
>
Nombre:
</form:label>
<form:input
type=
"text"
path=
"nombre"
class=
"form-control"
required=
"true"
placeholder=
"Nombre de la tecnologia"
/>
<form:label class="form-label visually-hidden" path="nombre">Nombre: </form:label>
<form:input type="text" path="nombre" class="form-control ${ mismoNombre ? 'is-invalid' : ''}" required="true" placeholder="Nombre de la tecnologia"/>
<div id="validationServerUsernameFeedback" class="invalid-feedback">
Este nombre ya existe
</div>
</div>
<div class="col-12">
<input type="submit" value="Guardar" class="btn btn-primary"/>
</div>
</form:form>
</div>
</div>
</body>
</html>
\ No newline at end of file
</layout:put>
</layout:extends>
\ No newline at end of file
curriculumsearch/src/main/webapp/jsp/tecnologias.jsp
View file @
3b3ca2b2
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="form" uri="http://www.springframework.org/tags/form" %>
<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<!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>
Tecnologia
</title>
<link
href=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css"
rel=
"stylesheet"
integrity=
"sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3"
crossorigin=
"anonymous"
>
<link
href=
"../css/cargoStyle.css"
rel=
"stylesheet"
type=
"text/css"
/>
<script
src=
"https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.bundle.min.js"
integrity=
"sha384-ka7Sk0Gln4gmtz2MlQnikT1wXgYsOg+OMhuP+IlRH9sENBO0LRn5q+8nbTov4+1p"
crossorigin=
"anonymous"
></script>
</head>
<body>
<jsp:include
page=
"header.jsp"
/>
<jsp:include
page=
"alerts.jsp"
/>
<div
class=
"container-xxl my-md-4 bd-layout"
>
<%@ taglib uri="http://kwonnam.pe.kr/jsp/template-inheritance" prefix="layout"%>
<layout:extends name="layouts/base.jsp">
<layout:put block="cssDeclaracion" type="APPEND"><link href="../css/cargoStyle.css" rel="stylesheet" type="text/css"/></layout:put>
<layout:put block="contents" type="REPLACE">
<h2>Lista de Tecnologias</h2>
<div>
...
...
@@ -50,7 +39,5 @@
</tbody>
</table>
</div>
</div>
</body>
</html>
\ No newline at end of file
</layout:put>
</layout:extends>
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment