From 31c2b8f8f7d25d3cd6f74b625a949f17d9fd62a2 Mon Sep 17 00:00:00 2001 From: Tony Mack Date: Fri, 26 Apr 2013 20:01:42 -0400 Subject: [PATCH] register a signal that caches the user's credentials on login --- plstackapi/core/admin.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/plstackapi/core/admin.py b/plstackapi/core/admin.py index 7e19cf1..dae2256 100644 --- a/plstackapi/core/admin.py +++ b/plstackapi/core/admin.py @@ -8,6 +8,7 @@ from django.utils.safestring import mark_safe from django.contrib.auth.admin import UserAdmin from django.contrib.admin.widgets import FilteredSelectMultiple from django.contrib.auth.forms import ReadOnlyPasswordHashField +from django.contrib.auth.signals import user_logged_in class ReadonlyTabularInline(admin.TabularInline): @@ -133,7 +134,6 @@ class SliverAdmin(admin.ModelAdmin): ] list_display = ['ip', 'name', 'slice', 'flavor', 'image', 'key', 'node', 'deploymentNetwork'] - class UserCreationForm(forms.ModelForm): """A form for creating new users. Includes all the required fields, plus a repeated password.""" @@ -206,6 +206,13 @@ class PLUserAdmin(UserAdmin): ordering = ('email',) filter_horizontal = () +# register a signal that caches the user's credentials when they log in +def cache_credentials(sender, user, request, **kwds): + auth = {'username': request.POST['username'], + 'password': request.POST['password']} + request.session['auth'] = auth +user_logged_in.connect(cache_credentials) + # Now register the new UserAdmin... admin.site.register(PLUser, PLUserAdmin) # ... and, since we're not using Django's builtin permissions, -- 2.43.0