diff --git a/src/main/java/org/olat/group/manager/ContactDAO.java b/src/main/java/org/olat/group/manager/ContactDAO.java index 12fdfcaa5724f0da65a72d6c7bc6b09bfe91b848..e4f58e17e912fc193c8f578bd9c68389ba1f7dee 100644 --- a/src/main/java/org/olat/group/manager/ContactDAO.java +++ b/src/main/java/org/olat/group/manager/ContactDAO.java @@ -64,9 +64,9 @@ public class ContactDAO { sb.append("select contact.identity.key from businessgroup bgroup ") .append(" inner join bgroup.baseGroup baseGroup") .append(" inner join baseGroup.members contact") - .append(" where exists (select me.key from bgroupmember as me where me.group.key=baseGroup.key and me.identity.key=:identKey)") - .append(" and ((bgroup.ownersVisibleIntern=true and contact.role='coach')") - .append(" or (bgroup.participantsVisibleIntern=true and contact.role='participant'))"); + .append(" inner join baseGroup.members me on (me.identity.key=:identKey)") + .append(" where (bgroup.ownersVisibleIntern=true and contact.role='coach')") + .append(" or (bgroup.participantsVisibleIntern=true and contact.role='participant')"); return dbInstance.getCurrentEntityManager().createQuery(sb.toString(), Long.class) .setParameter("identKey", me.getKey()) diff --git a/src/main/resources/database/mysql/alter_9_4_0_to_10_0_0.sql b/src/main/resources/database/mysql/alter_9_4_0_to_10_0_0.sql index 215b4348b6ce825ce06635727217ac24fb648a29..fa77bf4ddbd228c4eabbda87b560d80eab5a905c 100644 --- a/src/main/resources/database/mysql/alter_9_4_0_to_10_0_0.sql +++ b/src/main/resources/database/mysql/alter_9_4_0_to_10_0_0.sql @@ -197,9 +197,9 @@ create view o_gp_contactkey_v as ( inner join o_bs_group_member as bg_member on (bg_member.fk_group_id = bgroup.fk_group_id) inner join o_bs_group_member as bg_me on (bg_me.fk_group_id = bgroup.fk_group_id) where - (bgroup.ownersintern=true and bg_member.g_role='coach') + (bgroup.ownersintern=1 and bg_member.g_role='coach') or - (bgroup.participantsintern=true and bg_member.g_role='participant') + (bgroup.participantsintern=1 and bg_member.g_role='participant') ); create view o_gp_contactext_v as ( @@ -221,9 +221,9 @@ create view o_gp_contactext_v as ( inner join o_userproperty as last_member on (last_member.fk_user_id = us_member.user_id and last_member.propname='lastName') inner join o_bs_group_member as bg_me on (bg_me.fk_group_id = bgroup.fk_group_id) where - (bgroup.ownersintern=true and bg_member.g_role='coach') + (bgroup.ownersintern=1 and bg_member.g_role='coach') or - (bgroup.participantsintern=true and bg_member.g_role='participant') + (bgroup.participantsintern=1 and bg_member.g_role='participant') ); create or replace view o_re_membership_v as ( diff --git a/src/main/resources/database/mysql/setupDatabase.sql b/src/main/resources/database/mysql/setupDatabase.sql index 26dc7bb42e5ef8136483b855990b8ef47c66876b..2442a36d9732dbd07446f31cedb03283eddbcae4 100644 --- a/src/main/resources/database/mysql/setupDatabase.sql +++ b/src/main/resources/database/mysql/setupDatabase.sql @@ -1654,9 +1654,9 @@ create view o_gp_contactkey_v as ( inner join o_bs_group_member as bg_member on (bg_member.fk_group_id = bgroup.fk_group_id) inner join o_bs_group_member as bg_me on (bg_me.fk_group_id = bgroup.fk_group_id) where - (bgroup.ownersintern=true and bg_member.g_role='coach') + (bgroup.ownersintern=1 and bg_member.g_role='coach') or - (bgroup.participantsintern=true and bg_member.g_role='participant') + (bgroup.participantsintern=1 and bg_member.g_role='participant') ); create view o_gp_contactext_v as ( @@ -1678,9 +1678,9 @@ create view o_gp_contactext_v as ( inner join o_userproperty as last_member on (last_member.fk_user_id = us_member.user_id and last_member.propname='lastName') inner join o_bs_group_member as bg_me on (bg_me.fk_group_id = bgroup.fk_group_id) where - (bgroup.ownersintern=true and bg_member.g_role='coach') + (bgroup.ownersintern=1 and bg_member.g_role='coach') or - (bgroup.participantsintern=true and bg_member.g_role='participant') + (bgroup.participantsintern=1 and bg_member.g_role='participant') );