Merged V2.1 to HEAD

6349: Build fix after ReadPermissions was added to the permission model
   6350: CIFS file rename fixes
   6352: Management of avmsubmittedaspect, particularly as applies to newly created directories
   6353: Added assemble to ignore property pattern
   6354: Deployment project build stuff
   6355: Fix for AR-1245 (Do not authenticate in a read only TX as it could create a person object)
   6356: Office 2003 Add-Ins - Fixes to installers to support Vista
   6357: Office Add-In web scripts - Updated to support the new Office 2007 extensions (.docx, .xlsx, .pptx)
   6358: Fix for AR-1392 - Audit string lengths
   6359: Remove unwanted rule model from repo
            Fix issue with update rules on spaces causing documents to be deleted in CIFS
   6360: Office 2003 Add-In Installers, Vista fixes


git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@6723 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261
This commit is contained in:
Derek Hulley
2007-09-10 14:30:55 +00:00
parent 0fb2ae13f9
commit 74fe9dfbb0
8 changed files with 35 additions and 13 deletions

View File

@@ -1,6 +1,6 @@
<#assign doc_actions="${url.serviceContext}/office/docActions"> <#assign doc_actions="${url.serviceContext}/office/docActions">
<#if args.p?exists><#assign path=args.p><#else><#assign path=""></#if> <#if args.p?exists><#assign path=args.p><#else><#assign path=""></#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> <#if args.n?exists><#assign nav=args.n><#else><#assign nav=""></#if>
<#-- resolve the path (from Company Home) into a node --> <#-- resolve the path (from Company Home) into a node -->
<#if companyhome.childByNamePath[path]?exists> <#if companyhome.childByNamePath[path]?exists>
@@ -167,7 +167,7 @@
</a> </a>
<br />Start Advanced Workflow for the current document. <br />Start Advanced Workflow for the current document.
</li> </li>
<#if d.name?ends_with(extn)> <#if d.name?ends_with(extn) || d.name?ends_with(extnx)>
<li> <li>
<a href="#" onclick="OfficeAddin.runAction('${doc_actions}','makepdf','${d.id}', '');"> <a href="#" onclick="OfficeAddin.runAction('${doc_actions}','makepdf','${d.id}', '');">
<img src="${url.context}/images/office/makepdf.gif" alt="Transform to PDF" /> <img src="${url.context}/images/office/makepdf.gif" alt="Transform to PDF" />

View File

@@ -1,6 +1,6 @@
<#assign doc_actions="${url.serviceContext}/office/docActions"> <#assign doc_actions="${url.serviceContext}/office/docActions">
<#if args.p?exists><#assign path=args.p><#else><#assign path=""></#if> <#if args.p?exists><#assign path=args.p><#else><#assign path=""></#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> <#if args.n?exists><#assign nav=args.n><#else><#assign nav=""></#if>
<#-- resolve the path (from Company Home) into a node --> <#-- resolve the path (from Company Home) into a node -->
<#if companyhome.childByNamePath[path]?exists> <#if companyhome.childByNamePath[path]?exists>
@@ -46,7 +46,7 @@
<img src="${url.context}${child.icon32}" alt="${child.name}" /> <img src="${url.context}${child.icon32}" alt="${child.name}" />
</span> </span>
<span class="documentItemDetails"> <span class="documentItemDetails">
<#if child.name?ends_with(extn)> <#if child.name?ends_with(extn) || child.name?ends_with(extnx)>
<a href="#" onclick="window.external.openDocument('${relativePath}')" title="Open ${child.name}" style="font-weight: bold;">${child.name}</a><br /> <a href="#" onclick="window.external.openDocument('${relativePath}')" title="Open ${child.name}" style="font-weight: bold;">${child.name}</a><br />
<#else> <#else>
<a href="${url.context}${child.url}?ticket=${session.ticket}" target="_blank" title="Open ${child.name}" style="font-weight: bold;">${child.name}</a><br /> <a href="${url.context}${child.url}?ticket=${session.ticket}" target="_blank" title="Open ${child.name}" style="font-weight: bold;">${child.name}</a><br />

View File

@@ -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.t?exists> <#if args.t?exists>
<#assign taskid = args.t> <#assign taskid = args.t>
<#if taskid != ""> <#if taskid != "">
@@ -45,7 +45,7 @@
<#list task.packageResources as res> <#list task.packageResources as res>
<tr> <tr>
<#if res.isDocument> <#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('\'', '\\\'') /> <#assign relativePath = (res.displayPath?substring(companyhome.name?length+1) + '/' + res.name)?url?replace('%2F', '/')?replace('\'', '\\\'') />
<td width="16"><a href="${url.context}${res.url}" target="new"><img src="${url.context}${res.icon16}" alt="${res.name}"></a></td> <td width="16"><a href="${url.context}${res.url}" target="new"><img src="${url.context}${res.icon16}" alt="${res.name}"></a></td>
<td> <td>

View File

@@ -1,5 +1,5 @@
<#assign doc_actions="${url.serviceContext}/office/docActions"> <#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> <#if args.n?exists><#assign nav=args.n><#else><#assign nav=""></#if>
<#assign chLen=companyhome.name?length> <#assign chLen=companyhome.name?length>
<#if node.isDocument> <#if node.isDocument>
@@ -137,14 +137,14 @@
<#assign relativePath = (child.displayPath?substring(chLen+1) + '/' + child.name)?url?replace('%2F', '/')?replace('\'', '\\\'') /> <#assign relativePath = (child.displayPath?substring(chLen+1) + '/' + child.name)?url?replace('%2F', '/')?replace('\'', '\\\'') />
<div class="documentItem ${(documentsFound % 2 = 0)?string("even", "odd")}"> <div class="documentItem ${(documentsFound % 2 = 0)?string("even", "odd")}">
<span class="documentItemIcon"> <span class="documentItemIcon">
<#if child.name?ends_with(extn)> <#if child.name?ends_with(extn) || child.name?ends_with(extnx)>
<a href="#" onclick="window.external.openDocument('${relativePath}')"><img src="${url.context}${child.icon32}" alt="Open ${child.name}" /></a> <a href="#" onclick="window.external.openDocument('${relativePath}')"><img src="${url.context}${child.icon32}" alt="Open ${child.name}" /></a>
<#else> <#else>
<a href="${url.context}${child.url}?ticket=${session.ticket}" rel="_blank"><img src="${url.context}${child.icon32}" alt="Open ${child.name}" /></a> <a href="${url.context}${child.url}?ticket=${session.ticket}" rel="_blank"><img src="${url.context}${child.icon32}" alt="Open ${child.name}" /></a>
</#if> </#if>
</span> </span>
<span class="documentItemDetails"> <span class="documentItemDetails">
<#if child.name?ends_with(extn)> <#if child.name?ends_with(extn) || child.name?ends_with(extnx)>
<a href="#" onclick="window.external.openDocument('${relativePath}')"><span class="bold">${child.name}</span></a> <a href="#" onclick="window.external.openDocument('${relativePath}')"><span class="bold">${child.name}</span></a>
<#else> <#else>
<a href="${url.context}${child.url}?ticket=${session.ticket}" rel="_blank"><span class="bold">${child.name}</span></a> <a href="${url.context}${child.url}?ticket=${session.ticket}" rel="_blank"><span class="bold">${child.name}</span></a>

View File

@@ -1,6 +1,6 @@
<#if args.p?exists><#assign path=args.p><#else><#assign path=""></#if> <#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.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> <#if args.n?exists><#assign nav=args.n><#else><#assign nav=""></#if>
<#assign searchCommand="OfficeSearch.runSearch('${url.serviceContext}/office/searchResults', '${path}&amp;e=${extn}')" > <#assign searchCommand="OfficeSearch.runSearch('${url.serviceContext}/office/searchResults', '${path}&amp;e=${extn}')" >
<#if (args.searchagain?exists)><#assign searchText=args.searchagain><#else><#assign searchText=""></#if> <#if (args.searchagain?exists)><#assign searchText=args.searchagain><#else><#assign searchText=""></#if>

View File

@@ -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> <#if args.search?exists>
<#assign searchString = args.search> <#assign searchString = args.search>
<#if searchString != ""> <#if searchString != "">
@@ -28,7 +28,7 @@
<#list results as child> <#list results as child>
<#assign resCount=resCount + 1> <#assign resCount=resCount + 1>
<#if child.isDocument> <#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 relativePath = (child.displayPath?substring(companyhome.name?length+1) + '/' + child.name)?url?replace('%2F', '/')?replace('\'', '\\\'') />
<#assign openURL = "#"> <#assign openURL = "#">
<#assign hrefExtra = " onClick=\"window.external.openDocument('${relativePath}')\""> <#assign hrefExtra = " onClick=\"window.external.openDocument('${relativePath}')\"">

View File

@@ -60,6 +60,7 @@ import org.alfresco.service.cmr.repository.NodeService;
import org.alfresco.service.cmr.security.AuthorityService; import org.alfresco.service.cmr.security.AuthorityService;
import org.alfresco.service.cmr.security.PermissionService; import org.alfresco.service.cmr.security.PermissionService;
import org.alfresco.service.cmr.workflow.WorkflowDefinition; 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.WorkflowPath;
import org.alfresco.service.cmr.workflow.WorkflowService; import org.alfresco.service.cmr.workflow.WorkflowService;
import org.alfresco.service.namespace.QName; import org.alfresco.service.namespace.QName;
@@ -110,7 +111,17 @@ public class AVMWorkflowUtil extends WorkflowUtil
diffs.add(new AVMDifference(-1, parentPath, diffs.add(new AVMDifference(-1, parentPath,
-1, AVMUtil.getCorrespondingPath(parentPath, workflowMainStoreName), -1, AVMUtil.getCorrespondingPath(parentPath, workflowMainStoreName),
AVMDifference.NEWER)); 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); directoriesAdded.add(parentPath);
parentPath = AVMNodeConverter.SplitBase(parentPath)[0]; parentPath = AVMNodeConverter.SplitBase(parentPath)[0];
} }

View File

@@ -41,6 +41,7 @@ import org.alfresco.model.ContentModel;
import org.alfresco.model.WCMModel; import org.alfresco.model.WCMModel;
import org.alfresco.repo.avm.AVMNodeConverter; import org.alfresco.repo.avm.AVMNodeConverter;
import org.alfresco.repo.workflow.WorkflowModel; 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.avm.AVMService;
import org.alfresco.service.cmr.avmsync.AVMDifference; import org.alfresco.service.cmr.avmsync.AVMDifference;
import org.alfresco.service.cmr.avmsync.AVMSyncService; 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.TransientNode;
import org.alfresco.web.bean.repository.User; import org.alfresco.web.bean.repository.User;
import org.alfresco.web.bean.wcm.AVMNode; 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.bean.wcm.AVMWorkflowUtil;
import org.alfresco.web.config.DialogsConfigElement.DialogButtonConfig; import org.alfresco.web.config.DialogsConfigElement.DialogButtonConfig;
import org.alfresco.web.ui.common.Utils; import org.alfresco.web.ui.common.Utils;
import org.alfresco.web.ui.common.component.UIActionLink; import org.alfresco.web.ui.common.component.UIActionLink;
import org.alfresco.web.ui.common.component.data.UIRichList; 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.Log;
import org.apache.commons.logging.LogFactory; import org.apache.commons.logging.LogFactory;
@@ -816,6 +819,14 @@ public class ManageTaskDialog extends BaseDialogBean
node.addPropertyResolver("url", this.browseBean.resolverUrl); node.addPropertyResolver("url", this.browseBean.resolverUrl);
} }
this.resources.add(node); 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) protected void createAndAddNode(NodeRef nodeRef)