diff --git a/src/main/java/org/olat/modules/quality/manager/QualityDataCollectionDAO.java b/src/main/java/org/olat/modules/quality/manager/QualityDataCollectionDAO.java index 0d6cb0195c3594c9aca14b080fd15473921748a7..8a00b8b617654653720d41ecc0e329157f5723ee 100644 --- a/src/main/java/org/olat/modules/quality/manager/QualityDataCollectionDAO.java +++ b/src/main/java/org/olat/modules/quality/manager/QualityDataCollectionDAO.java @@ -382,14 +382,19 @@ public class QualityDataCollectionDAO { QueryBuilder sb = new QueryBuilder(); sb.append("select count(collection)"); sb.append(" from qualitydatacollection as collection"); - if (searchParams != null && (StringHelper.containsNonWhitespace(searchParams.getTopic()) - || StringHelper.containsNonWhitespace(searchParams.getSearchString()))) { - sb.append(" left join collection.topicIdentity.user as user"); - sb.append(" left join collection.topicOrganisation as organisation"); - sb.append(" left join collection.topicCurriculum as curriculum"); - sb.append(" left join collection.topicCurriculumElement as curriculumElement"); - sb.append(" left join curriculumElement.type as curriculumElementType"); - sb.append(" left join collection.topicRepositoryEntry as repository"); + if (searchParams != null) { + if (searchParams.getFormEntryRefs() != null) { + sb.append(" join survey.formEntry as form"); + } + if (StringHelper.containsNonWhitespace(searchParams.getTopic()) + || StringHelper.containsNonWhitespace(searchParams.getSearchString())) { + sb.append(" left join collection.topicIdentity.user as user"); + sb.append(" left join collection.topicOrganisation as organisation"); + sb.append(" left join collection.topicCurriculum as curriculum"); + sb.append(" left join collection.topicCurriculumElement as curriculumElement"); + sb.append(" left join curriculumElement.type as curriculumElementType"); + sb.append(" left join collection.topicRepositoryEntry as repository"); + } } appendWhereClause(sb, searchParams);