From 634e2bfbe25299bff0f445f3f1d2080e082bda4e Mon Sep 17 00:00:00 2001
From: srosse <stephane.rosse@frentix.com>
Date: Tue, 11 Jun 2019 15:51:12 +0200
Subject: [PATCH] OO-4064: fix curriculum owner query in user management

---
 .../manager/IdentityPowerSearchQueriesImpl.java          | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/main/java/org/olat/basesecurity/manager/IdentityPowerSearchQueriesImpl.java b/src/main/java/org/olat/basesecurity/manager/IdentityPowerSearchQueriesImpl.java
index 47041b0c226..8dd9fdd5918 100644
--- a/src/main/java/org/olat/basesecurity/manager/IdentityPowerSearchQueriesImpl.java
+++ b/src/main/java/org/olat/basesecurity/manager/IdentityPowerSearchQueriesImpl.java
@@ -44,6 +44,7 @@ import org.olat.core.commons.persistence.SortKey;
 import org.olat.core.id.Identity;
 import org.olat.core.id.OrganisationRef;
 import org.olat.core.util.StringHelper;
+import org.olat.modules.curriculum.CurriculumRoles;
 import org.olat.repository.RepositoryEntryStatusEnum;
 import org.olat.user.propertyhandlers.UserPropertyHandler;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -250,7 +251,13 @@ public class IdentityPowerSearchQueriesImpl implements IdentityPowerSearchQuerie
 			  .append(" )");
 		}
 		
-		if(params.getCurriculumRole() != null) {
+		if(params.getCurriculumRole() == CurriculumRoles.curriculumowner) {
+			needsAnd = checkAnd(sb, needsAnd);
+			sb.append(" exists (select cur.key from curriculum as cur")
+			  .append("  inner join cur.group as cGroup")
+			  .append("  inner join cGroup.members as cmember")
+			  .append("  where cmember.identity.key=ident.key and  cmember.role=:curriculumRole)");
+		} else if(params.getCurriculumRole() != null) {
 			needsAnd = checkAnd(sb, needsAnd);
 			sb.append(" exists (select curEl.key from curriculumelement as curEl")
 			  .append("  inner join curEl.group as cGroup")
-- 
GitLab