From 7d5e75b5447bb5e93dd4b8425b85c019b1e3cc15 Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Mon, 19 Mar 2012 15:34:20 +0100
Subject: [PATCH] OO-169: fix e-portfolio for groups which hasn't any owner

--HG--
branch : 80-patch
---
 .../olat/portfolio/manager/EPFrontendManager.java    | 12 ++++++++++--
 .../portfolio/ui/structel/EPMapViewController.java   |  7 +++++--
 .../olat/portfolio/ui/structel/_content/mapview.html |  5 +++--
 3 files changed, 18 insertions(+), 6 deletions(-)

diff --git a/src/main/java/org/olat/portfolio/manager/EPFrontendManager.java b/src/main/java/org/olat/portfolio/manager/EPFrontendManager.java
index 70a9bf948c0..b488e5a0a8b 100755
--- a/src/main/java/org/olat/portfolio/manager/EPFrontendManager.java
+++ b/src/main/java/org/olat/portfolio/manager/EPFrontendManager.java
@@ -1197,6 +1197,9 @@ public class EPFrontendManager extends BasicManager {
 	 * @return
 	 */
 	public static String getAllOwnersAsString(PortfolioStructureMap map){
+		if(map.getOwnerGroup() == null) {
+			return null;
+		}
 		List<Identity> ownerIdents = BaseSecurityManager.getInstance().getIdentitiesOfSecurityGroup(map.getOwnerGroup());
 		List<String> identNames = new ArrayList<String>();
 		for (Identity identity : ownerIdents) {
@@ -1213,6 +1216,9 @@ public class EPFrontendManager extends BasicManager {
 	 * @return
 	 */
 	public static String getFirstOwnerAsString(PortfolioStructureMap map){
+		if(map.getOwnerGroup() == null) {
+			return "n/a";
+		}
 		List<Identity> ownerIdents = BaseSecurityManager.getInstance().getIdentitiesOfSecurityGroup(map.getOwnerGroup());
 		if(ownerIdents.size() > 0){
 			Identity id = ownerIdents.get(0);
@@ -1228,13 +1234,15 @@ public class EPFrontendManager extends BasicManager {
 	 * @return
 	 */
 	public static Identity getFirstOwnerIdentity(PortfolioStructureMap map){
+		if(map.getOwnerGroup() == null) {
+			return null;
+		}
 		List<Identity> ownerIdents = BaseSecurityManager.getInstance().getIdentitiesOfSecurityGroup(map.getOwnerGroup());
 		if (ownerIdents.size() > 0) {
 			Identity id = ownerIdents.get(0);
 			return id;
-		} else {
-			throw new AssertException("OwnerGroup of given ePortfolioMap (" + map.getResourceableId() + ") is empty!");
 		}
+		return null;
 	}
 	
 	// not yet available
diff --git a/src/main/java/org/olat/portfolio/ui/structel/EPMapViewController.java b/src/main/java/org/olat/portfolio/ui/structel/EPMapViewController.java
index 5416df6b68a..ce1ed19179f 100644
--- a/src/main/java/org/olat/portfolio/ui/structel/EPMapViewController.java
+++ b/src/main/java/org/olat/portfolio/ui/structel/EPMapViewController.java
@@ -127,9 +127,12 @@ public class EPMapViewController extends BasicController implements Activateable
 
 	protected void initForm(UserRequest ureq) {
 		Identity ownerIdentity = EPFrontendManager.getFirstOwnerIdentity(map);
-		DisplayPortraitController portraitCtr = new DisplayPortraitController(ureq, getWindowControl(), ownerIdentity, false,true,true,false);
+		if(ownerIdentity != null) {
+			DisplayPortraitController portraitCtr = new DisplayPortraitController(ureq, getWindowControl(), ownerIdentity, false,true,true,false);
+			mainVc.put("ownerportrait", portraitCtr.getInitialComponent());
+		}
+		
 		mainVc.contextPut("map", map);
-		mainVc.put("ownerportrait", portraitCtr.getInitialComponent());
 		mainVc.contextPut("style", ePFMgr.getValidStyleName(map));
 		
 		Boolean editMode = editButton == null ? Boolean.FALSE : (Boolean)editButton.getUserObject();
diff --git a/src/main/java/org/olat/portfolio/ui/structel/_content/mapview.html b/src/main/java/org/olat/portfolio/ui/structel/_content/mapview.html
index 3a22becd1e6..69f6fb0858d 100644
--- a/src/main/java/org/olat/portfolio/ui/structel/_content/mapview.html
+++ b/src/main/java/org/olat/portfolio/ui/structel/_content/mapview.html
@@ -30,8 +30,9 @@
 	
 		#if(!$r.available("editor"))
 			<div class="b_eportfolio_mapdescr">$map.description</div>
-			<div class="b_eportfolio_mapowner">$r.translate("map.owners","") $r.render("ownerportrait")</div>
-			
+			#if($r.available("ownerportrait"))
+				<div class="b_eportfolio_mapowner">$r.translate("map.owners","") $r.render("ownerportrait")</div>
+			#end
 			<div class="b_clearfix"></div>
 		
 			## show av. artefacts here...
-- 
GitLab