Allow supervisors to request improvements from final seminar opponents #78
@ -3,6 +3,7 @@ package se.su.dsv.scipro.finalseminar;
|
||||
import com.google.common.eventbus.EventBus;
|
||||
import com.querydsl.core.BooleanBuilder;
|
||||
import com.querydsl.core.types.dsl.BooleanExpression;
|
||||
import com.querydsl.core.types.dsl.Expressions;
|
||||
import jakarta.inject.Inject;
|
||||
import jakarta.inject.Provider;
|
||||
import jakarta.persistence.EntityManager;
|
||||
@ -542,19 +543,15 @@ public class FinalSeminarServiceImpl extends AbstractServiceImpl<FinalSeminar, L
|
||||
|
||||
private BooleanExpression unfinishedSeminars(Date after, Date before) {
|
||||
QFinalSeminar seminar = QFinalSeminar.finalSeminar;
|
||||
if (after == null && before == null) {
|
||||
return seminar.oppositions
|
||||
.any()
|
||||
.grade.isNull()
|
||||
.or(seminar.activeParticipations.any().grade.isNull().or(seminar.respondents.any().grade.isNull()));
|
||||
} else {
|
||||
return seminar.startDate
|
||||
.between(after, before)
|
||||
.andAnyOf(
|
||||
BooleanExpression ungradedParticipant = Expressions.anyOf(
|
||||
seminar.oppositions.any().grade.isNull(),
|
||||
seminar.activeParticipations.any().grade.isNull(),
|
||||
seminar.respondents.any().grade.isNull()
|
||||
);
|
||||
if (after == null && before == null) {
|
||||
return ungradedParticipant;
|
||||
} else {
|
||||
return seminar.startDate.between(after, before).and(ungradedParticipant);
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user