Describe the bug
Once an extension has been set as inactive (active field is set to 0), there is no path for it to become active again, short of manually editing the database. This also happens without being fully transparent to the person running Quiz Extensions that a user's extension is being actively ignored.
To Reproduce
Steps to reproduce the behavior:
- Create a new extension for a user via the usual Quiz Extensions process.
- Go to the
extension table in the database and find the new extension entry.
- Observe that the
active field is set to 1.
- Cause the user to be in a state that will mark them as inactive: remove them from the course, change their enrollment type to something other than
"student", or change their enrollment state to something other than "active" or invited".
- Run the update process
- Observe that the
active field is set to 0.
- Put the user back into a stable state: enrolled in the course as type
"student" and status "active" or "invited".
- Create a new extension for the user via the usual Quiz Extensions process. This updates the existing extension record instead of creating a new one.
- Observe that (despite the user now being enrolled properly) the
active field is still set to 0.
Expected behavior
When the update process is run, it should check whether or not users with inactive extensions have changed into an active state, instead of just ignoring them.
Note: This will have some minor performance hits, but will be part of the backgrounded process.
Also need to improve feedback to user to explain that x users are being ignored due to being inactive.
Environment information
- Python version (
python --version): any
Describe the bug
Once an extension has been set as inactive (
activefield is set to0), there is no path for it to become active again, short of manually editing the database. This also happens without being fully transparent to the person running Quiz Extensions that a user's extension is being actively ignored.To Reproduce
Steps to reproduce the behavior:
extensiontable in the database and find the new extension entry.activefield is set to1."student", or change their enrollment state to something other than"active"orinvited".activefield is set to0."student"and status"active"or"invited".activefield is still set to0.Expected behavior
When the update process is run, it should check whether or not users with inactive extensions have changed into an active state, instead of just ignoring them.
Note: This will have some minor performance hits, but will be part of the backgrounded process.
Also need to improve feedback to user to explain that x users are being ignored due to being inactive.
Environment information
python --version): any