diff --git a/source/java/org/alfresco/web/ui/common/Utils.java b/source/java/org/alfresco/web/ui/common/Utils.java
index 785a052ec9..ffc03bdc8c 100644
--- a/source/java/org/alfresco/web/ui/common/Utils.java
+++ b/source/java/org/alfresco/web/ui/common/Utils.java
@@ -19,6 +19,7 @@ package org.alfresco.web.ui.common;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.StringReader;
+import java.io.UnsupportedEncodingException;
import java.net.URLEncoder;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
@@ -50,6 +51,7 @@ import org.alfresco.repo.webdav.WebDAVServlet;
import org.alfresco.service.cmr.dictionary.DictionaryService;
import org.alfresco.service.cmr.model.FileFolderService;
import org.alfresco.service.cmr.model.FileInfo;
+import org.alfresco.service.cmr.model.FileNotFoundException;
import org.alfresco.service.cmr.repository.InvalidNodeRefException;
import org.alfresco.service.cmr.repository.NodeRef;
import org.alfresco.service.cmr.repository.NodeService;
@@ -554,10 +556,18 @@ public final class Utils
}
url = path.toString();
}
- catch (Exception e)
+ catch (AccessDeniedException e)
+ {
+ // cannot build path if user don't have access all the way up
+ }
+ catch (FileNotFoundException nodeErr)
+ {
+ // cannot build path if file no longer exists
+ }
+ catch (UnsupportedEncodingException encErr)
{
if (logger.isWarnEnabled())
- logger.warn("Failed to calculate webdav url", e);
+ logger.warn("Failed to calculate webdav url for node: " + node.getNodeRef(), encErr);
}
break;
}
@@ -572,18 +582,29 @@ public final class Utils
getSessionMap().get("NavigationBean");
CIFSServer cifsServer = (CIFSServer)FacesContextUtils.getRequiredWebApplicationContext(
context).getBean("cifsServer");
-
+
if (nodeService != null && navBean != null && cifsServer != null)
{
DiskSharedDevice diskShare = cifsServer.getConfiguration().getPrimaryFilesystem();
if (diskShare != null)
{
- ContentContext contentCtx = (ContentContext) diskShare.getContext();
- NodeRef rootNode = contentCtx.getRootNode();
- Path path = nodeService.getPath(node.getNodeRef());
- url = Repository.getNamePath(nodeService, path, rootNode, "\\",
- "file:///" + navBean.getCIFSServerPath(diskShare));
+ ContentContext contentCtx = (ContentContext) diskShare.getContext();
+ NodeRef rootNode = contentCtx.getRootNode();
+ try
+ {
+ Path path = nodeService.getPath(node.getNodeRef());
+ url = Repository.getNamePath(nodeService, path, rootNode, "\\",
+ "file:///" + navBean.getCIFSServerPath(diskShare));
+ }
+ catch (AccessDeniedException e)
+ {
+ // cannot build path if user don't have access all the way up
+ }
+ catch (InvalidNodeRefException nodeErr)
+ {
+ // cannot build path if node no longer exists
+ }
}
}
break;
diff --git a/source/web/WEB-INF/alfresco.tld b/source/web/WEB-INF/alfresco.tld
index 0c77666ddc..36166f665d 100644
--- a/source/web/WEB-INF/alfresco.tld
+++ b/source/web/WEB-INF/alfresco.tld
@@ -1616,6 +1616,12 @@
org.alfresco.web.ui.common.tag.OutputTextTag
JSP
+
+ id
+ false
+ true
+
+
value
true
diff --git a/source/web/jsp/dialog/document-details.jsp b/source/web/jsp/dialog/document-details.jsp
index 1fdddb0283..56828e7c6b 100644
--- a/source/web/jsp/dialog/document-details.jsp
+++ b/source/web/jsp/dialog/document-details.jsp
@@ -250,10 +250,10 @@
-
+
|
-
+
|
diff --git a/source/web/jsp/dialog/space-details.jsp b/source/web/jsp/dialog/space-details.jsp
index 8874ece4c2..a882b664aa 100644
--- a/source/web/jsp/dialog/space-details.jsp
+++ b/source/web/jsp/dialog/space-details.jsp
@@ -248,10 +248,10 @@
-
+
|
-
+
|