Skip to content

Commit

Permalink
Add option to clear user flags in user admin
Browse files Browse the repository at this point in the history
  • Loading branch information
ffont committed Jan 11, 2023
1 parent 12f6758 commit 417f641
Showing 1 changed file with 12 additions and 1 deletion.
13 changes: 12 additions & 1 deletion accounts/admin.py
Original file line number Diff line number Diff line change
Expand Up @@ -322,6 +322,17 @@ def full_delete(self, request, obj):
full_delete.label = "Full delete"
full_delete.short_description = 'Completely delete user from db'

def clear_spam_flags(self, request, obj):
num_akismet, _ = obj.akismetspam_set.all().delete()
num_reports, _ = obj.flags.all().delete()
messages.add_message(request, messages.INFO,
'User \'%s\' flags have been cleared: %i akismet flags and %i user reports.'
% (obj.username, num_akismet, num_reports))
return HttpResponseRedirect(reverse('admin:auth_user_change', args=[obj.id]))

clear_spam_flags.label = "Clear spam flags"
clear_spam_flags.short_description = 'Clear all user flags for of spam reports and akismet'

def view_on_site_action(self, request, obj):
return HttpResponseRedirect(reverse('account', args=[obj.username]))

Expand All @@ -337,7 +348,7 @@ def edit_profile_admin(self, request, obj):
# NOTE: in the line below we removed the 'full_delete' option as ideally we should never need to use it. In for
# some unexpected reason we happen to need it, we can call the .delete() method on a user object using the terminal.
# If we observe a real need for that, we can re-add the option to the admin.
change_actions = ('edit_profile_admin', 'view_on_site_action',
change_actions = ('edit_profile_admin', 'view_on_site_action', 'clear_spam_flags',
'delete_spammer', 'delete_include_sounds', 'delete_preserve_sounds', )


Expand Down

0 comments on commit 417f641

Please sign in to comment.