Added ability for user access to be updated from the admin

This commit is contained in:
2011-10-06 14:35:16 +01:00
parent 175e8b1b28
commit feb4528c97

View File

@@ -4,7 +4,7 @@ from django.contrib.auth.admin import UserAdmin
from django.contrib.contenttypes import generic from django.contrib.contenttypes import generic
from sso.models import Service, ServiceAccount, SSOUser, SSOUserNote, PermissionRule, PermissionRuleset from sso.models import Service, ServiceAccount, SSOUser, SSOUserNote, PermissionRule, PermissionRuleset
from sso.tasks import update_user_access
class ServiceAdmin(admin.ModelAdmin): class ServiceAdmin(admin.ModelAdmin):
list_display = ('name', 'url', 'api', 'active') list_display = ('name', 'url', 'api', 'active')
@@ -29,6 +29,17 @@ class SSOUserProfileInline(admin.StackedInline):
# Define a new UserAdmin class # Define a new UserAdmin class
class SSOUserAdmin(UserAdmin): class SSOUserAdmin(UserAdmin):
inlines = [SSOUserProfileInline, ] inlines = [SSOUserProfileInline, ]
actions = ['user_update_access', ]
def user_update_access(self, request, queryset):
for obj in queryset:
update_user_access.delay(obj.id)
if queryset.count() == 1:
message_bit = '1 user'
else:
message_bit = '%s users' % queryset.count()
self.message_user(request, "%s queued for updating." % message_bit)
user_update_access.short_description = "Update User Access"
class SSOUserNoteAdmin(admin.ModelAdmin): class SSOUserNoteAdmin(admin.ModelAdmin):
@@ -54,8 +65,6 @@ class PermissionRulesetAdmin(admin.ModelAdmin):
inlines = [PermissionRuleInline,] inlines = [PermissionRuleInline,]
admin.site.register(Service, ServiceAdmin) admin.site.register(Service, ServiceAdmin)
admin.site.register(ServiceAccount, ServiceAccountAdmin) admin.site.register(ServiceAccount, ServiceAccountAdmin)
admin.site.unregister(User) admin.site.unregister(User)