Skip to content
Snippets Groups Projects

Fix model attribute for shared editions

4 files
+ 46
17
Compare changes
  • Side-by-side
  • Inline

Files

@@ -18,12 +18,16 @@
package nl.tudelft.queue.controller;
import static java.time.LocalDateTime.now;
import static nl.tudelft.labracore.api.dto.PersonDetailsDTO.DefaultRoleEnum.ADMIN;
import static nl.tudelft.labracore.api.dto.PersonDetailsDTO.DefaultRoleEnum.TEACHER;
import static nl.tudelft.labracore.lib.LabracoreApiUtil.fromPageable;
import static nl.tudelft.queue.PageUtil.toPage;
import java.io.IOException;
import java.time.LocalDateTime;
import java.util.Comparator;
import java.util.List;
import java.util.Objects;
import java.util.function.Predicate;
import java.util.stream.Collectors;
@@ -153,6 +157,9 @@ public class EditionController {
public String getEditionList(@AuthenticatedPerson Person person,
@PageableDefault(sort = "id", direction = Sort.Direction.DESC) Pageable pageable,
Model model) {
PersonDetailsDTO pd = Objects.requireNonNull(pApi.getPersonById(person.getId()).block());
var filter = es.getFilter("/editions");
var editions = eApi
.getEditionsPageActiveOrTaughtBy(person.getId(), fromPageable(pageable), filter.getPrograms(),
@@ -171,6 +178,17 @@ public class EditionController {
model.addAttribute("page", "catalog");
if (pd.getDefaultRole() == ADMIN || pd.getDefaultRole() == TEACHER) {
model.addAttribute("allEditions", eCache.get(
Objects.requireNonNullElse(
eApi.getAllEditionsActiveDuringPeriod(
new Period().start(LocalDateTime.now())
.end(LocalDateTime.now().plusYears(1)))
.map(EditionSummaryDTO::getId)
.collectList().block(),
List.of())));
}
return "edition/index";
}
Loading