Browse Source

Move "send report", "deactivate" admin actions to the Profile admin

pull/761/head
Pēteris Caune 1 year ago
parent
commit
ff7b963d15
No known key found for this signature in database GPG Key ID: E28D7679E9A9EDE2
  1. 43
      hc/accounts/admin.py

43
hc/accounts/admin.py

@ -126,7 +126,7 @@ class ProfileAdmin(admin.ModelAdmin):
NumChecksFilter,
"theme",
)
actions = ("login",)
actions = ("login", "send_report", "send_nag", "deactivate")
fieldsets = (ProfileFieldset.tuple(), TeamFieldset.tuple())
@ -171,6 +171,26 @@ class ProfileAdmin(admin.ModelAdmin):
auth_login(request, profile.user, "hc.accounts.backends.EmailBackend")
return redirect("hc-index")
def send_report(self, request, qs):
for profile in qs:
profile.send_report()
self.message_user(request, "%d email(s) sent" % qs.count())
def send_nag(self, request, qs):
for profile in qs:
profile.send_report(nag=True)
self.message_user(request, "%d email(s) sent" % qs.count())
def deactivate(self, request, qs):
for profile in qs:
profile.user.is_active = False
profile.user.set_unusable_password()
profile.user.save()
self.message_user(request, "%d user(s) deactivated" % qs.count())
@admin.register(Project)
class ProjectAdmin(admin.ModelAdmin):
@ -215,7 +235,6 @@ class ProjectAdmin(admin.ModelAdmin):
class HcUserAdmin(UserAdmin):
actions = ["send_report", "send_nag", "deactivate"]
list_display = (
"id",
"email",
@ -246,26 +265,6 @@ class HcUserAdmin(UserAdmin):
def usage(self, user):
return _format_usage(user.num_checks, user.num_channels)
def send_report(self, request, qs):
for user in qs:
user.profile.send_report()
self.message_user(request, "%d email(s) sent" % qs.count())
def send_nag(self, request, qs):
for user in qs:
user.profile.send_report(nag=True)
self.message_user(request, "%d email(s) sent" % qs.count())
def deactivate(self, request, qs):
for user in qs:
user.is_active = False
user.set_unusable_password()
user.save()
self.message_user(request, "%d user(s) deactivated" % qs.count())
admin.site.unregister(User)
admin.site.register(User, HcUserAdmin)

Loading…
Cancel
Save