<#if res.isDocument>
- <#if res.name?ends_with(extn)>
+ <#if child.name?ends_with(extn) || child.name?ends_with(extnx)>
<#assign relativePath = (res.displayPath?substring(companyhome.name?length+1) + '/' + res.name)?url?replace('%2F', '/')?replace('\'', '\\\'') />
 |
diff --git a/config/alfresco/templates/webscripts/org/alfresco/office/navigation.get.html.ftl b/config/alfresco/templates/webscripts/org/alfresco/office/navigation.get.html.ftl
index f96678e6ad..c304c69b75 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/office/navigation.get.html.ftl
+++ b/config/alfresco/templates/webscripts/org/alfresco/office/navigation.get.html.ftl
@@ -1,5 +1,5 @@
<#assign doc_actions="${url.serviceContext}/office/docActions">
-<#if args.e?exists><#assign extn=args.e><#else><#assign extn="doc">#if>
+<#if args.e?exists><#assign extn=args.e><#else><#assign extn="doc">#if><#assign extnx=extn+"x">
<#if args.n?exists><#assign nav=args.n><#else><#assign nav="">#if>
<#assign chLen=companyhome.name?length>
<#if node.isDocument>
@@ -137,14 +137,14 @@
<#assign relativePath = (child.displayPath?substring(chLen+1) + '/' + child.name)?url?replace('%2F', '/')?replace('\'', '\\\'') />
- <#if child.name?ends_with(extn)>
+ <#if child.name?ends_with(extn) || child.name?ends_with(extnx)>
<#else>
#if>
- <#if child.name?ends_with(extn)>
+ <#if child.name?ends_with(extn) || child.name?ends_with(extnx)>
${child.name}
<#else>
${child.name}
diff --git a/config/alfresco/templates/webscripts/org/alfresco/office/search.get.html.ftl b/config/alfresco/templates/webscripts/org/alfresco/office/search.get.html.ftl
index 2897f1b888..acd3b73068 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/office/search.get.html.ftl
+++ b/config/alfresco/templates/webscripts/org/alfresco/office/search.get.html.ftl
@@ -1,6 +1,6 @@
<#if args.p?exists><#assign path=args.p><#else><#assign path="">#if>
<#if args.n?exists><#assign node=args.n><#else><#assign node=companyhome>#if>
-<#if args.e?exists><#assign extn=args.e><#else><#assign extn="doc">#if>
+<#if args.e?exists><#assign extn=args.e><#else><#assign extn="doc">#if><#assign extnx=extn+"x">
<#if args.n?exists><#assign nav=args.n><#else><#assign nav="">#if>
<#assign searchCommand="OfficeSearch.runSearch('${url.serviceContext}/office/searchResults', '${path}&e=${extn}')" >
<#if (args.searchagain?exists)><#assign searchText=args.searchagain><#else><#assign searchText="">#if>
diff --git a/config/alfresco/templates/webscripts/org/alfresco/office/searchResults.get.html.ftl b/config/alfresco/templates/webscripts/org/alfresco/office/searchResults.get.html.ftl
index 9eeff0184b..890bfc9201 100644
--- a/config/alfresco/templates/webscripts/org/alfresco/office/searchResults.get.html.ftl
+++ b/config/alfresco/templates/webscripts/org/alfresco/office/searchResults.get.html.ftl
@@ -1,4 +1,4 @@
-<#if args.e?exists><#assign extn=args.e><#else><#assign extn="doc">#if>
+<#if args.e?exists><#assign extn=args.e><#else><#assign extn="doc">#if><#assign extnx=extn+"x">
<#if args.search?exists>
<#assign searchString = args.search>
<#if searchString != "">
@@ -28,7 +28,7 @@
<#list results as child>
<#assign resCount=resCount + 1>
<#if child.isDocument>
- <#if child.name?ends_with(extn)>
+ <#if child.name?ends_with(extn) || child.name?ends_with(extnx)>
<#assign relativePath = (child.displayPath?substring(companyhome.name?length+1) + '/' + child.name)?url?replace('%2F', '/')?replace('\'', '\\\'') />
<#assign openURL = "#">
<#assign hrefExtra = " onClick=\"window.external.openDocument('${relativePath}')\"">
diff --git a/source/java/org/alfresco/web/bean/wcm/AVMWorkflowUtil.java b/source/java/org/alfresco/web/bean/wcm/AVMWorkflowUtil.java
index 9f76e3e46e..ece99433cd 100644
--- a/source/java/org/alfresco/web/bean/wcm/AVMWorkflowUtil.java
+++ b/source/java/org/alfresco/web/bean/wcm/AVMWorkflowUtil.java
@@ -60,6 +60,7 @@ import org.alfresco.service.cmr.repository.NodeService;
import org.alfresco.service.cmr.security.AuthorityService;
import org.alfresco.service.cmr.security.PermissionService;
import org.alfresco.service.cmr.workflow.WorkflowDefinition;
+import org.alfresco.service.cmr.workflow.WorkflowException;
import org.alfresco.service.cmr.workflow.WorkflowPath;
import org.alfresco.service.cmr.workflow.WorkflowService;
import org.alfresco.service.namespace.QName;
@@ -110,7 +111,17 @@ public class AVMWorkflowUtil extends WorkflowUtil
diffs.add(new AVMDifference(-1, parentPath,
-1, AVMUtil.getCorrespondingPath(parentPath, workflowMainStoreName),
AVMDifference.NEWER));
- avmSubmittedAspect.markSubmitted(-1, parentPath, path.instance.id);
+ try
+ {
+ avmSubmittedAspect.markSubmitted(-1, parentPath, path.instance.id);
+ }
+ catch (final WorkflowException alreadySubmitted)
+ {
+ if (! path.instance.id.equals(avmSubmittedAspect.getWorkflowInstance(-1, parentPath)))
+ {
+ throw alreadySubmitted;
+ }
+ }
directoriesAdded.add(parentPath);
parentPath = AVMNodeConverter.SplitBase(parentPath)[0];
}
diff --git a/source/java/org/alfresco/web/bean/workflow/ManageTaskDialog.java b/source/java/org/alfresco/web/bean/workflow/ManageTaskDialog.java
index 569a93d423..1427f798fe 100644
--- a/source/java/org/alfresco/web/bean/workflow/ManageTaskDialog.java
+++ b/source/java/org/alfresco/web/bean/workflow/ManageTaskDialog.java
@@ -41,6 +41,7 @@ import org.alfresco.model.ContentModel;
import org.alfresco.model.WCMModel;
import org.alfresco.repo.avm.AVMNodeConverter;
import org.alfresco.repo.workflow.WorkflowModel;
+import org.alfresco.service.cmr.avm.AVMNodeDescriptor;
import org.alfresco.service.cmr.avm.AVMService;
import org.alfresco.service.cmr.avmsync.AVMDifference;
import org.alfresco.service.cmr.avmsync.AVMSyncService;
@@ -67,11 +68,13 @@ import org.alfresco.web.bean.repository.Repository;
import org.alfresco.web.bean.repository.TransientNode;
import org.alfresco.web.bean.repository.User;
import org.alfresco.web.bean.wcm.AVMNode;
+import org.alfresco.web.bean.wcm.AVMUtil;
import org.alfresco.web.bean.wcm.AVMWorkflowUtil;
import org.alfresco.web.config.DialogsConfigElement.DialogButtonConfig;
import org.alfresco.web.ui.common.Utils;
import org.alfresco.web.ui.common.component.UIActionLink;
import org.alfresco.web.ui.common.component.data.UIRichList;
+import org.apache.commons.lang.StringUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
@@ -816,6 +819,14 @@ public class ManageTaskDialog extends BaseDialogBean
node.addPropertyResolver("url", this.browseBean.resolverUrl);
}
this.resources.add(node);
+ if (node.isDirectory())
+ {
+ for (final AVMNodeDescriptor d :
+ this.avmService.getDirectoryListingArray(node.getDescriptor(), true))
+ {
+ this.addAVMNode(new AVMNode(d));
+ }
+ }
}
protected void createAndAddNode(NodeRef nodeRef)
|