view gpp/accounts/admin.py @ 505:a5d11471d031

Refactor the logic in the rate limiter decorator. Check to see if the request was ajax, as the ajax view always returns 200. Have to decode the JSON response to see if an error occurred or not.
author Brian Neal <bgneal@gmail.com>
date Sat, 03 Dec 2011 19:13:38 +0000
parents d1b11096595b
children
line wrap: on
line source
"""This file contains the automatic admin site definitions for the accounts Models"""

from django.contrib import admin
from accounts.models import IllegalUsername
from accounts.models import IllegalEmail
from accounts.models import PendingUser
from accounts import create_new_user


class PendingUserAdmin(admin.ModelAdmin):
   list_display = ('username', 'email', 'date_joined')
   actions = ('activate_account', )

   def activate_account(self, request, qs):
       """
       Activate the accounts of the selected pending users.

       """
       for pending_user in qs:
           create_new_user(pending_user, admin_activation=True)

       self.message_user(request, "%s accounts activated" % qs.count())

   activate_account.short_description = "Activate accounts for selected users"


admin.site.register(IllegalUsername)
admin.site.register(IllegalEmail)
admin.site.register(PendingUser, PendingUserAdmin)