From 2c40d2ee4701759be31c16e9371725357b9193bf Mon Sep 17 00:00:00 2001
From: srosse <stephane.rosse@frentix.com>
Date: Wed, 17 Oct 2018 09:34:45 +0200
Subject: [PATCH] OO-3289: fix selection of organisation in curriculum

---
 .../curriculum/model/CurriculumImpl.java       |  2 +-
 .../ui/EditCurriculumController.java           | 18 ++++++++++--------
 2 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/src/main/java/org/olat/modules/curriculum/model/CurriculumImpl.java b/src/main/java/org/olat/modules/curriculum/model/CurriculumImpl.java
index 2b8293004d9..81a90fc7af4 100644
--- a/src/main/java/org/olat/modules/curriculum/model/CurriculumImpl.java
+++ b/src/main/java/org/olat/modules/curriculum/model/CurriculumImpl.java
@@ -86,7 +86,7 @@ public class CurriculumImpl implements Persistable, Curriculum {
 	private Group group;
 	
 	@ManyToOne(targetEntity=OrganisationImpl.class,fetch=FetchType.LAZY,optional=true)
-	@JoinColumn(name="fk_organisation", nullable=true, insertable=true, updatable=false)
+	@JoinColumn(name="fk_organisation", nullable=true, insertable=true, updatable=true)
 	private Organisation organisation;
 
 	@Override
diff --git a/src/main/java/org/olat/modules/curriculum/ui/EditCurriculumController.java b/src/main/java/org/olat/modules/curriculum/ui/EditCurriculumController.java
index aa388b87ccf..62685f8f2f6 100644
--- a/src/main/java/org/olat/modules/curriculum/ui/EditCurriculumController.java
+++ b/src/main/java/org/olat/modules/curriculum/ui/EditCurriculumController.java
@@ -179,15 +179,16 @@ public class EditCurriculumController extends FormBasicController {
 
 	@Override
 	protected void formOK(UserRequest ureq) {
+		//create a new one
+		Organisation organisation;
+		if(organisationEl != null && organisationEl.isOneSelected()) {
+			organisation = organisationService
+					.getOrganisation(new OrganisationRefImpl(Long.valueOf(organisationEl.getSelectedKey())));
+		} else {
+			organisation = organisationService.getDefaultOrganisation();
+		}
+		
 		if(curriculum == null) {
-			//create a new one
-			Organisation organisation;
-			if(organisationEl != null && organisationEl.isOneSelected()) {
-				organisation = organisationService
-						.getOrganisation(new OrganisationRefImpl(Long.valueOf(organisationEl.getSelectedKey())));
-			} else {
-				organisation = organisationService.getDefaultOrganisation();
-			}
 			curriculum = curriculumService
 					.createCurriculum(identifierEl.getValue(), displayNameEl.getValue(), descriptionEl.getValue(), organisation);
 			curriculumService.addMember(curriculum, getIdentity(), CurriculumRoles.curriculummanager);
@@ -196,6 +197,7 @@ public class EditCurriculumController extends FormBasicController {
 			curriculum.setIdentifier(identifierEl.getValue());
 			curriculum.setDisplayName(displayNameEl.getValue());
 			curriculum.setDescription(descriptionEl.getValue());
+			curriculum.setOrganisation(organisation);
 			curriculum = curriculumService.updateCurriculum(curriculum);
 		}
 
-- 
GitLab