view gpp/accounts/admin.py @ 515:ae89ba801e8b

For #194, convert the POTD management command to a celery task. Refactored to put the logic for the command into a function, and the command simply calls this function. The task can also just call this function. Added some basic tests for the new function.
author Brian Neal <bgneal@gmail.com>
date Wed, 14 Dec 2011 02:41:15 +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)