Gift Exchange: Simultaneously updating the Giver and Write-in Giver for a Potential Assignment leaves the Write-in Giver unable to access their pinch-hit assignment

Description

Steps to reproduce

  1. Log in

  2. Create a collection with a gift exchange challenge

    1. Browse > Collections > New Collection

    2. Fill in required information and choose "Gift Exchange" for "Type of challenge, if any"

    3. Submit

    4. On the exchange settings form, check "Sign-up open?"

    5. Submit

  3. Sign up for the exchange as three different users

    1. Follow the "Sign-up Form" link in the collection sidebar

    2. Since we accepted the default settings, we don't even need to fill anything in – just press "Submit"

  4. If you're not already logged in as the collection owner, log back in with that account

  5. Run matching

    1. On your collection's sidebar, follow the "Challenge Settings" link

    2. Uncheck "Sign-up open?"

    3. Press "Update"

    4. From the sidebar, follow the "Matching" link

    5. Press "Generate Potential Matches"

    6. You'll get a pop-up warning you matches will be random; choose "OK"

    7. Wait briefly for matching to finish and refresh the page to see potential matches

  6. Copy each name from the Giver field into the Write-In Giver field in the next column, making sure to write it in the format pseud (username), e.g. the user testy2 should be written testy2 (testy2) (I’m not actually 100% sure if will apply to this field as well, but better safe than sorry when it takes this many steps to reproduce a bug)

  7. Use the red × to clear each Giver

  8. Replace the original Giver with the other collection participant who is neither the Write-In Giver nor the Recipient, again making sure to write it in the format pseud (username) due to , e.g. the user testy2 should be written testy2 (testy2)

  9. Press “Save Assignment Changes”

  10. Press “Send Assignments”

What happens

When a participant follows the "My Assignments" link on the collection dashboard, they will find two assignments: theirs and someone else's.

If they attempt to access the assignment that is someone else’s (by following the linked name – refer to attached screenshot), you will be redirected to the homepage with the red flash error, “You aren't allowed to see that assignment!”

What should happen

You should be able to see that assignment, since it is also yours.

Notes

If you’re logged in as the collection owner, you’ll be able to see the assignment due to your mod powers, so please make sure you’re logged in as someone who is just a participant.

Environment

None

Status

Assignee

Unassigned

Reporter

Sarken

Roadmap

Challenges

Priority

High

Affects versions

Fix versions

None

Components

BackEnd

Difficulty

Medium

Required Access Level

None

Milestone

Internal 0.9
Configure