From 6997c25f03a32a9668db3da361de148fdb55010d Mon Sep 17 00:00:00 2001
From: srosse <none@none>
Date: Thu, 24 Jul 2014 12:05:58 +0200
Subject: [PATCH] OO-984: update the number of comments in the details view, in
 create file of folder, no extension is html per default

---
 .../commons/modules/bc/commands/CmdCreateFile.java    |  5 +++--
 .../commentAndRating/ui/UserCommentsController.java   |  4 ++++
 .../ui/list/RepositoryEntryDetailsController.java     | 11 +++++++++++
 3 files changed, 18 insertions(+), 2 deletions(-)

diff --git a/src/main/java/org/olat/core/commons/modules/bc/commands/CmdCreateFile.java b/src/main/java/org/olat/core/commons/modules/bc/commands/CmdCreateFile.java
index 3bd3ac39087..3a9b7130bd0 100644
--- a/src/main/java/org/olat/core/commons/modules/bc/commands/CmdCreateFile.java
+++ b/src/main/java/org/olat/core/commons/modules/bc/commands/CmdCreateFile.java
@@ -229,10 +229,10 @@ public class CmdCreateFile extends FormBasicController implements FolderCommand
 				isInputValid = false;
 				return isInputValid;
 			} else if (!fileName.endsWith(".html") && !fileName.endsWith(".htm") && !fileName.endsWith(".txt") && !fileName.endsWith(".css")) {
-      //add html extension if missing
+				//add html extension if missing
 				fileName = fileName + ".html";
 			}
-      //ok, file name is sanitized, let's see if a file with this name already exists
+			//ok, file name is sanitized, let's see if a file with this name already exists
 			VFSContainer currentContainer = folderComponent.getCurrentContainer();
 			VFSItem item = currentContainer.resolve(fileName);
 			if (item != null) {
@@ -240,6 +240,7 @@ public class CmdCreateFile extends FormBasicController implements FolderCommand
 				isInputValid = false;
 			} else {
 				isInputValid = true;
+				textElement.setValue(fileName);
 			}
 		}
 		return isInputValid;			
diff --git a/src/main/java/org/olat/core/commons/services/commentAndRating/ui/UserCommentsController.java b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/UserCommentsController.java
index 92cd4581f41..4dd192e6754 100644
--- a/src/main/java/org/olat/core/commons/services/commentAndRating/ui/UserCommentsController.java
+++ b/src/main/java/org/olat/core/commons/services/commentAndRating/ui/UserCommentsController.java
@@ -113,6 +113,10 @@ public class UserCommentsController extends BasicController {
 	public void setUserObject(Object userObject) {
 		this.userObject = userObject;
 	}
+	
+	public int getNumOfComments() {
+		return commentControllers == null ? 0 : commentControllers.size();
+	}
 
 	/**
 	 * @see org.olat.core.gui.control.DefaultController#doDispose()
diff --git a/src/main/java/org/olat/repository/ui/list/RepositoryEntryDetailsController.java b/src/main/java/org/olat/repository/ui/list/RepositoryEntryDetailsController.java
index fa2f17531b4..f7b4c1b5082 100644
--- a/src/main/java/org/olat/repository/ui/list/RepositoryEntryDetailsController.java
+++ b/src/main/java/org/olat/repository/ui/list/RepositoryEntryDetailsController.java
@@ -451,15 +451,26 @@ public class RepositoryEntryDetailsController extends FormBasicController {
 	protected void event(UserRequest ureq, Controller source, Event event) {
 		if(commentsCtrl == source) {
 			if(event == Event.CANCELLED_EVENT) {
+				updateComments(commentsCtrl.getNumOfComments());
 				cmc.deactivate();
 				cleanUp();
 			}
 		} else if(cmc == source) {
+			if(commentsCtrl != null) {
+				updateComments(commentsCtrl.getNumOfComments());
+			}
 			cleanUp();
 		}
 		super.event(ureq, source, event);
 	}
 	
+	private void updateComments(int numOfComments) {
+		String title = "(" + numOfComments + ")";
+		commentsLink.setI18nKey(title);
+		String css = numOfComments > 0 ? "o_icon o_icon_comments o_icon-lg" : "o_icon o_icon_comments_none o_icon-lg";
+		commentsLink.setIconLeftCSS(css);
+	}
+	
 	private void cleanUp() {
 		removeAsListenerAndDispose(commentsCtrl);
 		removeAsListenerAndDispose(cmc);
-- 
GitLab