From cea451eb2a17f81b9744793ced0b19f4f54c6247 Mon Sep 17 00:00:00 2001 From: srosse <stephane.rosse@frentix.com> Date: Thu, 3 Oct 2019 16:55:05 +0200 Subject: [PATCH] OO-4289: exclude more people to qualify as "not member" of a course --- .../course/assessment/manager/AssessmentToolManagerImpl.java | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/main/java/org/olat/course/assessment/manager/AssessmentToolManagerImpl.java b/src/main/java/org/olat/course/assessment/manager/AssessmentToolManagerImpl.java index 33158d4d2ef..83505d887b5 100644 --- a/src/main/java/org/olat/course/assessment/manager/AssessmentToolManagerImpl.java +++ b/src/main/java/org/olat/course/assessment/manager/AssessmentToolManagerImpl.java @@ -603,7 +603,7 @@ public class AssessmentToolManagerImpl implements AssessmentToolManager { @Override public List<AssessmentEntry> getAssessmentEntries(Identity coach, SearchAssessedIdentityParams params, AssessmentEntryStatus status) { - StringBuilder sb = new StringBuilder(); + QueryBuilder sb = new QueryBuilder(); sb.append("select aentry from assessmententry aentry") .append(" inner join fetch aentry.identity as assessedIdentity") .append(" inner join fetch assessedIdentity.user as assessedUser") @@ -625,7 +625,8 @@ public class AssessmentToolManagerImpl implements AssessmentToolManager { .append(" )"); if(params.isNonMembers()) { sb.append(" or assessedIdentity.key not in (select membership.identity.key from repoentrytogroup as rel, bgroupmember as membership") - .append(" where rel.entry.key=:repoEntryKey and rel.group=membership.group and membership.identity=aentry.identity") + .append(" where rel.entry.key=:repoEntryKey and rel.group.key=membership.group.key and membership.identity.key=aentry.identity.key") + .append(" and membership.role ").in(GroupRoles.participant, GroupRoles.coach, GroupRoles.owner) .append(" )"); } } else if(params.isCoach()) { -- GitLab