Students are unable to submit attachments to collaborative group submission assignments using TII

Description

When a student tries to submit an attachment to an assignment set to collaborative submissions, released to specific groups and sending submissions to TII, they will receive the following message:

You have successfully saved your work but NOT submitted yet. To complete submission, you must select the Submit button.

However, there is no submit button presented on the page, and the attachments are not saved and effectively removed. There is a permission exception stack trace generated in the logs when this happens. Please see screenshots and stack trace attached.

Steps to reproduce:

  1. split class into groups

  2. create an assignment

    1. set to inline and attachments

    2. set to collaborative submissions

    3. set to release to groups

    4. set to send submissions to TII

  3. submit as a student from one of the groups

    1. attach any file and submit

    2. notice error message, attachments removed and no submit button

    3. submit again, only inline content

    4. submission goes through successfully

This cannot be reproduced in an assignment using the exact same settings, but minus sending submissions to TII.

This appears to be a regression from the work done in TII-226, where the intention was to ensure the user submitting 'owns' the attachments. However, when implementing this collaborative submissions were overlooked.

Activity

Show:

Adam Marshall October 30, 2018 at 12:35 PM

Matthew tells me he cant find the PR mentioned above. Do you have a different URL for us? I think we may have stumbled across this bug??

Brian J. November 28, 2016 at 8:54 AM

Git commit 87e49e6

Brian J. November 25, 2016 at 2:02 PM

Brian J. November 25, 2016 at 1:53 PM

I tracked this down to a little piece of code that over-writes the 'submitterId' value of the submission object from the group ID the user belongs to, to the individual user's ID. This then breaks a permission check later on, because the ID is now pointing to a user rather than a group.

Adding conditionals to only perform this over-writing of the submitterId value when the assignment is set to not use collaborative submissions solves the issue.

Fixed

Details

Assignee

Reporter

Components

Fix versions

Affects versions

Priority

Created November 25, 2016 at 1:51 PM
Updated October 30, 2018 at 12:35 PM
Resolved November 28, 2016 at 8:56 AM