From f1f26afed5503b987d8212b996a5fdc0000da83e Mon Sep 17 00:00:00 2001
From: Paul-Christian Volkmer <paul-christian.volkmer@mni.thm.de>
Date: Sun, 24 Feb 2013 10:57:44 +0100
Subject: [PATCH] Only send courses where current user is manager

---
 pom.xml                                           |  2 +-
 .../thm/arsnova/controller/CourseController.java  | 15 +++++++++++++--
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git a/pom.xml b/pom.xml
index 1eb378fa..87815d8a 100644
--- a/pom.xml
+++ b/pom.xml
@@ -316,7 +316,7 @@
 		<dependency>
 			<groupId>de.thm.arsnova.connector</groupId>
 			<artifactId>connector-client</artifactId>
-			<version>[0.12,)</version>
+			<version>0.13.0-SNAPSHOT</version>
 		</dependency>
 	</dependencies>
 	<build>
diff --git a/src/main/java/de/thm/arsnova/controller/CourseController.java b/src/main/java/de/thm/arsnova/controller/CourseController.java
index b0459487..7f40a596 100644
--- a/src/main/java/de/thm/arsnova/controller/CourseController.java
+++ b/src/main/java/de/thm/arsnova/controller/CourseController.java
@@ -19,6 +19,7 @@
 package de.thm.arsnova.controller;
 
 import java.io.Serializable;
+import java.util.ArrayList;
 import java.util.Collections;
 import java.util.Comparator;
 import java.util.List;
@@ -34,6 +35,7 @@ import org.springframework.web.bind.annotation.ResponseBody;
 
 import de.thm.arsnova.connector.client.ConnectorClient;
 import de.thm.arsnova.connector.model.Course;
+import de.thm.arsnova.connector.model.UserRole;
 import de.thm.arsnova.exceptions.NotFoundException;
 import de.thm.arsnova.exceptions.UnauthorizedException;
 import de.thm.arsnova.services.ISessionService;
@@ -57,7 +59,7 @@ public class CourseController extends AbstractController {
 	@RequestMapping(value = "/mycourses", method = RequestMethod.GET)
 	@ResponseBody
 	public final List<Course> myCourses(
-			@RequestParam(value="sortby", defaultValue="name") String sortby
+			@RequestParam(value="sortby", defaultValue="name") final String sortby
 	) {
 		String username = userService.getCurrentUser().getUsername();
 
@@ -69,7 +71,16 @@ public class CourseController extends AbstractController {
 			throw new NotFoundException();
 		}
 
-		List<Course> result = connectorClient.getCourses(username).getCourse();
+		List<Course> result = new ArrayList<Course>();
+		
+		for (Course course : connectorClient.getCourses(username).getCourse()) {
+			if (
+					course.getMembership().isMember()
+					&& course.getMembership().getUserrole().equals(UserRole.MANAGER)
+			) {
+				result.add(course);
+			}
+		}
 		
 		if (sortby != null && sortby.equals("shortname")) {
 			Collections.sort(result, new CourseShortNameComperator());
-- 
GitLab