Commit 2e8e51c3 by Cliff Dyer Committed by GitHub

Merge pull request #13296 from edx/cdyer/oauth-admin

Update django-oauth-toolkit admin
parents bd792642 bd8a8bab
"""
Override admin configuration for django-oauth-toolkit
"""
from django.contrib.admin import ModelAdmin, site
from oauth2_provider import models
def reregister(model_class):
"""
Remove the existing admin, and register it anew with the given ModelAdmin
Usage:
@reregister(ModelClass)
class ModelClassAdmin(ModelAdmin):
pass
"""
def decorator(cls):
"""
The actual decorator that does the work.
"""
site.unregister(model_class)
site.register(model_class, cls)
return cls
return decorator
@reregister(models.AccessToken)
class DOTAccessTokenAdmin(ModelAdmin):
"""
Custom AccessToken Admin
"""
date_hierarchy = u'expires'
list_display = [u'token', u'user', u'application', u'expires']
list_filter = [u'application']
raw_id_fields = [u'user']
search_fields = [u'token', u'user__username']
@reregister(models.RefreshToken)
class DOTRefreshTokenAdmin(ModelAdmin):
"""
Custom AccessToken Admin
"""
list_display = [u'token', u'user', u'application', u'access_token']
list_filter = [u'application']
raw_id_fields = [u'user', u'access_token']
search_fields = [u'token', u'user__username', u'access_token__token']
@reregister(models.Application)
class DOTApplicationAdmin(ModelAdmin):
"""
Custom Application Admin
"""
list_display = [u'name', u'user', u'client_type', u'authorization_grant_type', u'client_id']
list_filter = [u'client_type', u'authorization_grant_type']
raw_id_fields = [u'user']
search_fields = [u'name', u'user__username', u'client_id']
@reregister(models.Grant)
class DOTGrantAdmin(ModelAdmin):
"""
Custom Grant Admin
"""
date_hierarchy = u'expires'
list_display = [u'code', u'user', u'application', u'expires']
list_filter = [u'application']
raw_id_fields = [u'user']
search_fields = [u'code', u'user__username']
"""
Configure OAuthDispatch App
"""
from __future__ import absolute_import
from django.apps import AppConfig
class OAuthDispatchAppConfig(AppConfig):
"""
OAuthDispatch Configuration
"""
name = u'lms.djangoapps.oauth_dispatch'
......@@ -1907,6 +1907,7 @@ INSTALLED_APPS = (
# django-oauth-toolkit
'oauth2_provider',
'lms.djangoapps.oauth_dispatch.apps.OAuthDispatchAppConfig',
'third_party_auth',
......
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