Uploaded image for project: 'Sakai'
  1. Sakai
  2. SAK-41639

Students cannot remove attachments to peer reviews

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Verified
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 19.0, 20.0 [Tentative]
    • Fix Version/s: 19.1, 20.0 [Tentative]
    • Component/s: Assignments
    • Labels:
      None
    • 19 status:
      Verified
    • Test Plan:
      Hide
      • Create an assignment in a class with multiple students
      • Enable Peer Reviews
      • For Testing Set the Due Date 5 minutes out, and Accept Until Date 5 minutes further
      • Submit as 2-3 students
      • Wait until "Accept Until" date passes or modify Accept Until date to be in the past.
      • Go back as the students who submitted to start peer review
      • Select a file and attach it
      • Now, try to remove the file

      Expected, File is removed

      Actual, File is not removed

      Show
      Create an assignment in a class with multiple students Enable Peer Reviews For Testing Set the Due Date 5 minutes out, and Accept Until Date 5 minutes further Submit as 2-3 students Wait until "Accept Until" date passes or modify Accept Until date to be in the past. Go back as the students who submitted to start peer review Select a file and attach it Now, try to remove the file Expected, File is removed Actual, File is not removed

      Description

      After a student attaches a file to the peer review they don't seem to be able to remove it. Also the buttons such as "Save" no longer seem to work either.

      The only thing the student can do is Submit.

      This stack trace is from the 19.0 QA server.

      This is in the "removeAttachment_review" after doRemove_attachment

      } else if ("removeAttachment_review".equals(option)) {
       // remove selected attachment
       doRemove_attachment(data);
       doSave_grade_submission_review(data);

       

      07-Apr-2019 14:48:21.485 WARN [http-nio-20001-exec-34] org.sakaiproject.cheftool.VelocityPortletPaneledAction.actionDispatch Exception calling method doAssignment_form java.lang.reflect.InvocationTargetException (Caused by java.lang.IllegalArgumentException: Removing a detached instance org.sakaiproject.assignment.api.model.PeerAssessmentAttachment#1) java.lang.reflect.InvocationTargetException at sun.reflect.GeneratedMethodAccessor2547.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.sakaiproject.cheftool.VelocityPortletPaneledAction.actionDispatch(VelocityPortletPaneledAction.java:740) at org.sakaiproject.cheftool.VelocityPortletPaneledAction.processAction(VelocityPortletPaneledAction.java:552) at org.sakaiproject.cheftool.ToolServlet.doGet(ToolServlet.java:228) at org.sakaiproject.cheftool.VelocityPortletPaneledAction.doGet(VelocityPortletPaneledAction.java:1152) at org.sakaiproject.cheftool.ToolServlet.doPost(ToolServlet.java:152) at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) at org.sakaiproject.vm.ComponentServlet.service(ComponentServlet.java:56) at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:426) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:712) at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:459) at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:352) at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:312) at org.sakaiproject.tool.impl.ActiveToolComponent$MyActiveTool.forward(ActiveToolComponent.java:513) at org.sakaiproject.portal.charon.SkinnableCharonPortal.forwardTool(SkinnableCharonPortal.java:1489) at org.sakaiproject.portal.charon.handlers.SiteHandler.doToolBuffer(SiteHandler.java:1228) at org.sakaiproject.portal.charon.handlers.SiteHandler.bufferContent(SiteHandler.java:1062) at org.sakaiproject.portal.charon.handlers.SiteHandler.doSite(SiteHandler.java:491) at org.sakaiproject.portal.charon.handlers.SiteHandler.doGet(SiteHandler.java:267) at org.sakaiproject.portal.charon.handlers.SiteHandler.doGet(SiteHandler.java:155) at org.sakaiproject.portal.charon.handlers.WorksiteHandler.doPost(WorksiteHandler.java:69) at org.sakaiproject.portal.charon.SkinnableCharonPortal.doPost(SkinnableCharonPortal.java:1171) at javax.servlet.http.HttpServlet.service(HttpServlet.java:660) at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.sakaiproject.util.RequestFilter.doFilter(RequestFilter.java:475) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) at org.apache.catalina.valves.RemoteIpValve.invoke(RemoteIpValve.java:685) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:770) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1415) at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.IllegalArgumentException: Removing a detached instance org.sakaiproject.assignment.api.model.PeerAssessmentAttachment#1 at org.hibernate.jpa.event.internal.core.JpaDeleteEventListener.performDetachedEntityDeletionCheck(JpaDeleteEventListener.java:69) at org.hibernate.event.internal.DefaultDeleteEventListener.onDelete(DefaultDeleteEventListener.java:106) at org.hibernate.event.internal.DefaultDeleteEventListener.onDelete(DefaultDeleteEventListener.java:73) at org.hibernate.internal.SessionImpl.fireDelete(SessionImpl.java:956) at org.hibernate.internal.SessionImpl.delete(SessionImpl.java:896) at org.springframework.orm.hibernate4.HibernateTemplate$24.doInHibernate(HibernateTemplate.java:794) at org.springframework.orm.hibernate4.HibernateTemplate.doExecute(HibernateTemplate.java:341) at org.springframework.orm.hibernate4.HibernateTemplate.executeWithNativeSession(HibernateTemplate.java:309) at org.springframework.orm.hibernate4.HibernateTemplate.delete(HibernateTemplate.java:787) at org.springframework.orm.hibernate4.HibernateTemplate.delete(HibernateTemplate.java:782) at org.sakaiproject.assignment.impl.AssignmentPeerAssessmentServiceImpl.removePeerAttachment(AssignmentPeerAssessmentServiceImpl.java:410) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213) at com.sun.proxy.$Proxy171.removePeerAttachment(Unknown Source) at java.util.ArrayList.forEach(ArrayList.java:1257) at org.sakaiproject.assignment.tool.AssignmentAction.saveReviewGradeForm(AssignmentAction.java:10846) at org.sakaiproject.assignment.tool.AssignmentAction.doSave_grade_submission_review(AssignmentAction.java:5755) at org.sakaiproject.assignment.tool.AssignmentAction.doAssignment_form(AssignmentAction.java:10371) ... 56 more

        Gliffy Diagrams

          Attachments

            Issue Links

              Activity

                People

                • Assignee:
                  bergarvi Bernardo Garcia Vila
                  Reporter:
                  jonespm Matthew Jones
                • Votes:
                  0 Vote for this issue
                  Watchers:
                  4 Start watching this issue

                  Dates

                  • Created:
                    Updated:
                    Resolved:

                    Git Source Code