Commit b6b5fdc2 by Clinton Blackburn

Updated UserAdmin

The profile now appears inline for the user model.

ECOM-4310
parent 7bca66c2
""" Django admin pages for student app """ """ Django admin pages for student app """
from django import forms from django import forms
from django.contrib.auth.models import User from django.contrib.auth import get_user_model
from ratelimitbackend import admin from django.contrib.auth.admin import UserAdmin as BaseUserAdmin
from xmodule.modulestore.django import modulestore from django.utils.translation import ugettext_lazy as _
from opaque_keys import InvalidKeyError from opaque_keys import InvalidKeyError
from opaque_keys.edx.keys import CourseKey from opaque_keys.edx.keys import CourseKey
from ratelimitbackend import admin
from xmodule.modulestore.django import modulestore
from config_models.admin import ConfigurationModelAdmin from config_models.admin import ConfigurationModelAdmin
from student.models import ( from student.models import (
...@@ -13,6 +15,8 @@ from student.models import ( ...@@ -13,6 +15,8 @@ from student.models import (
) )
from student.roles import REGISTERED_ACCESS_ROLES from student.roles import REGISTERED_ACCESS_ROLES
User = get_user_model() # pylint:disable=invalid-name
class CourseAccessRoleForm(forms.ModelForm): class CourseAccessRoleForm(forms.ModelForm):
"""Form for adding new Course Access Roles view the Django Admin Panel.""" """Form for adding new Course Access Roles view the Django Admin Panel."""
...@@ -147,21 +151,16 @@ class CourseEnrollmentAdmin(admin.ModelAdmin): ...@@ -147,21 +151,16 @@ class CourseEnrollmentAdmin(admin.ModelAdmin):
model = CourseEnrollment model = CourseEnrollment
class UserProfileAdmin(admin.ModelAdmin): class UserProfileInline(admin.StackedInline):
""" Admin interface for UserProfile model. """ """ Inline admin interface for UserProfile model. """
list_display = ('user', 'name',) model = UserProfile
raw_id_fields = ('user',) can_delete = False
show_full_result_count = False verbose_name_plural = _('User profile')
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): class UserAdmin(BaseUserAdmin):
model = UserProfile """ Admin interface for the User model. """
inlines = (UserProfileInline,)
admin.site.register(UserTestGroup) admin.site.register(UserTestGroup)
...@@ -180,4 +179,4 @@ admin.site.register(LinkedInAddToProfileConfiguration, LinkedInAddToProfileConfi ...@@ -180,4 +179,4 @@ admin.site.register(LinkedInAddToProfileConfiguration, LinkedInAddToProfileConfi
admin.site.register(CourseEnrollment, CourseEnrollmentAdmin) admin.site.register(CourseEnrollment, CourseEnrollmentAdmin)
admin.site.register(UserProfile, UserProfileAdmin) admin.site.register(User, UserAdmin)
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment