From 8dc23fc2899eb43bba63eac5afbdcfdd1f12adb1 Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Tue, 20 Dec 2016 10:24:58 +0100
Subject: [PATCH] OO-2329: form is mandatory for assignment of type form and
 need to be checked

---
 .../portfolio/ui/AssignmentEditController.java   | 16 ++++++++++++++++
 1 file changed, 16 insertions(+)

diff --git a/src/main/java/org/olat/modules/portfolio/ui/AssignmentEditController.java b/src/main/java/org/olat/modules/portfolio/ui/AssignmentEditController.java
index a107399662f..7682fdd973d 100644
--- a/src/main/java/org/olat/modules/portfolio/ui/AssignmentEditController.java
+++ b/src/main/java/org/olat/modules/portfolio/ui/AssignmentEditController.java
@@ -220,6 +220,7 @@ public class AssignmentEditController extends FormBasicController {
 		String editPage = Util.getPackageVelocityRoot(getClass()) + "/assignment_select_form.html";
 		selectFormLayout = FormLayoutContainer.createCustomFormLayout("selectFormLayout", getTranslator(), editPage);
 		selectFormLayout.setLabel("assignment.evaluation.form.entry", null);
+		selectFormLayout.setMandatory(true);
 		formLayout.add(selectFormLayout);
 		if(formEntry != null) {
 			String displayName = StringHelper.escapeHtml(formEntry.getDisplayname());
@@ -358,6 +359,21 @@ public class AssignmentEditController extends FormBasicController {
 				allOk &= false;
 			}
 		}
+		
+		typeEl.clearError();
+		selectFormLayout.clearError();
+		if(typeEl.isOneSelected()) {
+			AssignmentType type = AssignmentType.valueOf(typeEl.getSelectedKey());
+			if(type == AssignmentType.form) {
+				if(formEntry == null) {
+					selectFormLayout.setErrorKey("form.legende.mandatory", null);
+					allOk &= false;
+				}	
+			}
+		} else {
+			typeEl.setErrorKey("form.legende.mandatory", null);
+			allOk &= false;
+		}
 
 		return allOk & super.validateFormLogic(ureq);
 	}
-- 
GitLab