From 5db65e2784f9d4d332ef811077fa8cdea69cdfc2 Mon Sep 17 00:00:00 2001
From: srosse <stephane.rosse@frentix.com>
Date: Thu, 16 Apr 2020 15:25:40 +0200
Subject: [PATCH] OO-4640: load the context by key in metadata's bulk changes

---
 .../ui/metadata/MetadataBulkChangeController.java   | 13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/src/main/java/org/olat/modules/qpool/ui/metadata/MetadataBulkChangeController.java b/src/main/java/org/olat/modules/qpool/ui/metadata/MetadataBulkChangeController.java
index 766f8d0d741..f09e38a5177 100644
--- a/src/main/java/org/olat/modules/qpool/ui/metadata/MetadataBulkChangeController.java
+++ b/src/main/java/org/olat/modules/qpool/ui/metadata/MetadataBulkChangeController.java
@@ -81,7 +81,11 @@ public class MetadataBulkChangeController extends FormBasicController {
 
 	private static final String[] EMPTY_VALUES = new String[]{ "" };
 	
-	private TextElement topicEl, keywordsEl, coverageEl, addInfosEl, languageEl;
+	private TextElement topicEl;
+	private TextElement keywordsEl;
+	private TextElement coverageEl;
+	private TextElement addInfosEl;
+	private TextElement languageEl;
 	private SingleSelection taxonomyLevelEl;
 	private SingleSelection contextEl;
 	private FormLayoutContainer learningTimeContainer;
@@ -102,6 +106,7 @@ public class MetadataBulkChangeController extends FormBasicController {
 	private Map<MultipleSelectionElement, FormLayoutContainer> checkboxContainer = new HashMap<>();
 	private final List<MultipleSelectionElement> checkboxSwitch = new ArrayList<>();
 	
+	private KeyValues contextsKeyValues;
 	private final QPoolSecurityCallback qpoolSecurityCallback;
 	private List<QuestionItem> updatedItems;
 	private final List<ItemRow> items;
@@ -165,9 +170,9 @@ public class MetadataBulkChangeController extends FormBasicController {
 		}
 	
 		if (qpoolSecurityCallback.canUseEducationalContext()) {
-			KeyValues contexts = MetaUIFactory.getContextKeyValues(getTranslator(), qpoolService);
+			contextsKeyValues = MetaUIFactory.getContextKeyValues(getTranslator(), qpoolService);
 			contextEl = uifactory.addDropdownSingleselect("educational.context", "educational.context", generalCont,
-					contexts.getKeys(), contexts.getValues(), null);
+					contextsKeyValues.getKeys(), contextsKeyValues.getValues(), null);
 			contextEl.setAllowNoSelection(true);
 			decorate(contextEl, generalCont);
 		}
@@ -417,7 +422,7 @@ public class MetadataBulkChangeController extends FormBasicController {
 	private void formOKQuestion(QuestionItemImpl itemImpl) {
 		if(isEnabled(contextEl)) {
 			if(contextEl.isOneSelected()) {
-				QEducationalContext context = qpoolService.getEducationlContextByLevel(contextEl.getSelectedKey());
+				QEducationalContext context = MetaUIFactory.getContextByKey(contextEl.getSelectedKey(), qpoolService);
 				itemImpl.setEducationalContext(context);
 			} else {
 				itemImpl.setEducationalContext(null);
-- 
GitLab