diff --git a/common/djangoapps/course_modes/admin.py b/common/djangoapps/course_modes/admin.py index f7898418a4..2bb9d7bf7f 100644 --- a/common/djangoapps/course_modes/admin.py +++ b/common/djangoapps/course_modes/admin.py @@ -4,9 +4,10 @@ Django admin page for course modes from django.conf import settings from django import forms from django.utils.translation import ugettext_lazy as _ -from django.contrib import admin +from django.contrib.admin import widgets from pytz import timezone, UTC +from ratelimitbackend import admin from opaque_keys.edx.keys import CourseKey from opaque_keys.edx.locations import SlashSeparatedCourseKey @@ -54,7 +55,7 @@ class CourseModeForm(forms.ModelForm): "OPTIONAL: After this date/time, users will no longer be able to submit photos for verification. " "This appies ONLY to modes that require verification." ), - widget=admin.widgets.AdminSplitDateTime, + widget=widgets.AdminSplitDateTime, ) def __init__(self, *args, **kwargs): diff --git a/common/djangoapps/student/admin.py b/common/djangoapps/student/admin.py index 2c1a4dae7d..bf0f5b7dd5 100644 --- a/common/djangoapps/student/admin.py +++ b/common/djangoapps/student/admin.py @@ -113,7 +113,6 @@ class CourseAccessRoleForm(forms.ModelForm): self.fields['email'].initial = self.instance.user.email -@admin.register(CourseAccessRole) class CourseAccessRoleAdmin(admin.ModelAdmin): """Admin panel for the Course Access Role. """ form = CourseAccessRoleForm @@ -138,7 +137,6 @@ class CourseAccessRoleAdmin(admin.ModelAdmin): super(CourseAccessRoleAdmin, self).save_model(request, obj, form, change) -@admin.register(LinkedInAddToProfileConfiguration) class LinkedInAddToProfileConfigurationAdmin(admin.ModelAdmin): """Admin interface for the LinkedIn Add to Profile configuration. """ @@ -149,7 +147,6 @@ class LinkedInAddToProfileConfigurationAdmin(admin.ModelAdmin): exclude = ('dashboard_tracking_code',) -@admin.register(CourseEnrollment) class CourseEnrollmentAdmin(admin.ModelAdmin): """ Admin interface for the CourseEnrollment model. """ list_display = ('id', 'course_id', 'mode', 'user', 'is_active',) @@ -185,7 +182,6 @@ class UserAdmin(BaseUserAdmin): return django_readonly + ('username',) -@admin.register(UserAttribute) class UserAttributeAdmin(admin.ModelAdmin): """ Admin interface for the UserAttribute model. """ list_display = ('user', 'name', 'value',) @@ -201,10 +197,14 @@ admin.site.register(UserTestGroup) admin.site.register(CourseEnrollmentAllowed) admin.site.register(Registration) admin.site.register(PendingNameChange) +admin.site.register(CourseAccessRole, CourseAccessRoleAdmin) +admin.site.register(CourseEnrollment, CourseEnrollmentAdmin) admin.site.register(DashboardConfiguration, ConfigurationModelAdmin) +admin.site.register(LinkedInAddToProfileConfiguration, LinkedInAddToProfileConfigurationAdmin) admin.site.register(LogoutViewConfiguration, ConfigurationModelAdmin) admin.site.register(RegistrationCookieConfiguration, ConfigurationModelAdmin) - +admin.site.register(UserAttribute, UserAttributeAdmin) # We must first un-register the User model since it may also be registered by the auth app. +admin.site.unregister(User) admin.site.register(User, UserAdmin) diff --git a/common/djangoapps/third_party_auth/admin.py b/common/djangoapps/third_party_auth/admin.py index b3d19095c8..1e7620da2e 100644 --- a/common/djangoapps/third_party_auth/admin.py +++ b/common/djangoapps/third_party_auth/admin.py @@ -4,7 +4,7 @@ Admin site configuration for third party authentication """ from config_models.admin import ConfigurationModelAdmin, KeyedConfigurationModelAdmin from django import forms -from django.contrib import admin +from ratelimitbackend import admin from third_party_auth.provider import Registry diff --git a/lms/djangoapps/experiments/admin.py b/lms/djangoapps/experiments/admin.py index feee039a09..f5b848de79 100644 --- a/lms/djangoapps/experiments/admin.py +++ b/lms/djangoapps/experiments/admin.py @@ -1,9 +1,8 @@ -from django.contrib import admin +from ratelimitbackend import admin from .models import ExperimentData -@admin.register(ExperimentData) class ExperimentDataAdmin(admin.ModelAdmin): list_display = ('user', 'experiment_id', 'key',) list_filter = ('experiment_id',) @@ -11,3 +10,6 @@ class ExperimentDataAdmin(admin.ModelAdmin): raw_id_fields = ('user',) readonly_fields = ('created', 'modified',) search_fields = ('experiment_id', 'user', 'key',) + + +admin.site.register(ExperimentData, ExperimentDataAdmin) diff --git a/lms/djangoapps/verify_student/admin.py b/lms/djangoapps/verify_student/admin.py index a454712e0d..d5fe94f567 100644 --- a/lms/djangoapps/verify_student/admin.py +++ b/lms/djangoapps/verify_student/admin.py @@ -9,7 +9,6 @@ from ratelimitbackend import admin from lms.djangoapps.verify_student.models import SoftwareSecurePhotoVerification -@admin.register(SoftwareSecurePhotoVerification) class SoftwareSecurePhotoVerificationAdmin(admin.ModelAdmin): """ Admin for the SoftwareSecurePhotoVerification table. @@ -17,3 +16,6 @@ class SoftwareSecurePhotoVerificationAdmin(admin.ModelAdmin): list_display = ('id', 'user', 'status', 'receipt_id', 'submitted_at', 'updated_at',) raw_id_fields = ('user', 'reviewing_user', 'copy_id_photo_from',) search_fields = ('receipt_id', 'user__username',) + + +admin.site.register(SoftwareSecurePhotoVerification, SoftwareSecurePhotoVerificationAdmin) diff --git a/openedx/core/djangoapps/api_admin/admin.py b/openedx/core/djangoapps/api_admin/admin.py index 45add91f45..24fb247274 100644 --- a/openedx/core/djangoapps/api_admin/admin.py +++ b/openedx/core/djangoapps/api_admin/admin.py @@ -1,13 +1,12 @@ """Admin views for API managment.""" from config_models.admin import ConfigurationModelAdmin -from django.contrib import admin +from ratelimitbackend import admin from django.core.urlresolvers import reverse from django.utils.translation import ugettext as _ from openedx.core.djangoapps.api_admin.models import ApiAccessConfig, ApiAccessRequest -@admin.register(ApiAccessRequest) class ApiAccessRequestAdmin(admin.ModelAdmin): """Admin for API access requests.""" list_display = ('user', 'status', 'website') @@ -39,3 +38,4 @@ class ApiAccessRequestAdmin(admin.ModelAdmin): ) admin.site.register(ApiAccessConfig, ConfigurationModelAdmin) +admin.site.register(ApiAccessRequest, ApiAccessRequestAdmin) diff --git a/openedx/core/djangoapps/verified_track_content/admin.py b/openedx/core/djangoapps/verified_track_content/admin.py index b536c596fe..cfe86bb808 100644 --- a/openedx/core/djangoapps/verified_track_content/admin.py +++ b/openedx/core/djangoapps/verified_track_content/admin.py @@ -2,13 +2,15 @@ Django admin page for verified track configuration """ -from django.contrib import admin +from ratelimitbackend import admin from openedx.core.djangoapps.verified_track_content.forms import VerifiedTrackCourseForm from openedx.core.djangoapps.verified_track_content.models import VerifiedTrackCohortedCourse -@admin.register(VerifiedTrackCohortedCourse) class VerifiedTrackCohortedCourseAdmin(admin.ModelAdmin): """Admin for enabling verified track cohorting. """ form = VerifiedTrackCourseForm + + +admin.site.register(VerifiedTrackCohortedCourse, VerifiedTrackCohortedCourseAdmin) diff --git a/requirements/edx/base.txt b/requirements/edx/base.txt index 70e7b4b867..a24a60db80 100644 --- a/requirements/edx/base.txt +++ b/requirements/edx/base.txt @@ -111,7 +111,7 @@ stevedore==1.10.0 sure==1.2.3 sympy==0.7.1 xmltodict==0.4.1 -django-ratelimit-backend==1.0 +django-ratelimit-backend==1.1.1 unicodecsv==0.9.4 django-require==1.0.11 django-webpack-loader==0.4.1