Uploaded image for project: 'PUBLIC - Liferay Portal Community Edition'
  1. PUBLIC - Liferay Portal Community Edition
  2. LPS-75906

Error when deleting Workflow notification that is no longer applicable

Details

    Description

      When a notification for content pending review in workflow is no longer applicable because the content was deleted, deleting the notification results in an error. The notification appears to still be deleted successfully, however.

      Steps to reproduce:

      1. In Web Content admin, create a new Folder
      2. Edit the folder, and under "Structure Restrictions and Workflow," select Single Approver as the default workflow for the folder
      3. Create a piece of Web Content within the folder, and submit it for publication
      4. Remove the Web Content to the Recycle Bin (and, optionally, delete it from the Recycle Bin)
      5. Go to the user Notifications, and find the notification for the Web Content that was just deleted
        • The notification should say "Notification no longer applies. Notification for My Workflow Tasks was deleted."
      6. Attempt to delete this notification
        Expected result: the notification is deleted with no errors
        Actual result: the error "Portlet is temporarily unavailable" is shown, and a stack trace (as shown below) appears in the console. The notification is still deleted.

      Reproduced in master: df3b7e0375a445e115e1ebf82aa21d1ae2ec96f2
      Reproduced in 7.0.x: 49a45728fdbbeeab93f9843e294780a28af2074d

      00:37:50,226 ERROR [http-nio-8080-exec-2][render_portlet_jsp:131] null
      com.liferay.portal.kernel.exception.NoSuchUserNotificationEventException: No UserNotificationEvent exists with the primary key 31826
              at com.liferay.portal.service.persistence.impl.UserNotificationEventPersistenceImpl.remove(UserNotificationEventPersistenceImpl.java:8458)
              at com.liferay.portal.service.persistence.impl.UserNotificationEventPersistenceImpl.remove(UserNotificationEventPersistenceImpl.java:8432)
              at com.liferay.portal.service.base.UserNotificationEventLocalServiceBaseImpl.deleteUserNotificationEvent(UserNotificationEventLocalServiceBaseImpl.java:112)
              at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:163)
              at com.liferay.portal.spring.transaction.DefaultTransactionExecutor.execute(DefaultTransactionExecutor.java:54)
              at com.liferay.portal.spring.transaction.TransactionInterceptor.invoke(TransactionInterceptor.java:58)
              at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:137)
              at com.liferay.portal.spring.aop.ChainableMethodAdvice.invoke(ChainableMethodAdvice.java:56)
              at com.liferay.portal.spring.aop.ServiceBeanMethodInvocation.proceed(ServiceBeanMethodInvocation.java:137)
              at com.liferay.portal.spring.aop.ServiceBeanAopProxy.invoke(ServiceBeanAopProxy.java:169)
              at com.liferay.notifications.web.internal.portlet.NotificationsPortlet.deleteUserNotificationEvent(NotificationsPortlet.java:98)
              at com.liferay.notifications.web.internal.portlet.NotificationsPortlet.processAction(NotificationsPortlet.java:206)
              at com.liferay.portlet.FilterChainImpl.doFilter(FilterChainImpl.java:71)
              at com.liferay.portal.kernel.portlet.PortletFilterUtil.doFilter(PortletFilterUtil.java:48)
              at com.liferay.portal.kernel.servlet.PortletServlet.service(PortletServlet.java:108)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
              at org.eclipse.equinox.http.servlet.internal.registration.EndpointRegistration.service(EndpointRegistration.java:153)
              at org.eclipse.equinox.http.servlet.internal.servlet.ResponseStateHandler.processRequest(ResponseStateHandler.java:62)
              at org.eclipse.equinox.http.servlet.internal.context.DispatchTargets.doDispatch(DispatchTargets.java:117)
              at org.eclipse.equinox.http.servlet.internal.servlet.RequestDispatcherAdaptor.include(RequestDispatcherAdaptor.java:48)

      Attachments

        Issue Links

          Activity

            People

              patricia.perez Patricia Perez
              alec.shay Alec Shay
              Kiyoshi Lee Kiyoshi Lee
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:
                4 years, 18 weeks ago

                Packages

                  Version Package
                  7.0.0 DXP FP70
                  7.0.X
                  7.1.10 DXP FP5
                  7.1.10.1 SP1
                  7.1.2 CE GA3
                  7.1.X
                  Master