From 852dd0aeb32d9126f4a0488a4879269bf730aaf2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Thiberg?= <42668688+bjornthiberg@users.noreply.github.com> Date: Tue, 27 Feb 2024 15:34:16 +0100 Subject: [PATCH 1/4] Add accesstoken and ThrottledApplication to admin panel (#3711) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Co-authored-by: Tore Nylén Co-authored-by: Oozna <66669398+Oozna@users.noreply.github.com> Co-authored-by: Sam Shahriari <62112476+samshahriari@users.noreply.github.com> Co-authored-by: Sam <80268884+Samkth123@users.noreply.github.com> --- api/api/admin/__init__.py | 54 ++++++++++++++++++++++++++++++++++++++- 1 file changed, 53 insertions(+), 1 deletion(-) diff --git a/api/api/admin/__init__.py b/api/api/admin/__init__.py index 64ac53e7a8..7473532014 100644 --- a/api/api/admin/__init__.py +++ b/api/api/admin/__init__.py @@ -3,7 +3,8 @@ from api.admin.site import openverse_admin from api.models import PENDING, Audio, AudioReport, ContentProvider, Image, ImageReport from api.models.media import AbstractDeletedMedia, AbstractMatureMedia - +from api.models.oauth import ThrottledApplication +from oauth2_provider.models import AccessToken admin.site = openverse_admin admin.sites.site = openverse_admin @@ -83,3 +84,54 @@ class ProviderAdmin(admin.ModelAdmin): list_display = ("provider_name", "provider_identifier", "media_type") search_fields = ("provider_name", "provider_identifier") ordering = ("media_type", "provider_name") + + +@admin.register(ThrottledApplication) +class ThrottledApplicationAdmin(admin.ModelAdmin): + search_fields = ("client_id", "name") + list_display = ("client_id", "name", "user", "rate_limit_model") + ordering = ("client_id",) + + def get_readonly_fields(self, request, obj=None): + if obj is None: + return [] + readonly_fields = [ + "skip_authorization", + "verified", + "client_id", + "name", + "user", + "rate_limit_model", + "algorithm", + "redirect_uris", + "post_logout_redirect_uris", + "client_type", + "authorization_grant_type", + "client_secret", + ] + + return readonly_fields + + +@admin.register(AccessToken) +class AccessTokenAdmin(admin.ModelAdmin): + search_fields = ("token", "id") + list_display = ("token", "id", "scope", "expires") + + def get_readonly_fields(self, request, obj=None): + if obj is None: + return [] + readonly_fields = [ + "id", + "user", + "source_refresh_token", + "token", + "id_token", + "application", + "expires", + "scope", + "created", + "updated", + ] + + return readonly_fields From b72c2908e13fc735a162dc0db38093b274f87313 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Thiberg?= Date: Thu, 29 Feb 2024 16:20:14 +0100 Subject: [PATCH 2/4] resolve import merge conflict (#5711) --- api/api/admin/__init__.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/api/api/admin/__init__.py b/api/api/admin/__init__.py index 7473532014..aeb56f2037 100644 --- a/api/api/admin/__init__.py +++ b/api/api/admin/__init__.py @@ -1,10 +1,12 @@ from django.contrib import admin +from oauth2_provider.models import AccessToken + from api.admin.site import openverse_admin from api.models import PENDING, Audio, AudioReport, ContentProvider, Image, ImageReport from api.models.media import AbstractDeletedMedia, AbstractMatureMedia from api.models.oauth import ThrottledApplication -from oauth2_provider.models import AccessToken + admin.site = openverse_admin admin.sites.site = openverse_admin From 05292e6ad66be2c2adaab1c4789cdbc0e578bc0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Thiberg?= Date: Thu, 14 Mar 2024 07:25:55 +0100 Subject: [PATCH 3/4] resolve review comments (#3711) --- api/api/admin/__init__.py | 72 +++++++++++++++++---------------------- 1 file changed, 31 insertions(+), 41 deletions(-) diff --git a/api/api/admin/__init__.py b/api/api/admin/__init__.py index f5961a76c1..7e7c17a32c 100644 --- a/api/api/admin/__init__.py +++ b/api/api/admin/__init__.py @@ -91,49 +91,39 @@ class ProviderAdmin(admin.ModelAdmin): @admin.register(ThrottledApplication) class ThrottledApplicationAdmin(admin.ModelAdmin): search_fields = ("client_id", "name") - list_display = ("client_id", "name", "user", "rate_limit_model") - ordering = ("client_id",) - - def get_readonly_fields(self, request, obj=None): - if obj is None: - return [] - readonly_fields = [ - "skip_authorization", - "verified", - "client_id", - "name", - "user", - "rate_limit_model", - "algorithm", - "redirect_uris", - "post_logout_redirect_uris", - "client_type", - "authorization_grant_type", - "client_secret", - ] - - return readonly_fields + list_display = ("client_id", "name", "created", "rate_limit_model") + ordering = ("-created",) + + readonly_fields = ( + "skip_authorization", + "verified", + "client_id", + "name", + "user", + "algorithm", + "redirect_uris", + "post_logout_redirect_uris", + "client_type", + "authorization_grant_type", + "client_secret", + ) @admin.register(AccessToken) class AccessTokenAdmin(admin.ModelAdmin): search_fields = ("token", "id") - list_display = ("token", "id", "scope", "expires") - - def get_readonly_fields(self, request, obj=None): - if obj is None: - return [] - readonly_fields = [ - "id", - "user", - "source_refresh_token", - "token", - "id_token", - "application", - "expires", - "scope", - "created", - "updated", - ] - - return readonly_fields + list_display = ("token", "id", "created", "scope", "expires") + ordering = ("-created",) + + readonly_fields = ( + "id", + "user", + "source_refresh_token", + "token", + "id_token", + "application", + "expires", + "scope", + "created", + "updated", + ) From f1a77b1044649d96272dc6cc9e83d1d08aa36f55 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Thiberg?= Date: Thu, 14 Mar 2024 07:35:07 +0100 Subject: [PATCH 4/4] make rate_limit_model searchable (#3711) --- api/api/admin/__init__.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/api/api/admin/__init__.py b/api/api/admin/__init__.py index 7e7c17a32c..c2994e4898 100644 --- a/api/api/admin/__init__.py +++ b/api/api/admin/__init__.py @@ -90,7 +90,7 @@ class ProviderAdmin(admin.ModelAdmin): @admin.register(ThrottledApplication) class ThrottledApplicationAdmin(admin.ModelAdmin): - search_fields = ("client_id", "name") + search_fields = ("client_id", "name", "rate_limit_model") list_display = ("client_id", "name", "created", "rate_limit_model") ordering = ("-created",)