Arreglando fallo de ordinacion cuando pulsamos un th de la tabla

master
vicsash 4 months ago
parent 409249ab51
commit 70afff8de5

@ -81,6 +81,7 @@ public class BuscadorController {
@RequestParam(defaultValue = "asc") String sortDir, @RequestParam(defaultValue = "asc") String sortDir,
@RequestParam String secondaryOption, @RequestParam String secondaryOption,
Model model){ Model model){
System.out.println("TEST SORT DIR " + sortDir);
String[] queryMultiWord = query.split(","); String[] queryMultiWord = query.split(",");
List<String> queryList = new ArrayList<>(); List<String> queryList = new ArrayList<>();
for (String queryForList : queryMultiWord) { for (String queryForList : queryMultiWord) {

@ -5,6 +5,7 @@ import com.example.proyectofinal.models.empresas.Sucursal;
import com.example.proyectofinal.servicios.empresa.EmpresaService; import com.example.proyectofinal.servicios.empresa.EmpresaService;
import com.example.proyectofinal.servicios.empresa.SucursalService; import com.example.proyectofinal.servicios.empresa.SucursalService;
import jakarta.annotation.security.RolesAllowed; import jakarta.annotation.security.RolesAllowed;
import jakarta.persistence.EntityManager;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.http.HttpStatus; import org.springframework.http.HttpStatus;
import org.springframework.http.ResponseEntity; import org.springframework.http.ResponseEntity;
@ -29,7 +30,8 @@ public class SucursalController {
private SucursalService sucursalService; private SucursalService sucursalService;
@Autowired @Autowired
private EmpresaService empresaService; private EmpresaService empresaService;
@Autowired
private EntityManager entityManager;
@GetMapping("/admin/sucursal/create") @GetMapping("/admin/sucursal/create")
public String showCreateForm(Model model, Authentication authentication) { public String showCreateForm(Model model, Authentication authentication) {
@ -96,6 +98,7 @@ public class SucursalController {
@PostMapping("/sucursal/update") @PostMapping("/sucursal/update")
public ResponseEntity<String> updateSucursal(Sucursal sucursal, @RequestParam("empresa.id") Long sectorId, @RequestParam("sedeCentral") boolean sedeCentral){ public ResponseEntity<String> updateSucursal(Sucursal sucursal, @RequestParam("empresa.id") Long sectorId, @RequestParam("sedeCentral") boolean sedeCentral){
try{ try{
entityManager.detach(sucursal);
Empresa existingEmpresa = empresaService.findById(sectorId); Empresa existingEmpresa = empresaService.findById(sectorId);
sucursal.setEmpresa(existingEmpresa); sucursal.setEmpresa(existingEmpresa);
Sucursal existingSucursal = sucursalService.findById(sucursal.getId()); Sucursal existingSucursal = sucursalService.findById(sucursal.getId());

@ -28,9 +28,9 @@ public class AlumnoService implements IAlumno{
if(secondaryOption.equalsIgnoreCase("Todo")){ if(secondaryOption.equalsIgnoreCase("Todo")){
return findAllPaginated(pageNum, size, sortField, sortDir); return findAllPaginated(pageNum, size, sortField, sortDir);
}else if(secondaryOption.equals("Keywords")) { }else if(secondaryOption.equals("Keywords")) {
return alumnoRepository.findAlumnoByKeywords(query, PageRequest.of(pageNum - 1, size, Sort.by(sortField).ascending())); return alumnoRepository.findAlumnoByKeywords(query, PageRequest.of(pageNum - 1, size, sortDir.equalsIgnoreCase(Sort.Direction.ASC.name()) ? Sort.by(sortField).ascending() : Sort.by(sortField).descending()));
}else if(secondaryOption.equals("Ciclo")) { }else if(secondaryOption.equals("Ciclo")) {
return alumnoRepository.findAlumnoByCiclo(query, PageRequest.of(pageNum - 1, size, Sort.by(sortField).ascending())); return alumnoRepository.findAlumnoByCiclo(query, PageRequest.of(pageNum - 1, size, sortDir.equalsIgnoreCase(Sort.Direction.ASC.name()) ? Sort.by(sortField).ascending() : Sort.by(sortField).descending()));
} else { } else {
return null; return null;
} }
@ -108,10 +108,10 @@ public class AlumnoService implements IAlumno{
query = query.trim().toLowerCase(); query = query.trim().toLowerCase();
Page<Alumno> page; Page<Alumno> page;
if(secondaryOption.equals("Ciclo")) { if(secondaryOption.equals("Ciclo")) {
page = alumnoRepository.findAlumnoByCiclos(query, PageRequest.of(pageNum - 1, size, Sort.by(sortField).ascending())); page = alumnoRepository.findAlumnoByCiclos(query, PageRequest.of(pageNum - 1, size, sortDir.equalsIgnoreCase(Sort.Direction.ASC.name()) ? Sort.by(sortField).ascending() : Sort.by(sortField).descending()));
allMatches.addAll(page.getContent()); allMatches.addAll(page.getContent());
} else if (secondaryOption.equals("Keywords")) { } else if (secondaryOption.equals("Keywords")) {
page = alumnoRepository.findAlumnoByKeywords(query, PageRequest.of(pageNum - 1, size, Sort.by(sortField).ascending())); page = alumnoRepository.findAlumnoByKeywords(query, PageRequest.of(pageNum - 1, size, sortDir.equalsIgnoreCase(Sort.Direction.ASC.name()) ? Sort.by(sortField).ascending() : Sort.by(sortField).descending()));
allMatches.addAll(page.getContent()); allMatches.addAll(page.getContent());
} }
} }

@ -93,9 +93,9 @@ public class CicloService implements ICiclos {
if(secondaryOption.equalsIgnoreCase("Todo")){ if(secondaryOption.equalsIgnoreCase("Todo")){
return findAllPaginated(pageNum, size, sortField, sortDir); return findAllPaginated(pageNum, size, sortField, sortDir);
}else if(secondaryOption.equals("Familia")) { }else if(secondaryOption.equals("Familia")) {
return cicloRepository.findCicloByFamilia(query, PageRequest.of(pageNum - 1, size, Sort.by(sortField).ascending())); return cicloRepository.findCicloByFamilia(query, PageRequest.of(pageNum - 1, size, sortDir.equals("asc") ? Sort.by(sortField).ascending() : Sort.by(sortField).descending()));
} else if(secondaryOption.equals("Codigo")) { } else if(secondaryOption.equals("Codigo")) {
return cicloRepository.findCicloByCodigo(query, PageRequest.of(pageNum - 1, size, Sort.by(sortField).ascending())); return cicloRepository.findCicloByCodigo(query, PageRequest.of(pageNum - 1, size, sortDir.equals("asc") ? Sort.by(sortField).ascending() : Sort.by(sortField).descending()));
} else { } else {
return null; return null;
} }
@ -116,10 +116,10 @@ public class CicloService implements ICiclos {
query = query.trim().toLowerCase(); query = query.trim().toLowerCase();
Page<Ciclo> page; Page<Ciclo> page;
if (secondaryOption.equals("Familia")) { if (secondaryOption.equals("Familia")) {
page = cicloRepository.findCicloByFamilias(query, PageRequest.of(pageNum - 1, size, Sort.by(sortField).ascending())); page = cicloRepository.findCicloByFamilias(query, PageRequest.of(pageNum - 1, size, sortDir.equals("asc") ? Sort.by(sortField).ascending() : Sort.by(sortField).descending()));
allMatches.addAll(page.getContent()); allMatches.addAll(page.getContent());
} else if (secondaryOption.equals("Codigo")) { } else if (secondaryOption.equals("Codigo")) {
page = cicloRepository.findCicloByCodigos(query, PageRequest.of(pageNum - 1, size, Sort.by(sortField).ascending())); page = cicloRepository.findCicloByCodigos(query, PageRequest.of(pageNum - 1, size, sortDir.equals("asc") ? Sort.by(sortField).ascending() : Sort.by(sortField).descending()));
allMatches.addAll(page.getContent()); allMatches.addAll(page.getContent());
} }
} }

@ -79,7 +79,7 @@ public class ContactosService implements IContactos {
if(secondaryOption.equalsIgnoreCase("Todo")){ if(secondaryOption.equalsIgnoreCase("Todo")){
return findAllPaginated(pageNum, size, sortField, sortDir); return findAllPaginated(pageNum, size, sortField, sortDir);
}else if(secondaryOption.equals("Empresa")) { }else if(secondaryOption.equals("Empresa")) {
return contactoRepository.findContactoByEmpresa(query, PageRequest.of(pageNum - 1, size, Sort.by(sortField).ascending())); return contactoRepository.findContactoByEmpresa(query, PageRequest.of(pageNum - 1, size,sortDir.equals("asc") ? Sort.by(sortField).ascending() : Sort.by(sortField).descending()));
} else { } else {
return null; return null;
} }
@ -92,7 +92,7 @@ public class ContactosService implements IContactos {
query = query.trim().toLowerCase(); query = query.trim().toLowerCase();
Page<Contacto> page; Page<Contacto> page;
if(secondaryOption.equals("Empresa")) { if(secondaryOption.equals("Empresa")) {
page = contactoRepository.findContactosByCompanyNames(Collections.singletonList(query), PageRequest.of(pageNum - 1, size, Sort.by(sortField).ascending())); page = contactoRepository.findContactosByCompanyNames(Collections.singletonList(query), PageRequest.of(pageNum - 1, size, sortDir.equals("asc") ? Sort.by(sortField).ascending() : Sort.by(sortField).descending()));
allMatches.addAll(page.getContent()); allMatches.addAll(page.getContent());
} }
} }

@ -95,9 +95,9 @@ public class EmpresaService implements IEmpresa {
if(secondaryOption.equalsIgnoreCase("Todo")){ if(secondaryOption.equalsIgnoreCase("Todo")){
return findAllPaginated(pageNum, size, sortField, sortDir); return findAllPaginated(pageNum, size, sortField, sortDir);
}else if (secondaryOption.equals("Sector")) { }else if (secondaryOption.equals("Sector")) {
return empresaRepository.findEmpresasBySectorName(query, PageRequest.of(pageNum - 1, size, Sort.by(sortField).ascending())); return empresaRepository.findEmpresasBySectorName(query, PageRequest.of(pageNum - 1, size, sortDir.equalsIgnoreCase(Sort.Direction.ASC.name()) ? Sort.by(sortField).ascending() : Sort.by(sortField).descending()));
}else if(secondaryOption.equals("Keywords")) { }else if(secondaryOption.equals("Keywords")) {
return empresaRepository.findEmpresasByKeywords(query, PageRequest.of(pageNum - 1, size, Sort.by(sortField).ascending())); return empresaRepository.findEmpresasByKeywords(query, PageRequest.of(pageNum - 1, size, sortDir.equalsIgnoreCase(Sort.Direction.ASC.name()) ? Sort.by(sortField).ascending() : Sort.by(sortField).descending()));
} else { } else {
return null; return null;
} }
@ -111,11 +111,11 @@ public class EmpresaService implements IEmpresa {
Page<Empresa> page; Page<Empresa> page;
switch (secondaryOption) { switch (secondaryOption) {
case "Sector" -> { case "Sector" -> {
page = empresaRepository.findEmpresasBySectorName(query, PageRequest.of(pageNum - 1, size, Sort.by(sortField).ascending())); page = empresaRepository.findEmpresasBySectorName(query, PageRequest.of(pageNum - 1, size, sortDir.equalsIgnoreCase(Sort.Direction.ASC.name()) ? Sort.by(sortField).ascending() : Sort.by(sortField).descending()));
allMatches.addAll(page.getContent()); allMatches.addAll(page.getContent());
} }
case "Keywords" -> { case "Keywords" -> {
page = empresaRepository.findEmpresasByMultKeywords(query, PageRequest.of(pageNum - 1, size, Sort.by(sortField).ascending())); page = empresaRepository.findEmpresasByMultKeywords(query, PageRequest.of(pageNum - 1, size, sortDir.equalsIgnoreCase(Sort.Direction.ASC.name()) ? Sort.by(sortField).ascending() : Sort.by(sortField).descending()));
allMatches.addAll(page.getContent()); allMatches.addAll(page.getContent());
} }
} }

@ -41,7 +41,6 @@ public class OfertaService implements IOferta {
Sort.by(sortField).descending(); Sort.by(sortField).descending();
Pageable pageable = PageRequest.of(pageNum - 1, pageSize, sort); Pageable pageable = PageRequest.of(pageNum - 1, pageSize, sort);
Page<Oferta> page = this.ofertaRepository.findAll(pageable); Page<Oferta> page = this.ofertaRepository.findAll(pageable);
List<Oferta> ofertas = page.getContent(); List<Oferta> ofertas = page.getContent();
for (Oferta oferta : ofertas) { for (Oferta oferta : ofertas) {
List<Object[]> skillsData = ofertaRepository.findSkillsByOfertaId(oferta.getId()); List<Object[]> skillsData = ofertaRepository.findSkillsByOfertaId(oferta.getId());
@ -54,7 +53,6 @@ public class OfertaService implements IOferta {
} }
oferta.setSkills(skills); oferta.setSkills(skills);
} }
return page; return page;
} }
@ -110,16 +108,16 @@ public class OfertaService implements IOferta {
if(secondaryOption.equalsIgnoreCase("Todo")){ if(secondaryOption.equalsIgnoreCase("Todo")){
return findAllPaginated(pageNum, size, sortField, sortDir); return findAllPaginated(pageNum, size, sortField, sortDir);
}else if (secondaryOption.equals("Skill")) { }else if (secondaryOption.equals("Skill")) {
return ofertaRepository.findOfertaBySkill(query, PageRequest.of(pageNum - 1, size, Sort.by(sortField).ascending())); return ofertaRepository.findOfertaBySkill(query, PageRequest.of(pageNum - 1, size, sortDir.equals("asc") ? Sort.by(sortField).ascending() : Sort.by(sortField).descending()));
} else if(secondaryOption.equals("Este Año")) { } else if(secondaryOption.equals("Este Año")) {
String year = new SimpleDateFormat("yyyy").format(new Date()); String year = new SimpleDateFormat("yyyy").format(new Date());
return ofertaRepository.findOfertaByFechaAnyo(year, PageRequest.of(pageNum - 1, size, Sort.by(sortField).ascending())); return ofertaRepository.findOfertaByFechaAnyo(year, PageRequest.of(pageNum - 1, size, sortDir.equals("asc") ? Sort.by(sortField).ascending() : Sort.by(sortField).descending()));
}else if(secondaryOption.equals("Ultimos 3 meses")){ }else if(secondaryOption.equals("Ultimos 3 meses")){
return ofertaRepository.findOfertaByFechaUltimos3Meses(PageRequest.of(pageNum - 1, size, Sort.by(sortField).ascending())); return ofertaRepository.findOfertaByFechaUltimos3Meses(PageRequest.of(pageNum - 1, size, sortDir.equals("asc") ? Sort.by(sortField).ascending() : Sort.by(sortField).descending()));
}else if(secondaryOption.equals("Ultimos 6 meses")){ }else if(secondaryOption.equals("Ultimos 6 meses")){
return ofertaRepository.findOfertaByFechaUltimos6Meses(PageRequest.of(pageNum - 1, size, Sort.by(sortField).ascending())); return ofertaRepository.findOfertaByFechaUltimos6Meses(PageRequest.of(pageNum - 1, size, sortDir.equals("asc") ? Sort.by(sortField).ascending() : Sort.by(sortField).descending()));
} else if(secondaryOption.equals("Empresa")) { } else if(secondaryOption.equals("Empresa")) {
return ofertaRepository.findOfertaByEmpresa(query, PageRequest.of(pageNum - 1, size, Sort.by(sortField).ascending())); return ofertaRepository.findOfertaByEmpresa(query, PageRequest.of(pageNum - 1, size, sortDir.equals("asc") ? Sort.by(sortField).ascending() : Sort.by(sortField).descending()));
} else { } else {
return null; return null;
} }
@ -132,11 +130,11 @@ public class OfertaService implements IOferta {
Page<Oferta> page; Page<Oferta> page;
switch (secondaryOption) { switch (secondaryOption) {
case "Empresa" -> { case "Empresa" -> {
page = ofertaRepository.findOfertaByEmpresas(query, PageRequest.of(pageNum - 1, size, Sort.by(sortField).ascending())); page = ofertaRepository.findOfertaByEmpresas(query, PageRequest.of(pageNum - 1, size, sortDir.equals("asc") ? Sort.by(sortField).ascending() : Sort.by(sortField).descending()));
allMatches.addAll(page.getContent()); allMatches.addAll(page.getContent());
} }
case "Skill" -> { case "Skill" -> {
page = ofertaRepository.findOfertaBySkills(query, PageRequest.of(pageNum - 1, size, Sort.by(sortField).ascending())); page = ofertaRepository.findOfertaBySkills(query, PageRequest.of(pageNum - 1, size,sortDir.equals("asc") ? Sort.by(sortField).ascending() : Sort.by(sortField).descending()));
allMatches.addAll(page.getContent()); allMatches.addAll(page.getContent());
} }
} }
@ -147,15 +145,6 @@ public class OfertaService implements IOferta {
return new PageImpl<>(allMatches.subList(start, end), PageRequest.of(pageNum - 1, size), allMatches.size()); return new PageImpl<>(allMatches.subList(start, end), PageRequest.of(pageNum - 1, size), allMatches.size());
} }
public boolean isYear(String query) {
try {
Integer.parseInt(query);
return true;
} catch (NumberFormatException e) {
return false;
}
}
@Override @Override
public List<Oferta> searchCustom(String querySearchBar, String queryPrime, String secondaryOption) { public List<Oferta> searchCustom(String querySearchBar, String queryPrime, String secondaryOption) {
String[] queryMultiWord = queryPrime.split(","); String[] queryMultiWord = queryPrime.split(",");
@ -226,8 +215,6 @@ public class OfertaService implements IOferta {
listEmpPrime.addAll(ofertaRepository.findOfertaByFechaUltimos6Meses(PageRequest.of(0, 1000, Sort.by("fecha").ascending())).getContent()); listEmpPrime.addAll(ofertaRepository.findOfertaByFechaUltimos6Meses(PageRequest.of(0, 1000, Sort.by("fecha").ascending())).getContent());
} }
} }
return listEmpPrime; return listEmpPrime;
} }
} }

@ -86,11 +86,9 @@ public class SucursalService implements ISucursal {
if(secondaryOption.equalsIgnoreCase("Todo")){ if(secondaryOption.equalsIgnoreCase("Todo")){
return findAllPaginated(pageNum, size, sortField, sortDir); return findAllPaginated(pageNum, size, sortField, sortDir);
}else if (secondaryOption.equals("Empresa")) { }else if (secondaryOption.equals("Empresa")) {
return sucursalRepository.findSucursalByEmpresa(query, PageRequest.of(pageNum - 1, size, Sort.by(sortField).ascending())); return sucursalRepository.findSucursalByEmpresa(query, PageRequest.of(pageNum - 1, size, sortDir.equals("asc") ? Sort.by(sortField).ascending() : Sort.by(sortField).descending()));
} else if(secondaryOption.equals("Nombre")) {
return sucursalRepository.findSucursalaByNombre(query, PageRequest.of(pageNum - 1, size, Sort.by(sortField).ascending()));
}else if(secondaryOption.equals("Localidad")) { }else if(secondaryOption.equals("Localidad")) {
return sucursalRepository.findSucursalByLocalidad(query, PageRequest.of(pageNum - 1, size, Sort.by(sortField).ascending())); return sucursalRepository.findSucursalByLocalidad(query, PageRequest.of(pageNum - 1, size,sortDir.equals("asc") ? Sort.by(sortField).ascending() : Sort.by(sortField).descending()));
} else { } else {
return null; return null;
} }
@ -101,14 +99,11 @@ public class SucursalService implements ISucursal {
for (String query : queryList) { for (String query : queryList) {
query = query.trim().toLowerCase(); query = query.trim().toLowerCase();
Page<Sucursal> page; Page<Sucursal> page;
if (secondaryOption.equals("Nombre")) { if (secondaryOption.equals("Empresa")) {
page = sucursalRepository.findSucursalesByNombre(query, PageRequest.of(pageNum - 1, size, Sort.by(sortField).ascending())); page = sucursalRepository.findSucursalesByEmpresa(query, PageRequest.of(pageNum - 1, size, sortField.equals("nombre") ? Sort.by(sortField).ascending() : Sort.by(sortField).descending()));
allMatches.addAll(page.getContent());
} else if (secondaryOption.equals("Empresa")) {
page = sucursalRepository.findSucursalesByEmpresa(query, PageRequest.of(pageNum - 1, size, Sort.by(sortField).ascending()));
allMatches.addAll(page.getContent()); allMatches.addAll(page.getContent());
} else if (secondaryOption.equals("Localidad")) { } else if (secondaryOption.equals("Localidad")) {
page = sucursalRepository.findSucursalesByLocalidad(query, PageRequest.of(pageNum - 1, size, Sort.by(sortField).ascending())); page = sucursalRepository.findSucursalesByLocalidad(query, PageRequest.of(pageNum - 1, size, sortDir.equals("asc") ? Sort.by(sortField).ascending() : Sort.by(sortField).descending()));
allMatches.addAll(page.getContent()); allMatches.addAll(page.getContent());
} }
} }

@ -46,62 +46,62 @@
<thead class="thread-light"> <thead class="thread-light">
<tr> <tr>
<th class="table-header"> <th class="table-header">
<a th:href="@{'/buscador/alumnos/page/' + ${currentPage} + '?sortField=nombre&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}"> <a th:href="@{'/buscador/alumnos/page/' + ${currentPage} + '?query=' + ${query} + '&sortField=nombre&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}">
Nombre Nombre
</a> </a>
</th> </th>
<th class="table-header"> <th class="table-header">
<a th:href="@{'/buscador/alumnos/page/' + ${currentPage} + '?sortField=apellido&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}"> <a th:href="@{'/buscador/alumnos/page/' + ${currentPage} + '?query=' + ${query} + '&sortField=apellido&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}">
Apellido Apellido
</a> </a>
</th> </th>
<th class="table-header"> <th class="table-header">
<a th:href="@{'/buscador/alumnos/page/' + ${currentPage} + '?sortField=apellido2&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}"> <a th:href="@{'/buscador/alumnos/page/' + ${currentPage} + '?query=' + ${query} + '&sortField=apellido2&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}">
Apellido2 Apellido2
</a> </a>
</th> </th>
<th class="table-header"> <th class="table-header">
<a th:href="@{'/buscador/alumnos/page/' + ${currentPage} + '?sortField=fechaNacimiento&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}"> <a th:href="@{'/buscador/alumnos/page/' + ${currentPage} + '?query=' + ${query} + '&sortField=fechaNacimiento&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}">
Fecha Nacimeinto Fecha Nacimeinto
</a> </a>
</th> </th>
<th class="table-header"> <th class="table-header">
<a th:href="@{'/buscador/alumnos/page/' + ${currentPage} + '?sortField=genero&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}"> <a th:href="@{'/buscador/alumnos/page/' + ${currentPage} + '?query=' + ${query} + '&sortField=genero&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}">
Genero Genero
</a> </a>
</th> </th>
<th class="table-header"> <th class="table-header">
<a th:href="@{'/buscador/alumnos/page/' + ${currentPage} + '?sortField=nia&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}"> <a th:href="@{'/buscador/alumnos/page/' + ${currentPage} + '?query=' + ${query} + '&sortField=nia&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}">
NIA NIA
</a> </a>
</th> </th>
<th class="table-header"> <th class="table-header">
<a th:href="@{'/buscador/alumnos/page/' + ${currentPage} + '?sortField=dni&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}"> <a th:href="@{'/buscador/alumnos/page/' + ${currentPage} + '?query=' + ${query} + '&sortField=dni&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}">
Num Doc Num Doc
</a> </a>
</th> </th>
<th class="table-header"> <th class="table-header">
<a th:href="@{'/buscador/alumnos/page/' + ${currentPage} + '?sortField=correo&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}"> <a th:href="@{'/buscador/alumnos/page/' + ${currentPage} + '?query=' + ${query} + '&sortField=correo&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}">
Correo Correo
</a> </a>
</th> </th>
<th class="table-header"> <th class="table-header">
<a th:href="@{'/buscador/alumnos/page/' + ${currentPage} + '?sortField=correo2&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}"> <a th:href="@{'/buscador/alumnos/page/' + ${currentPage} + '?query=' + ${query} + '&sortField=correo2&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}">
Correo2 Correo2
</a> </a>
</th> </th>
<th class="table-header"> <th class="table-header">
<a th:href="@{'/buscador/alumnos/page/' + ${currentPage} + '?sortField=nacionalidad&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}"> <a th:href="@{'/buscador/alumnos/page/' + ${currentPage} + '?query=' + ${query} + '&sortField=nacionalidad&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}">
Nacionalidad Nacionalidad
</a> </a>
</th> </th>
<th class="table-header"> <th class="table-header">
<a th:href="@{'/buscador/alumnos/page/' + ${currentPage} + '?sortField=keywords&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}"> <a th:href="@{'/buscador/alumnos/page/' + ${currentPage} + '?query=' + ${query} + '&sortField=keywords&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}">
Keywords Keywords
</a> </a>
</th> </th>
<th class="table-header ciclo-header"> <th class="table-header ciclo-header">
<a th:href="@{'/buscador/alumnos/page/' + ${currentPage} + '?sortField=ciclo.nombre&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}"> <a th:href="@{'/buscador/alumnos/page/' + ${currentPage} + '?query=' + ${query} + '&sortField=ciclo.nombre&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}">
Ciclo Ciclo
</a> </a>
</th> </th>

@ -39,17 +39,17 @@
<thead class="thread-light"> <thead class="thread-light">
<tr> <tr>
<th class="table-header"> <th class="table-header">
<a th:href="@{'/buscador/ciclos/page/' + ${currentPage} + '?sortField=nombre&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}"> <a th:href="@{'/buscador/ciclos/page/' + ${currentPage} + '?query=' + ${query} + '&sortField=nombre&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}">
Nombre Nombre
</a> </a>
</th> </th>
<th class="table-header"> <th class="table-header">
<a th:href="@{'/buscador/ciclos/page/' + ${currentPage} + '?sortField=codigo&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}"> <a th:href="@{'/buscador/ciclos/page/' + ${currentPage} + '?query=' + ${query} + '&sortField=codigo&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}">
Codigo Codigo
</a> </a>
</th> </th>
<th class="table-header"> <th class="table-header">
<a th:href="@{'/buscador/ciclos/page/' + ${currentPage} + '?sortField=familia.nombre&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}"> <a th:href="@{'/buscador/ciclos/page/' + ${currentPage} + '?query=' + ${query} + '&sortField=familia.nombre&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}">
Familia Familia
</a> </a>
</th> </th>

@ -40,32 +40,32 @@
<thead class="thread-light"> <thead class="thread-light">
<tr> <tr>
<th class="table-header"> <th class="table-header">
<a th:href="@{'/buscador/contactos/page/' + ${currentPage} + '?sortField=nombre&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}"> <a th:href="@{'/buscador/contactos/page/' + ${currentPage} + '?query=' + ${query} + '&sortField=nombre&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}">
Nombre Nombre
</a> </a>
</th> </th>
<th class="table-header"> <th class="table-header">
<a th:href="@{'/buscador/contactos/page/' + ${currentPage} + '?sortField=apellido&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}"> <a th:href="@{'/buscador/contactos/page/' + ${currentPage} + '?query=' + ${query} + '&sortField=apellido&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}">
Apellido Apellido
</a> </a>
</th> </th>
<th class="table-header"> <th class="table-header">
<a th:href="@{'/buscador/contactos/page/' + ${currentPage} + '?sortField=apellido2&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}"> <a th:href="@{'/buscador/contactos/page/' + ${currentPage} + '?query=' + ${query} + '&sortField=apellido2&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}">
Apellido2 Apellido2
</a> </a>
</th> </th>
<th class="table-header"> <th class="table-header">
<a th:href="@{'/buscador/contactos/page/' + ${currentPage} + '?sortField=correo&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}"> <a th:href="@{'/buscador/contactos/page/' + ${currentPage} + '?query=' + ${query} + '&sortField=correo&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}">
Correo Correo
</a> </a>
</th> </th>
<th class="table-header"> <th class="table-header">
<a th:href="@{'/buscador/contactos/page/' + ${currentPage} + '?sortField=telefono&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}"> <a th:href="@{'/buscador/contactos/page/' + ${currentPage} + '?query=' + ${query} + '&ortField=telefono&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}">
Telefono Telefono
</a> </a>
</th> </th>
<th class="table-header"> <th class="table-header">
<a th:href="@{'/buscador/contactos/page/' + ${currentPage} + '?sortField=empresa.nombre&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}"> <a th:href="@{'/buscador/contactos/page/' + ${currentPage} + '?query=' + ${query} + '&sortField=empresa.nombre&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}">
Empresa Empresa
</a> </a>
</th> </th>

@ -43,32 +43,32 @@
<thead class="thread-light"> <thead class="thread-light">
<tr> <tr>
<th class="table-header"> <th class="table-header">
<a th:href="@{'/buscador/empresas/page/' + ${currentPage} + '?sortField=nombre&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}"> <a th:href="@{'/buscador/empresas/page/' + ${currentPage} + '?query=' + ${query} + '&sortField=nombre&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}">
Nombre Nombre
</a> </a>
</th> </th>
<th class="table-header"> <th class="table-header">
<a th:href="@{'/buscador/empresas/page/' + ${currentPage} + '?sortField=cif&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}"> <a th:href="@{'/buscador/empresas/page/' + ${currentPage} + '?query=' + ${query} + '&sortField=cif&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}">
Cif Cif
</a> </a>
</th> </th>
<th class="table-header"> <th class="table-header">
<a th:href="@{'/buscador/empresas/page/' + ${currentPage} + '?sortField=correo&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}"> <a th:href="@{'/buscador/empresas/page/' + ${currentPage} + '?query=' + ${query} + '&sortField=correo&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}">
Correo Correo
</a> </a>
</th> </th>
<th class="table-header"> <th class="table-header">
<a th:href="@{'/buscador/empresas/page/' + ${currentPage} + '?sortField=telefono&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}"> <a th:href="@{'/buscador/empresas/page/' + ${currentPage} + '?query=' + ${query} + '&sortField=telefono&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}">
Telefono Telefono
</a> </a>
</th> </th>
<th class="table-header"> <th class="table-header">
<a th:href="@{'/buscador/empresas/page/' + ${currentPage} + '?sortField=keywords&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}"> <a th:href="@{'/buscador/empresas/page/' + ${currentPage} + '?query=' + ${query} + '&sortField=keywords&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}">
Keywords Keywords
</a> </a>
</th> </th>
<th class="table-header"> <th class="table-header">
<a th:href="@{'/buscador/empresas/page/' + ${currentPage} + '?sortField=sector.nombre&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}"> <a th:href="@{'/buscador/empresas/page/' + ${currentPage} +'?query=' + ${query} + '&sortField=sector.nombre&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}">
Sector Sector
</a> </a>
</th> </th>

@ -42,27 +42,27 @@
<thead class="thread-light"> <thead class="thread-light">
<tr> <tr>
<th class="table-header"> <th class="table-header">
<a th:href="@{'/buscador/ofertas/page/' + ${currentPage} + '?sortField=nombre&sortDir=' + ${reverseSortDir} + '&secondaryOption=' + ${secondaryOption}}"> <a th:href="@{'/buscador/ofertas/page/' + ${currentPage} + '?query=' + ${query} + '&sortField=nombre&sortDir=' + ${reverseSortDir} + '&secondaryOption=' + ${secondaryOption}}">
Nombre Nombre
</a> </a>
</th> </th>
<th class="table-header"> <th class="table-header">
<a th:href="@{'/buscador/ofertas/page/' + ${currentPage} + '?sortField=fecha&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}"> <a th:href="@{'/buscador/ofertas/page/' + ${currentPage} + '?query=' + ${query} + '&sortField=fecha&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}">
Fecha Fecha
</a> </a>
</th> </th>
<th class="table-header"> <th class="table-header">
<a th:href="@{'/buscador/ofertas/page/' + ${currentPage} + '?sortField=descripcion&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}"> <a th:href="@{'/buscador/ofertas/page/' + ${currentPage} + '?query=' + ${query} + '&sortField=descripcion&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}">
Descripcion Descripcion
</a> </a>
</th> </th>
<th class="table-header"> <th class="table-header">
<a th:href="@{'/buscador/ofertas/page/' + ${currentPage} + '?sortField=sucursal.nombre&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}"> <a th:href="@{'/buscador/ofertas/page/' + ${currentPage} + '?query=' + ${query} + '&sortField=sucursal.nombre&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}">
Sucursal Sucursal
</a> </a>
</th> </th>
<th class="table-header"> <th class="table-header">
<a th:href="@{'/buscador/ofertas/page/' + ${currentPage} + '?sortField=ciclo.nombre&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}"> <a th:href="@{'/buscador/ofertas/page/' + ${currentPage} + '?query=' + ${query} + '&sortField=ciclo.nombre&sortDir=' + ${reverseSortDir}+ '&secondaryOption=' + ${secondaryOption}}">
Ciclo Ciclo
</a> </a>
</th> </th>

@ -39,27 +39,27 @@
<thead class="thread-light"> <thead class="thread-light">
<tr> <tr>
<th class="table-header"> <th class="table-header">
<a th:href="@{'/buscador/sucursales/page/' + ${currentPage} + '?sortField=nombre&sortDir=' + ${reverseSortDir} + '&secondaryOption=' + ${secondaryOption}}"> <a th:href="@{'/buscador/sucursales/page/' + ${currentPage} +'?query=' + ${query} + '&sortField=nombre&sortDir=' + ${reverseSortDir} + '&secondaryOption=' + ${secondaryOption}}">
Nombre Nombre
</a> </a>
</th> </th>
<th class="table-header"> <th class="table-header">
<a th:href="@{'/buscador/sucursales/page/' + ${currentPage} + '?sortField=localidad&sortDir=' + ${reverseSortDir} + '&secondaryOption=' + ${secondaryOption}}"> <a th:href="@{'/buscador/sucursales/page/' + ${currentPage} + '?query=' + ${query} + '&sortField=localidad&sortDir=' + ${reverseSortDir} + '&secondaryOption=' + ${secondaryOption}}">
Localidad Localidad
</a> </a>
</th> </th>
<th class="table-header"> <th class="table-header">
<a th:href="@{'/buscador/sucursales/page/' + ${currentPage} + '?sortField=direccion&sortDir=' + ${reverseSortDir} + '&secondaryOption=' + ${secondaryOption}}"> <a th:href="@{'/buscador/sucursales/page/' + ${currentPage} +'?query=' + ${query} + '&sortField=direccion&sortDir=' + ${reverseSortDir} + '&secondaryOption=' + ${secondaryOption}}">
Direccion Direccion
</a> </a>
</th> </th>
<th class="table-header"> <th class="table-header">
<a th:href="@{'/buscador/sucursales/page/' + ${currentPage} + '?sortField=sedeCentral&sortDir=' + ${reverseSortDir} + '&secondaryOption=' + ${secondaryOption}}"> <a th:href="@{'/buscador/sucursales/page/' + ${currentPage} + '?query=' + ${query} + '&sortField=sedeCentral&sortDir=' + ${reverseSortDir} + '&secondaryOption=' + ${secondaryOption}}">
Sede Central Sede Central
</a> </a>
</th> </th>
<th class="table-header"> <th class="table-header">
<a th:href="@{'/buscador/sucursales/page/' + ${currentPage} + '?sortField=empresa.nombre&sortDir=' + ${reverseSortDir} + '&secondaryOption=' + ${secondaryOption}}"> <a th:href="@{'/buscador/sucursales/page/' + ${currentPage} +'?query=' + ${query} + '&sortField=empresa.nombre&sortDir=' + ${reverseSortDir} + '&secondaryOption=' + ${secondaryOption}}">
Empresa Empresa
</a> </a>
</th> </th>

Loading…
Cancel
Save

Powered by INFORMATICA.FP.EDU.ES.