view gpp/bio/signals.py @ 145:71cb4208dc98

Tweak to #30, admin dashboard. Because of a bug in Django (9568), my dashboard appears on the login page. To get around this, pass in the user to the templatetag, so it can do a 'if user.is_staff' check. Also tweaked the HTML and CSS to show non-zero pending items in red. Shortened the pending item titles for readability.
author Brian Neal <bgneal@gmail.com>
date Wed, 09 Dec 2009 00:03:10 +0000
parents 08cd19c1ee50
children b4305e18d3af
line wrap: on
line source
"""
Signal handler(s) for the bio application.
"""
from django.db.models.signals import post_save
from django.contrib.auth.models import User
from bio.models import UserProfile

def on_user_save(sender, **kwargs):
    """
    This signal handler ensures that every User has a corresonding
    UserProfile. It is called after User instance is saved. It creates
    a UserProfile for the User if the created argument is True.
    """
    created = kwargs['created']
    if created:
        user = kwargs['instance']
        profile = UserProfile()
        profile.user = user
        profile.save()


post_save.connect(on_user_save, sender=User)