From f7a7cce881c1051a09474abcab48749ff6827494 Mon Sep 17 00:00:00 2001 From: Clinton Blackburn <cblackburn@edx.org> Date: Thu, 17 Sep 2015 15:51:16 -0400 Subject: [PATCH] Using a better admin interface for UserProfiles This interface should actually be useful as it doesn't attempt to load all users on the edit page. ECOM-2172 --- common/djangoapps/student/admin.py | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/common/djangoapps/student/admin.py b/common/djangoapps/student/admin.py index 05509dc..4fae854 100644 --- a/common/djangoapps/student/admin.py +++ b/common/djangoapps/student/admin.py @@ -148,7 +148,20 @@ class CourseEnrollmentAdmin(admin.ModelAdmin): model = CourseEnrollment -admin.site.register(UserProfile) +class UserProfileAdmin(admin.ModelAdmin): + """ Admin interface for UserProfile model. """ + list_display = ('user', 'name',) + search_fields = ('user__username', 'user__first_name', 'user__last_name', 'user__email', 'name',) + + def get_readonly_fields(self, request, obj=None): + # The user field should not be editable for an existing user profile. + if obj: + return self.readonly_fields + ('user',) + return self.readonly_fields + + class Meta(object): # pylint: disable=missing-docstring + model = UserProfile + admin.site.register(UserTestGroup) @@ -165,3 +178,5 @@ admin.site.register(DashboardConfiguration, ConfigurationModelAdmin) admin.site.register(LinkedInAddToProfileConfiguration, LinkedInAddToProfileConfigurationAdmin) admin.site.register(CourseEnrollment, CourseEnrollmentAdmin) + +admin.site.register(UserProfile, UserProfileAdmin) -- libgit2 0.26.0