When moderator sends a warning and it turns out that user shouldn’t have got it, the moderator would like to reverse this warning.
This warning will need to be removed through the console. If you are a hosted customer, you will need reach out to the Discourse team to have them handle this for you.
Warnings are in the user_warnings table. If the warning you want to delete is the last warning that was created on your site, you can do that with:
UserWarning.last.destroy
If the warning wasn’t the last warning, you can find the warning by searching for user_warnings by user_id:
UserWarning.where(user_id: the_user_id)
This will give you an array of warnings for that user. You can then destroy the warning by using the warning’s id . For example:
UserWarning.find(3).destroy
Destroying the warning will leave the PM in place. The PM will no longer be a warning.
Is there any chance you could share the steps that I’d need to take to log in to the Console? I’ve tried Googling this but every guide seems to assume that the user will know how to do that.
Surely it’d be much easier to handle these as penalties and have a log of all official warnings sent for administrators and moderators to manage at any given time? It makes it very difficult when a moderator accidentally warns a user with a similar name and then has to reach out to the site maintainer for them to resolve the problem.