From 8d94b1b4181d6c4dc3fbe28e94afbdf1d42148af Mon Sep 17 00:00:00 2001
From: uhensler <urs.hensler@frentix.com>
Date: Mon, 19 Nov 2018 14:40:57 +0100
Subject: [PATCH] OO-3304: Force reload all surveys before checking if a user
 can execute

---
 .../java/org/olat/modules/quality/manager/QualityJob.java     | 1 +
 .../org/olat/modules/quality/manager/QualityServiceImpl.java  | 4 ++--
 .../olat/modules/quality/ui/DataCollectionListController.java | 1 +
 .../quality/ui/ExecutorParticipationsListController.java      | 1 +
 4 files changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/olat/modules/quality/manager/QualityJob.java b/src/main/java/org/olat/modules/quality/manager/QualityJob.java
index 36c5b2b4e86..f258179eb3a 100644
--- a/src/main/java/org/olat/modules/quality/manager/QualityJob.java
+++ b/src/main/java/org/olat/modules/quality/manager/QualityJob.java
@@ -51,6 +51,7 @@ public class QualityJob extends JobWithDB {
 		QualityService qualityService = CoreSpringFactory.getImpl(QualityService.class);
 		qualityService.startDataCollection(until);
 		qualityService.stopDataCollections(until);
+		DBFactory.getInstance().commitAndCloseSession();
 		qualityService.sendReminders(until);
 	}
 
diff --git a/src/main/java/org/olat/modules/quality/manager/QualityServiceImpl.java b/src/main/java/org/olat/modules/quality/manager/QualityServiceImpl.java
index 4657296b6a4..70cb9a9fe80 100644
--- a/src/main/java/org/olat/modules/quality/manager/QualityServiceImpl.java
+++ b/src/main/java/org/olat/modules/quality/manager/QualityServiceImpl.java
@@ -254,7 +254,7 @@ public class QualityServiceImpl
 	}
 
 	@Override
-	public void stopDataCollections(Date until) {
+	public void startDataCollection(Date until) {
 		Collection<QualityDataCollection> dataCollections = dataCollectionDao.loadWithPendingStart(until);
 		log.debug("Update status to RUNNING. Number of pending data collections: " + dataCollections.size());
 		for (QualityDataCollection dataCollection: dataCollections) {
@@ -263,7 +263,7 @@ public class QualityServiceImpl
 	}
 
 	@Override
-	public void startDataCollection(Date until) {
+	public void stopDataCollections(Date until) {
 		Collection<QualityDataCollection> dataCollections = dataCollectionDao.loadWithPendingDeadline(until);
 		log.debug("Update status to FINISHED. Number of pending data collections: " + dataCollections.size());
 		for (QualityDataCollection dataCollection: dataCollections) {
diff --git a/src/main/java/org/olat/modules/quality/ui/DataCollectionListController.java b/src/main/java/org/olat/modules/quality/ui/DataCollectionListController.java
index 58b1fe37a3a..bef3772ee5b 100644
--- a/src/main/java/org/olat/modules/quality/ui/DataCollectionListController.java
+++ b/src/main/java/org/olat/modules/quality/ui/DataCollectionListController.java
@@ -141,6 +141,7 @@ public class DataCollectionListController extends FormBasicController implements
 			Long key = entry.getOLATResourceable().getResourceableId();
 			DataCollectionRow row = dataModel.getObjectByKey(key);
 			if (row == null) {
+				dataModel.clear();
 				dataModel.load(null, null, null, 0, -1);
 				row = dataModel.getObjectByKey(key);
 				if (row != null) {
diff --git a/src/main/java/org/olat/modules/quality/ui/ExecutorParticipationsListController.java b/src/main/java/org/olat/modules/quality/ui/ExecutorParticipationsListController.java
index 3b420060053..e76fed4b09a 100644
--- a/src/main/java/org/olat/modules/quality/ui/ExecutorParticipationsListController.java
+++ b/src/main/java/org/olat/modules/quality/ui/ExecutorParticipationsListController.java
@@ -123,6 +123,7 @@ public class ExecutorParticipationsListController extends FormBasicController im
 			Long key = entry.getOLATResourceable().getResourceableId();
 			ExecutorParticipationRow row = dataModel.getObjectByParticipationKey(key);
 			if (row == null) {
+				dataModel.clear();
 				dataModel.load(null, null, null, 0, -1);
 				row = dataModel.getObjectByParticipationKey(key);
 				if (row != null) {
-- 
GitLab