diff --git a/config/alfresco/extension/web-client-config-custom.xml.sample b/config/alfresco/extension/web-client-config-custom.xml.sample
index 1087bed54f..d7ac00b077 100644
--- a/config/alfresco/extension/web-client-config-custom.xml.sample
+++ b/config/alfresco/extension/web-client-config-custom.xml.sample
@@ -104,7 +104,6 @@
-
@@ -135,4 +134,4 @@
-->
-
+
\ No newline at end of file
diff --git a/source/java/org/alfresco/web/app/servlet/UploadFileServlet.java b/source/java/org/alfresco/web/app/servlet/UploadFileServlet.java
index 8b3781046f..cd1f54a477 100644
--- a/source/java/org/alfresco/web/app/servlet/UploadFileServlet.java
+++ b/source/java/org/alfresco/web/app/servlet/UploadFileServlet.java
@@ -39,6 +39,7 @@ import org.alfresco.error.AlfrescoRuntimeException;
import org.alfresco.repo.content.MimetypeMap;
import org.alfresco.util.TempFileProvider;
import org.alfresco.web.app.Application;
+import org.alfresco.web.bean.ErrorBean;
import org.alfresco.web.bean.FileUploadBean;
import org.alfresco.web.config.ClientConfigElement;
import org.apache.commons.fileupload.FileItem;
@@ -220,24 +221,61 @@ public class UploadFileServlet extends BaseServlet
{
// finally redirect
if (logger.isDebugEnabled())
- {
logger.debug("redirecting to: " + returnPage);
- }
response.sendRedirect(returnPage);
}
+
+ if (logger.isDebugEnabled())
+ logger.debug("upload complete");
}
catch (Throwable error)
{
- Application.handleServletError(getServletContext(), (HttpServletRequest)request,
- (HttpServletResponse)response, error, logger, returnPage);
- }
-
- if (logger.isDebugEnabled())
- {
- logger.debug("upload complete");
+ handleUploadException(request, response, error, returnPage);
}
}
+
+ private void handleUploadException(HttpServletRequest request, HttpServletResponse response, Throwable error, String returnPage)
+ {
+ try
+ {
+ HttpSession session = request.getSession(true);
+ ErrorBean errorBean = (ErrorBean) session.getAttribute(ErrorBean.ERROR_BEAN_NAME);
+ if (errorBean == null)
+ {
+ errorBean = new ErrorBean();
+ session.setAttribute(ErrorBean.ERROR_BEAN_NAME, errorBean);
+ }
+ errorBean.setLastError(error);
+ errorBean.setReturnPage(returnPage);
+ }
+ catch (Throwable e)
+ {
+ logger.error("Error while handling upload Exception", e);
+ }
+ try
+ {
+ String errorPage = Application.getErrorPage(getServletContext());
+
+ if (logger.isDebugEnabled())
+ {
+ logger.debug("An error has occurred. Sending back response for redirecting to error page: " + errorPage);
+ }
+
+ response.setContentType(MimetypeMap.MIMETYPE_HTML);
+ response.setCharacterEncoding("utf-8");
+ final PrintWriter out = response.getWriter();
+ out.println("
");
+ out.close();
+ }
+ catch (Exception e)
+ {
+ logger.error("Error while handling upload Exception", e);
+ }
+ }
+
private boolean allowZeroByteFiles()
{
diff --git a/source/java/org/alfresco/web/bean/users/CreateUserWizard.java b/source/java/org/alfresco/web/bean/users/CreateUserWizard.java
index 43123d27ed..d597fa1ec7 100644
--- a/source/java/org/alfresco/web/bean/users/CreateUserWizard.java
+++ b/source/java/org/alfresco/web/bean/users/CreateUserWizard.java
@@ -698,21 +698,16 @@ public class CreateUserWizard extends BaseWizardBean
// check for existance of home space with same name - return immediately
// if it exists or throw an exception an give user chance to enter another name
- // TODO: this might be better replaced with an XPath query!
- List children = this.getNodeService().getChildAssocs(parentRef);
- for (ChildAssociationRef ref : children)
+ NodeRef childRef = this.getNodeService().getChildByName(parentRef, ContentModel.ASSOC_CONTAINS, spaceName);
+ if (childRef != null)
{
- String childNodeName = (String) this.getNodeService().getProperty(ref.getChildRef(), ContentModel.PROP_NAME);
- if (spaceName.equals(childNodeName))
+ if (error)
{
- if (error)
- {
- throw new AlfrescoRuntimeException("A Home Space with the same name already exists.");
- }
- else
- {
- return ref.getChildRef();
- }
+ throw new AlfrescoRuntimeException("A Home Space with the same name already exists.");
+ }
+ else
+ {
+ return childRef;
}
}
diff --git a/source/web/scripts/webdav.js b/source/web/scripts/webdav.js
index b6823ea4c3..9d624ff9d0 100644
--- a/source/web/scripts/webdav.js
+++ b/source/web/scripts/webdav.js
@@ -12,25 +12,33 @@ function openDoc(url)
// have to rely on the context path being passed in an anyway)
var contextPath = window.location.pathname.substring(0, window.location.pathname.indexOf("/", 1));
var fullUrl = window.location.protocol + "//" + window.location.host + contextPath + url;
+ var lowerUrl = url.toLowerCase();
// if the link represents an Office document and we are in IE try and
// open the file directly to get WebDAV editing capabilities
if (agent.indexOf("msie") != -1)
{
- if (fullUrl.indexOf(".doc") != -1 ||
- fullUrl.indexOf(".dot") != -1 ||
- fullUrl.indexOf(".xls") != -1 ||
- fullUrl.indexOf(".ppt") != -1)
+ if (lowerUrl.indexOf(".doc") != -1 || lowerUrl.indexOf(".docx") != -1 ||
+ lowerUrl.indexOf(".xls") != -1 || lowerUrl.indexOf(".xlsx") != -1 ||
+ lowerUrl.indexOf(".ppt") != -1 || lowerUrl.indexOf(".pptx") != -1 ||
+ lowerUrl.indexOf(".dot") != -1 || lowerUrl.indexOf(".dotx") != -1)
{
- var wordDoc = new ActiveXObject("SharePoint.OpenDocuments.1");
- if (wordDoc)
+ try
{
- showDoc = false;
- wordDoc.EditDocument(fullUrl);
+ var wordDoc = new ActiveXObject("SharePoint.OpenDocuments.1");
+ if (wordDoc)
+ {
+ showDoc = false;
+ wordDoc.EditDocument(fullUrl);
+ }
+ }
+ catch(e)
+ {
+ showDoc = true;
}
}
}
-
+
if (showDoc == true)
{
window.open(fullUrl, "_blank");