From 20abcac0d24fd21c6e943200fbc4a12fae644a12 Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Fri, 26 Sep 2014 14:32:10 +0200
Subject: [PATCH] OO-1220: backport student overview of statement, fix issue
 with the score

---
 .../org/olat/admin/user/UserAdminController.java     | 12 +++++++++++-
 .../ui/UserEfficiencyStatementTableDataModel.java    |  4 +---
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/src/main/java/org/olat/admin/user/UserAdminController.java b/src/main/java/org/olat/admin/user/UserAdminController.java
index e8a83667026..7365778cd92 100644
--- a/src/main/java/org/olat/admin/user/UserAdminController.java
+++ b/src/main/java/org/olat/admin/user/UserAdminController.java
@@ -57,6 +57,7 @@ import org.olat.core.logging.OLATSecurityException;
 import org.olat.core.util.WebappHelper;
 import org.olat.core.util.resource.OresHelper;
 import org.olat.core.util.vfs.QuotaManager;
+import org.olat.modules.coach.ui.StudentOverviewController;
 import org.olat.properties.Property;
 import org.olat.user.ChangePrefsController;
 import org.olat.user.DisplayPortraitController;
@@ -90,6 +91,7 @@ public class UserAdminController extends BasicController implements Activateable
 	private static final String NLS_EDIT_UQUOTA			= "edit.uquota";
 	private static final String NLS_VIEW_GROUPS 		= "view.groups";
 	private static final String NLS_VIEW_COURSES		= "view.courses";
+	private static final String NLS_VIEW_EFF_STATEMENTS 		= "view.effStatements";
 	private static final String NLS_VIEW_SUBSCRIPTIONS 		= "view.subscriptions";
 	
 	private VelocityContainer myContent;
@@ -105,6 +107,7 @@ public class UserAdminController extends BasicController implements Activateable
 	private ProfileAndHomePageEditController userProfileCtr;
 	private CourseOverviewController courseCtr;
 	private GroupOverviewController grpCtr;
+	private StudentOverviewController efficicencyCtrl;
 
 
 	/**
@@ -216,7 +219,9 @@ public class UserAdminController extends BasicController implements Activateable
 		Identity editor = ureq.getUserSession().getIdentity();
 		SecurityGroup frentixSuperAdminGroup =  BaseSecurityManager.getInstance().findSecurityGroupByName("fxadmins");
 		if(BaseSecurityManager.getInstance().isIdentityInSecurityGroup(identity, frentixSuperAdminGroup)){
-			if(editor.equals(identity)) return true;
+			if(editor.equals(identity) || BaseSecurityManager.getInstance().isIdentityInSecurityGroup(editor, frentixSuperAdminGroup)) {
+				return true;
+			}
 			return false;
 		}
 		
@@ -307,6 +312,11 @@ public class UserAdminController extends BasicController implements Activateable
 		courseCtr = new CourseOverviewController(ureq, getWindowControl(), identity);
 		listenTo(courseCtr);
 		userTabP.addTab(translate(NLS_VIEW_COURSES), courseCtr.getInitialComponent());
+		
+		if (isOlatAdmin) {
+			efficicencyCtrl = new StudentOverviewController(ureq, getWindowControl(), identity);
+			userTabP.addTab(translate(NLS_VIEW_EFF_STATEMENTS), efficicencyCtrl.getInitialComponent());
+		}
 
 		Boolean canSubscriptions = BaseSecurityModule.USERMANAGER_CAN_MODIFY_SUBSCRIPTIONS;
 		if (canSubscriptions.booleanValue() || isOlatAdmin) {
diff --git a/src/main/java/org/olat/modules/coach/ui/UserEfficiencyStatementTableDataModel.java b/src/main/java/org/olat/modules/coach/ui/UserEfficiencyStatementTableDataModel.java
index f833d4cc8aa..a6378451886 100644
--- a/src/main/java/org/olat/modules/coach/ui/UserEfficiencyStatementTableDataModel.java
+++ b/src/main/java/org/olat/modules/coach/ui/UserEfficiencyStatementTableDataModel.java
@@ -23,10 +23,8 @@ import java.util.ArrayList;
 import java.util.List;
 
 import org.olat.core.gui.components.table.TableDataModel;
-import org.olat.course.assessment.AssessmentHelper;
 import org.olat.course.assessment.UserEfficiencyStatement;
 import org.olat.modules.coach.model.EfficiencyStatementEntry;
-import org.olat.modules.coach.ui.ProgressValue;
 
 /**
  * 
@@ -64,7 +62,7 @@ public class UserEfficiencyStatementTableDataModel implements TableDataModel<Use
 			}
 			case score: {
 				UserEfficiencyStatement s = entry;
-				return s == null ? null : AssessmentHelper.getRoundedScore(s.getScore());
+				return s == null ? null : s.getScore();
 			}
 			case passed: {
 				UserEfficiencyStatement s = entry;
-- 
GitLab