Skip to content
Snippets Groups Projects
Commit 15131d11 authored by srosse's avatar srosse
Browse files

OO-5104: link quick search to ids, external ref. and display name

parent b2408bd5
No related branches found
No related tags found
No related merge requests found
......@@ -237,6 +237,29 @@ public class LectureBlockDAO {
.append(" where block.entry.key=v.key and membership.identity.key=:teacherKey")
.append(" )");
}
//quick search in repository entry infos
Long quickId = null;
String quickRefs = null;
String quickText = null;
if(StringHelper.containsNonWhitespace(searchParams.getSearchString())) {
quickRefs = searchParams.getSearchString();
sb.append(" and (v.externalId=:quickRef or ");
PersistenceHelper.appendFuzzyLike(sb, "v.externalRef", "quickText", dbInstance.getDbVendor());
sb.append(" or v.softkey=:quickRef or ");
quickText = PersistenceHelper.makeFuzzyQueryString(quickRefs);
PersistenceHelper.appendFuzzyLike(sb, "v.displayname", "quickText", dbInstance.getDbVendor());
if(StringHelper.isLong(quickRefs)) {
try {
quickId = Long.parseLong(quickRefs);
sb.append(" or v.key=:quickVKey or res.resId=:quickVKey");
} catch (NumberFormatException e) {
//
}
}
sb.append(")");
}
//TODO absences coach
if(searchParams.getManager() != null || searchParams.getMasterCoach() != null) {
sb.append(" and exists (select membership.key from repoentrytogroup as rel, bgroupmember as membership")
......@@ -263,6 +286,16 @@ public class LectureBlockDAO {
query.setParameter("managerKey", searchParams.getMasterCoach().getKey());
}
if(quickId != null) {
query.setParameter("quickVKey", quickId);
}
if(quickRefs != null) {
query.setParameter("quickRef", quickRefs);
}
if(quickText != null) {
query.setParameter("quickText", quickText);
}
List<Object[]> rawObjects = query.getResultList();
return rawObjects.stream()
.map(objects -> new LectureRepositoryEntryInfos((RepositoryEntry)objects[0], PersistenceHelper.extractPrimitiveLong(objects, 1)))
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment