Skip to content
Snippets Groups Projects

Resolve "Add search functionality for courses"

Files

@@ -38,6 +38,7 @@ import nl.tudelft.queue.csv.InvalidCsvException;
import nl.tudelft.queue.dto.create.CourseRequestCreateDTO;
import nl.tudelft.queue.dto.create.QueueEditionCreateDTO;
import nl.tudelft.queue.dto.create.QueueRoleCreateDTO;
import nl.tudelft.queue.dto.util.EditionFilterDTO;
import nl.tudelft.queue.dto.view.QueueSessionSummaryDTO;
import nl.tudelft.queue.model.LabRequest;
import nl.tudelft.queue.model.enums.QueueSessionType;
@@ -140,9 +141,10 @@ public class EditionController {
public String getEditionList(@AuthenticatedPerson Person person,
@PageableDefault(sort = "id", direction = Sort.Direction.DESC) Pageable pageable,
Model model) {
var programs = es.getFilter("/editions");
var filter = es.getFilter("/editions");
var editions = eApi
.getEditionsPageActiveOrTaughtBy(person.getId(), fromPageable(pageable), programs)
.getEditionsPageActiveOrTaughtBy(person.getId(), fromPageable(pageable),
filter.getPrograms(), filter.getNameSearch())
.block();
eCache.register(editions.getContent());
@@ -153,7 +155,7 @@ public class EditionController {
model.addAttribute("programs", cCache.getAll()
.stream().map(CourseDetailsDTO::getProgram).distinct()
.collect(Collectors.toList()));
model.addAttribute("filter", programs);
model.addAttribute("filter", filter);
return "edition/index";
}
@@ -165,9 +167,10 @@ public class EditionController {
* @return The page to load
*/
@PostMapping("/editions/filter")
public String submitFilters(@RequestParam(required = false) List<Long> filter,
public String submitFilters(@RequestParam(required = false) List<Long> programs,
@RequestParam(required = false) String nameSearch,
RedirectAttributes redirectAttributes) {
es.storeFilter(filter, "/editions");
es.storeFilter(new EditionFilterDTO(programs, nameSearch), "/editions");
redirectAttributes.addAttribute("page", 0);
return "redirect:/editions";
}
Loading