diff --git a/source/java/org/alfresco/web/app/servlet/KerberosAuthenticationFilter.java b/source/java/org/alfresco/web/app/servlet/KerberosAuthenticationFilter.java index 868096a4ae..85ddf61c44 100644 --- a/source/java/org/alfresco/web/app/servlet/KerberosAuthenticationFilter.java +++ b/source/java/org/alfresco/web/app/servlet/KerberosAuthenticationFilter.java @@ -110,18 +110,6 @@ public class KerberosAuthenticationFilter extends BaseKerberosAuthenticationFilt AuthenticationHelper.setupThread(sc, req, res, !req.getServletPath().equals("/wcs") && !req.getServletPath().equals("/wcservice")); } - /* (non-Javadoc) - * @see org.alfresco.repo.webdav.auth.BaseSSOAuthenticationFilter#onValidateFailed(javax.servlet.ServletContext, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.http.HttpSession) - */ - @Override - protected void onValidateFailed(ServletContext sc, HttpServletRequest req, HttpServletResponse res, HttpSession session) - throws IOException - { - // Redirect to the login page if user validation fails - - redirectToLoginPage(req, res); - } - /* (non-Javadoc) * @see org.alfresco.repo.webdav.auth.BaseNTLMAuthenticationFilter#onLoginComplete(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) */ diff --git a/source/java/org/alfresco/web/app/servlet/NTLMAuthenticationFilter.java b/source/java/org/alfresco/web/app/servlet/NTLMAuthenticationFilter.java index de41ba0663..2bb2d648ff 100644 --- a/source/java/org/alfresco/web/app/servlet/NTLMAuthenticationFilter.java +++ b/source/java/org/alfresco/web/app/servlet/NTLMAuthenticationFilter.java @@ -104,17 +104,6 @@ public class NTLMAuthenticationFilter extends BaseNTLMAuthenticationFilter AuthenticationHelper.setupThread(sc, req, res, !req.getServletPath().equals("/wcs") && !req.getServletPath().equals("/wcservice")); } - /* (non-Javadoc) - * @see org.alfresco.repo.webdav.auth.BaseSSOAuthenticationFilter#onValidateFailed(javax.servlet.ServletContext, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.http.HttpSession) - */ - @Override - protected void onValidateFailed(ServletContext sc, HttpServletRequest req, HttpServletResponse res, HttpSession session) - throws IOException - { - // Redirect to the login page if user validation fails - redirectToLoginPage(req, res); - } - /* (non-Javadoc) * @see org.alfresco.repo.webdav.auth.BaseNTLMAuthenticationFilter#onLoginComplete(javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse) */ diff --git a/source/java/org/alfresco/web/bean/clipboard/AVMClipboardItem.java b/source/java/org/alfresco/web/bean/clipboard/AVMClipboardItem.java index 52154b7efb..dc88362269 100644 --- a/source/java/org/alfresco/web/bean/clipboard/AVMClipboardItem.java +++ b/source/java/org/alfresco/web/bean/clipboard/AVMClipboardItem.java @@ -18,6 +18,7 @@ */ package org.alfresco.web.bean.clipboard; +import java.util.List; import java.util.Map; import javax.faces.context.FacesContext; @@ -55,9 +56,9 @@ public class AVMClipboardItem extends AbstractClipboardItem * @param ref * @param mode */ - public AVMClipboardItem(NodeRef ref, ClipboardStatus mode) + public AVMClipboardItem(NodeRef ref, ClipboardStatus mode, List customPasteViewIds) { - super(ref, mode); + super(ref, mode, customPasteViewIds); } /** @@ -73,7 +74,7 @@ public class AVMClipboardItem extends AbstractClipboardItem */ public boolean canCopyToViewId(String viewId) { - if (AVM_PASTE_VIEW_ID.equals(viewId)) + if (super.canCopyToViewId(viewId) || AVM_PASTE_VIEW_ID.equals(viewId)) { AVMBrowseBean avmBrowseBean = (AVMBrowseBean)FacesHelper.getManagedBean(FacesContext.getCurrentInstance(), AVMBrowseBean.BEAN_NAME); String destPath = avmBrowseBean.getCurrentPath(); @@ -87,7 +88,7 @@ public class AVMClipboardItem extends AbstractClipboardItem } else { - return WORKSPACE_PASTE_VIEW_ID.equals(viewId); + return (super.canCopyToViewId(viewId) || WORKSPACE_PASTE_VIEW_ID.equals(viewId)); } } diff --git a/source/java/org/alfresco/web/bean/clipboard/AbstractClipboardItem.java b/source/java/org/alfresco/web/bean/clipboard/AbstractClipboardItem.java index 79b47a7979..580b2652f5 100644 --- a/source/java/org/alfresco/web/bean/clipboard/AbstractClipboardItem.java +++ b/source/java/org/alfresco/web/bean/clipboard/AbstractClipboardItem.java @@ -65,6 +65,37 @@ abstract class AbstractClipboardItem implements ClipboardItem transient protected AVMService avmService; + private List customPasteViewIds; + + + /** + * Constructor + * + * @param ref The ref of the item on the clipboard + * @param mode The ClipboardStatus enum value + */ + public AbstractClipboardItem(NodeRef ref, ClipboardStatus mode, List customPasteViewIds) + { + this.ref = ref; + this.mode = mode; + this.customPasteViewIds = customPasteViewIds; + } + + /** + * Constructor + * + * @param ref The ref of the item on the clipboard + * @param parent The parent of the item on the clipboard + * @param mode The ClipboardStatus enum value + */ + public AbstractClipboardItem(NodeRef ref, NodeRef parent, ClipboardStatus mode, List customPasteViewIds) + { + this.ref = ref; + this.mode = mode; + this.parent = parent; + this.customPasteViewIds = customPasteViewIds; + } + public void setAvmService(AVMService avmService) { this.avmService = avmService; @@ -79,33 +110,6 @@ abstract class AbstractClipboardItem implements ClipboardItem return avmService; } - - /** - * Constructor - * - * @param ref The ref of the item on the clipboard - * @param mode The ClipboardStatus enum value - */ - public AbstractClipboardItem(NodeRef ref, ClipboardStatus mode) - { - this.ref = ref; - this.mode = mode; - } - - /** - * Constructor - * - * @param ref The ref of the item on the clipboard - * @param parent The parent of the item on the clipboard - * @param mode The ClipboardStatus enum value - */ - public AbstractClipboardItem(NodeRef ref, NodeRef parent, ClipboardStatus mode) - { - this.ref = ref; - this.mode = mode; - this.parent = parent; - } - public ClipboardStatus getMode() { return this.mode; @@ -186,6 +190,24 @@ abstract class AbstractClipboardItem implements ClipboardItem return services; } + public boolean canCopyToViewId(String viewId) + { + if (this.customPasteViewIds != null) + { + return this.customPasteViewIds.contains(viewId); + } + return false; + } + + public boolean canMoveToViewId(String viewId) + { + if (this.customPasteViewIds != null) + { + return this.customPasteViewIds.contains(viewId); + } + return false; + } + protected boolean checkExists(String name, NodeRef parent) { QueryParameterDefinition[] params = new QueryParameterDefinition[1]; diff --git a/source/java/org/alfresco/web/bean/clipboard/ClipboardBean.java b/source/java/org/alfresco/web/bean/clipboard/ClipboardBean.java index 97273fc169..c9ea2159ec 100644 --- a/source/java/org/alfresco/web/bean/clipboard/ClipboardBean.java +++ b/source/java/org/alfresco/web/bean/clipboard/ClipboardBean.java @@ -63,6 +63,7 @@ public class ClipboardBean implements Serializable transient private NodeService nodeService; + private List customPasteViewIds; // ------------------------------------------------------------------------------ // Bean property getters and setters @@ -98,6 +99,16 @@ public class ClipboardBean implements Serializable return nodeService; } + public void setCustomPasteViewIds(List customPasteViewIds) + { + this.customPasteViewIds = customPasteViewIds; + } + + public List getCustomPasteViewIds() + { + return customPasteViewIds; + } + // ------------------------------------------------------------------------------ // Navigation action event handlers @@ -317,11 +328,11 @@ public class ClipboardBean implements Serializable ClipboardItem item = null; if (StoreRef.PROTOCOL_WORKSPACE.equals(ref.getStoreRef().getProtocol())) { - item = new WorkspaceClipboardItem(ref, parent, mode); + item = new WorkspaceClipboardItem(ref, parent, mode, customPasteViewIds); } else if (StoreRef.PROTOCOL_AVM.equals(ref.getStoreRef().getProtocol())) { - item = new AVMClipboardItem(ref, mode); + item = new AVMClipboardItem(ref, mode, customPasteViewIds); } else { diff --git a/source/java/org/alfresco/web/bean/clipboard/WorkspaceClipboardItem.java b/source/java/org/alfresco/web/bean/clipboard/WorkspaceClipboardItem.java index db3e2e16fd..66404d1e37 100644 --- a/source/java/org/alfresco/web/bean/clipboard/WorkspaceClipboardItem.java +++ b/source/java/org/alfresco/web/bean/clipboard/WorkspaceClipboardItem.java @@ -75,18 +75,18 @@ public class WorkspaceClipboardItem extends AbstractClipboardItem * @param ref * @param mode */ - public WorkspaceClipboardItem(NodeRef ref, ClipboardStatus mode) + public WorkspaceClipboardItem(NodeRef ref, ClipboardStatus mode, List customPasteViewIds) { - super(ref, mode); + super(ref, mode, customPasteViewIds); } /** * @param ref * @param mode */ - public WorkspaceClipboardItem(NodeRef ref, NodeRef parent, ClipboardStatus mode) + public WorkspaceClipboardItem(NodeRef ref, NodeRef parent, ClipboardStatus mode, List customPasteViewIds) { - super(ref, parent, mode); + super(ref, parent, mode, customPasteViewIds); } /** @@ -116,9 +116,8 @@ public class WorkspaceClipboardItem extends AbstractClipboardItem } else { - return (WORKSPACE_PASTE_VIEW_ID.equals(viewId) || - FORUMS_PASTE_VIEW_ID.equals(viewId) || - FORUM_PASTE_VIEW_ID.equals(viewId)); + return super.canCopyToViewId(viewId) || (WORKSPACE_PASTE_VIEW_ID.equals(viewId) || AVM_PASTE_VIEW_ID.equals(viewId) || + FORUMS_PASTE_VIEW_ID.equals(viewId) || FORUM_PASTE_VIEW_ID.equals(viewId)); } } @@ -127,7 +126,7 @@ public class WorkspaceClipboardItem extends AbstractClipboardItem */ public boolean canMoveToViewId(String viewId) { - return (WORKSPACE_PASTE_VIEW_ID.equals(viewId) || FORUMS_PASTE_VIEW_ID.equals(viewId) || + return super.canMoveToViewId(viewId) || (WORKSPACE_PASTE_VIEW_ID.equals(viewId) || FORUMS_PASTE_VIEW_ID.equals(viewId) || FORUM_PASTE_VIEW_ID.equals(viewId)); } @@ -138,7 +137,7 @@ public class WorkspaceClipboardItem extends AbstractClipboardItem { final ServiceRegistry serviceRegistry = getServiceRegistry(); final RetryingTransactionHelper retryingTransactionHelper = serviceRegistry.getRetryingTransactionHelper(); - if (WORKSPACE_PASTE_VIEW_ID.equals(viewId) || FORUMS_PASTE_VIEW_ID.equals(viewId) || + if (super.canCopyToViewId(viewId) || WORKSPACE_PASTE_VIEW_ID.equals(viewId) || FORUMS_PASTE_VIEW_ID.equals(viewId) || FORUM_PASTE_VIEW_ID.equals(viewId)) { NavigationBean navigator = (NavigationBean)FacesHelper.getManagedBean(fc, NavigationBean.BEAN_NAME); diff --git a/source/java/org/alfresco/web/sharepoint/auth/kerberos/KerberosAuthenticationHandler.java b/source/java/org/alfresco/web/sharepoint/auth/kerberos/KerberosAuthenticationHandler.java index cc5015c585..e65c820076 100644 --- a/source/java/org/alfresco/web/sharepoint/auth/kerberos/KerberosAuthenticationHandler.java +++ b/source/java/org/alfresco/web/sharepoint/auth/kerberos/KerberosAuthenticationHandler.java @@ -50,18 +50,6 @@ public class KerberosAuthenticationHandler extends BaseKerberosAuthenticationFil setUserAttributeName(SharepointConstants.USER_SESSION_ATTRIBUTE); super.init(); } - - /* (non-Javadoc) - * @see org.alfresco.repo.webdav.auth.BaseSSOAuthenticationFilter#onValidateFailed(javax.servlet.ServletContext, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.http.HttpSession) - */ - @Override - protected void onValidateFailed(ServletContext sc, HttpServletRequest req, HttpServletResponse res, HttpSession session) - throws IOException - { - // Restart the login challenge process if validation fails - - restartLoginChallenge(sc, req, res); - } /* (non-Javadoc) * @see org.alfresco.repo.webdav.auth.BaseAuthenticationFilter#createUserObject(java.lang.String, java.lang.String, org.alfresco.service.cmr.repository.NodeRef, org.alfresco.service.cmr.repository.NodeRef) diff --git a/source/java/org/alfresco/web/sharepoint/auth/ntlm/NtlmAuthenticationHandler.java b/source/java/org/alfresco/web/sharepoint/auth/ntlm/NtlmAuthenticationHandler.java index 72a3c759d8..e8d11bf014 100644 --- a/source/java/org/alfresco/web/sharepoint/auth/ntlm/NtlmAuthenticationHandler.java +++ b/source/java/org/alfresco/web/sharepoint/auth/ntlm/NtlmAuthenticationHandler.java @@ -50,18 +50,6 @@ public class NtlmAuthenticationHandler extends BaseNTLMAuthenticationFilter setUserAttributeName(SharepointConstants.USER_SESSION_ATTRIBUTE); super.init(); } - - /* (non-Javadoc) - * @see org.alfresco.repo.webdav.auth.BaseSSOAuthenticationFilter#onValidateFailed(javax.servlet.ServletContext, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.http.HttpSession) - */ - @Override - protected void onValidateFailed(ServletContext sc, HttpServletRequest req, HttpServletResponse res, HttpSession session) - throws IOException - { - // Restart the login challenge process if validation fails - - restartLoginChallenge(sc, req, res); - } /* (non-Javadoc) * @see org.alfresco.repo.webdav.auth.BaseAuthenticationFilter#createUserObject(java.lang.String, java.lang.String, org.alfresco.service.cmr.repository.NodeRef, org.alfresco.service.cmr.repository.NodeRef) diff --git a/source/web/WEB-INF/faces-config-beans.xml b/source/web/WEB-INF/faces-config-beans.xml index 5405ea240d..d95c60aa37 100644 --- a/source/web/WEB-INF/faces-config-beans.xml +++ b/source/web/WEB-INF/faces-config-beans.xml @@ -544,6 +544,17 @@ nodeService #{NodeService} + + + diff --git a/source/web/jsp/wcm/folder-details.jsp b/source/web/jsp/wcm/folder-details.jsp index f62a99b442..8b7e8f0557 100644 --- a/source/web/jsp/wcm/folder-details.jsp +++ b/source/web/jsp/wcm/folder-details.jsp @@ -39,7 +39,7 @@ - +