From 89d5a75b55241e05824d1f021e59be7b40a88868 Mon Sep 17 00:00:00 2001 From: Gavin Cornwell Date: Tue, 5 Oct 2010 14:23:00 +0000 Subject: [PATCH] Fixed ALF-1728: User with administrative rights can paste content into staging. git-svn-id: https://svn.alfresco.com/repos/alfresco-enterprise/alfresco/HEAD/root@22891 c4b6b30b-aa2e-2d43-bbcb-ca4b014f7261 --- .../clipboard/WorkspaceClipboardItem.java | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/source/java/org/alfresco/web/bean/clipboard/WorkspaceClipboardItem.java b/source/java/org/alfresco/web/bean/clipboard/WorkspaceClipboardItem.java index 830294f0f4..49a2c1adfd 100644 --- a/source/java/org/alfresco/web/bean/clipboard/WorkspaceClipboardItem.java +++ b/source/java/org/alfresco/web/bean/clipboard/WorkspaceClipboardItem.java @@ -40,6 +40,7 @@ import org.alfresco.service.cmr.repository.NodeRef; import org.alfresco.service.cmr.repository.NodeService; import org.alfresco.service.cmr.repository.StoreRef; import org.alfresco.service.namespace.QName; +import org.alfresco.wcm.util.WCMUtil; import org.alfresco.web.app.Application; import org.alfresco.web.app.servlet.FacesHelper; import org.alfresco.web.bean.NavigationBean; @@ -89,8 +90,24 @@ public class WorkspaceClipboardItem extends AbstractClipboardItem */ public boolean canCopyToViewId(String viewId) { - return (WORKSPACE_PASTE_VIEW_ID.equals(viewId) || AVM_PASTE_VIEW_ID.equals(viewId) || - FORUMS_PASTE_VIEW_ID.equals(viewId) || FORUM_PASTE_VIEW_ID.equals(viewId)); + if (AVM_PASTE_VIEW_ID.equals(viewId)) + { + AVMBrowseBean avmBrowseBean = (AVMBrowseBean)FacesHelper.getManagedBean(FacesContext.getCurrentInstance(), AVMBrowseBean.BEAN_NAME); + String destPath = avmBrowseBean.getCurrentPath(); + + if (WCMUtil.isStagingStore(WCMUtil.getStoreName(destPath))) + { + return false; + } + + return true; + } + else + { + return (WORKSPACE_PASTE_VIEW_ID.equals(viewId) || + FORUMS_PASTE_VIEW_ID.equals(viewId) || + FORUM_PASTE_VIEW_ID.equals(viewId)); + } } /**