Uploaded image for project: 'Hippo CMS'
  1. Hippo CMS
  2. CMS-3420

Author should not get exception when deleting folder (was: Prevent author from deleting a folder when there are published documents in the folder)

    XMLWordPrintable

Details

    • New Feature
    • Status: Closed
    • High
    • Resolution: Fixed
    • None
    • r2.12.03
    • None
    • None

    Description

      Trying to delete a folder as author with an article in it results in the following error:

      Expert technical details:
      javax.jcr.AccessDeniedException: /content/documents/articles/test[2]/test/test/defaultcontent:body/hippostd:content: not allowed to remove item
      javax.jcr.AccessDeniedException: /content/documents/articles/test[2]/test/test/defaultcontent:body/hippostd:content: not allowed to remove item
      at org.apache.jackrabbit.core.ItemImpl.validateTransientItems(ItemImpl.java:577)
      at org.apache.jackrabbit.core.ItemImpl.save(ItemImpl.java:1058)
      at org.hippoecm.repository.decorating.ItemDecorator.save(ItemDecorator.java:144)
      at org.hippoecm.repository.impl.NodeDecorator.save(NodeDecorator.java:85)
      at org.hippoecm.repository.standardworkflow.FolderWorkflowImpl.delete(FolderWorkflowImpl.java:389)
      at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
      at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
      at java.lang.reflect.Method.invoke(Method.java:597)
      at org.hippoecm.repository.impl.WorkflowManagerImpl$WorkflowInvocationHandler.invoke(WorkflowManagerImpl.java:496)
      at $Proxy3.delete(Unknown Source)
      at org.hippoecm.frontend.plugins.standardworkflow.FolderWorkflowPlugin$3.execute(FolderWorkflowPlugin.java:188)
      at org.hippoecm.addon.workflow.CompatibilityWorkflowPlugin$WorkflowAction$WorkflowDialog.execute(CompatibilityWorkflowPlugin.java:228)
      at org.hippoecm.addon.workflow.CompatibilityWorkflowPlugin$WorkflowAction$WorkflowDialog.onOk(CompatibilityWorkflowPlugin.java:212)
      at org.hippoecm.frontend.dialog.AbstractDialog.handleSubmit(AbstractDialog.java:518)
      at org.hippoecm.frontend.dialog.AbstractDialog$2.onSubmit(AbstractDialog.java:390)
      at org.hippoecm.frontend.dialog.AbstractDialog$ButtonWrapper$1.onSubmit(AbstractDialog.java:264)
      at org.apache.wicket.ajax.markup.html.form.AjaxButton$1.onSubmit(AjaxButton.java:102)
      at org.apache.wicket.ajax.form.AjaxFormSubmitBehavior.onEvent(AjaxFormSubmitBehavior.java:143)
      at org.apache.wicket.ajax.AjaxEventBehavior.respond(AjaxEventBehavior.java:177)
      at org.apache.wicket.ajax.AbstractDefaultAjaxBehavior.onRequest(AbstractDefaultAjaxBehavior.java:299)
      at org.apache.wicket.request.target.component.listener.BehaviorRequestTarget.processEvents(BehaviorRequestTarget.java:119)
      at org.apache.wicket.request.AbstractRequestCycleProcessor.processEvents(AbstractRequestCycleProcessor.java:92)
      at org.hippoecm.frontend.PluginRequestCycleProcessor.processEvents(PluginRequestCycleProcessor.java:31)
      at org.apache.wicket.RequestCycle.processEventsAndRespond(RequestCycle.java:1250)
      at org.apache.wicket.RequestCycle.step(RequestCycle.java:1329)
      at org.apache.wicket.RequestCycle.steps(RequestCycle.java:1428)
      at org.apache.wicket.RequestCycle.request(RequestCycle.java:545)
      at org.apache.wicket.protocol.http.WicketFilter.doGet(WicketFilter.java:468)
      at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:301)
      at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1115)
      at org.hippoecm.frontend.plugins.login.ConcurrentLoginFilter.doFilter(ConcurrentLoginFilter.java:54)
      at org.mortbay.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1115)
      at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:361)
      at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)
      at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)
      at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:766)
      at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:417)
      at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:230)
      at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)
      at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)
      at org.mortbay.jetty.Server.handle(Server.java:324)
      at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:534)
      at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:879)
      at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:741)
      at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:213)
      at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:403)
      at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:409)
      at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:522)

      Are you sure you want to delete folder test and all of its contents permanently?

      Attachments

        Issue Links

          Activity

            People

              spelissier Sylvain PĂ©lissier (Inactive)
              bvdschans Bart van der Schans (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: