Updating a user's email address does not delete any invitation requests that exist for that address, leaving the request lingering in the queue

Description

Steps to reproduce:

  1. Log in as an admin

  2. Go to Settings

  3. Enable both "Account creation requires invitation" and "Invite from queue enabled"

  4. Log out

  5. Follow the "Get Invited!" link on the homepage (may take a while to appear due to caching)

  6. Submit an email address

  7. Log in to an account

  8. Hi, username! > My Dashboard > Profile > Edit My Profile > Change Email

  9. Change the email to the one you put in the queue

  10. Have a database admin run the task for sending invitations

  11. Log in as an admin

  12. Invitations > Manage Queue

What happens:

The address is still there, at the top of the queue, and an admin has to delete it.

What should happen:

The address should not be lingering in the queue, requiring manual cleanup.

Notes:

When the task to send out invitations runs, invitations are not created for/sent to any addresses that match existing accounts. However, presumably because the same method that creates the invitation also deletes the invitation request, when we can't make the invitation, we also fail to delete the request.

You cannot join the queue with an email address that is already used on an account.

If you create an account that uses an address that currently has a request in the queue, the request is deleted.

Assignee

Unassigned

Reporter

Sarken

Roadmap

Admin
Invitations
Users

Priority

Medium

Affects versions

Fix versions

None

Components

BackEnd

Difficulty

Medium

Required Access Level

Admin

Milestone

Internal 0.9
Configure