From d228dbf225767303e98f08660abfd66ef332b1e1 Mon Sep 17 00:00:00 2001
From: bleizi <bleizi@crans.org>
Date: Wed, 7 Feb 2024 18:02:56 +0100
Subject: [PATCH] fix some breaking changes and linters

---
 apps/member/views.py                 | 2 +-
 apps/note/api/views.py               | 2 +-
 apps/note/tests/test_transactions.py | 2 +-
 apps/permission/scopes.py            | 2 ++
 apps/treasury/api/views.py           | 2 +-
 apps/treasury/urls.py                | 4 ++--
 note_kfet/admin.py                   | 4 ++--
 note_kfet/settings/base.py           | 3 +++
 8 files changed, 13 insertions(+), 8 deletions(-)

diff --git a/apps/member/views.py b/apps/member/views.py
index 066a7ef3..e56ed7b2 100644
--- a/apps/member/views.py
+++ b/apps/member/views.py
@@ -26,7 +26,7 @@ from permission.backends import PermissionBackend
 from permission.models import Role
 from permission.views import ProtectQuerysetMixin, ProtectedCreateView
 
-from .forms import UserForm, ProfileForm, ImageForm, ClubForm, MembershipForm,\
+from .forms import UserForm, ProfileForm, ImageForm, ClubForm, MembershipForm, \
     CustomAuthenticationForm, MembershipRolesForm
 from .models import Club, Membership
 from .tables import ClubTable, UserTable, MembershipTable, ClubManagerTable
diff --git a/apps/note/api/views.py b/apps/note/api/views.py
index 34ffaf2d..bc4f99ef 100644
--- a/apps/note/api/views.py
+++ b/apps/note/api/views.py
@@ -13,7 +13,7 @@ from rest_framework import status
 from api.viewsets import ReadProtectedModelViewSet, ReadOnlyProtectedModelViewSet
 from permission.backends import PermissionBackend
 
-from .serializers import NotePolymorphicSerializer, AliasSerializer, ConsumerSerializer,\
+from .serializers import NotePolymorphicSerializer, AliasSerializer, ConsumerSerializer, \
     TemplateCategorySerializer, TransactionTemplateSerializer, TransactionPolymorphicSerializer, \
     TrustSerializer
 from ..models.notes import Note, Alias, NoteUser, NoteClub, NoteSpecial, Trust
diff --git a/apps/note/tests/test_transactions.py b/apps/note/tests/test_transactions.py
index 4f5dd6c5..1f0920ec 100644
--- a/apps/note/tests/test_transactions.py
+++ b/apps/note/tests/test_transactions.py
@@ -10,7 +10,7 @@ from django.urls import reverse
 from django.utils import timezone
 from permission.models import Role
 
-from ..api.views import AliasViewSet, ConsumerViewSet, NotePolymorphicViewSet, TemplateCategoryViewSet,\
+from ..api.views import AliasViewSet, ConsumerViewSet, NotePolymorphicViewSet, TemplateCategoryViewSet, \
     TransactionTemplateViewSet, TransactionViewSet
 from ..models import NoteUser, Transaction, TemplateCategory, TransactionTemplate, RecurrentTransaction, \
     MembershipTransaction, SpecialTransaction, NoteSpecial, Alias, Note
diff --git a/apps/permission/scopes.py b/apps/permission/scopes.py
index 65242804..f8fd7687 100644
--- a/apps/permission/scopes.py
+++ b/apps/permission/scopes.py
@@ -44,6 +44,8 @@ class PermissionOAuth2Validator(OAuth2Validator):
         subset of permissions.
         """
 
+        oidc_claim_scope = None  # fix breaking change of django-oauth-toolkit 2.0.0
+
         valid_scopes = set()
 
         for t in Permission.PERMISSION_TYPES:
diff --git a/apps/treasury/api/views.py b/apps/treasury/api/views.py
index e6ba9ced..36388279 100644
--- a/apps/treasury/api/views.py
+++ b/apps/treasury/api/views.py
@@ -5,7 +5,7 @@ from django_filters.rest_framework import DjangoFilterBackend
 from rest_framework.filters import SearchFilter
 from api.viewsets import ReadProtectedModelViewSet
 
-from .serializers import InvoiceSerializer, ProductSerializer, RemittanceTypeSerializer, RemittanceSerializer,\
+from .serializers import InvoiceSerializer, ProductSerializer, RemittanceTypeSerializer, RemittanceSerializer, \
     SogeCreditSerializer
 from ..models import Invoice, Product, RemittanceType, Remittance, SogeCredit
 
diff --git a/apps/treasury/urls.py b/apps/treasury/urls.py
index 4fe87924..144ae296 100644
--- a/apps/treasury/urls.py
+++ b/apps/treasury/urls.py
@@ -3,8 +3,8 @@
 
 from django.urls import path
 
-from .views import InvoiceCreateView, InvoiceListView, InvoiceUpdateView, InvoiceDeleteView, InvoiceRenderView,\
-    RemittanceListView, RemittanceCreateView, RemittanceUpdateView, LinkTransactionToRemittanceView,\
+from .views import InvoiceCreateView, InvoiceListView, InvoiceUpdateView, InvoiceDeleteView, InvoiceRenderView, \
+    RemittanceListView, RemittanceCreateView, RemittanceUpdateView, LinkTransactionToRemittanceView, \
     UnlinkTransactionToRemittanceView, SogeCreditListView, SogeCreditManageView
 
 app_name = 'treasury'
diff --git a/note_kfet/admin.py b/note_kfet/admin.py
index dc209c67..1f26f559 100644
--- a/note_kfet/admin.py
+++ b/note_kfet/admin.py
@@ -25,8 +25,8 @@ admin_site.register(Site, SiteAdmin)
 
 # Add external apps model
 if "oauth2_provider" in settings.INSTALLED_APPS:
-    from oauth2_provider.admin import Application, ApplicationAdmin, Grant, \
-        GrantAdmin, AccessToken, AccessTokenAdmin, RefreshToken, RefreshTokenAdmin
+    from oauth2_provider.admin import ApplicationAdmin, GrantAdmin, AccessTokenAdmin, RefreshTokenAdmin
+    from oauth2_provider.model import Application, Grant, AccessToken, RefreshToken
     admin_site.register(Application, ApplicationAdmin)
     admin_site.register(Grant, GrantAdmin)
     admin_site.register(AccessToken, AccessTokenAdmin)
diff --git a/note_kfet/settings/base.py b/note_kfet/settings/base.py
index 1e9e0752..fe466b1e 100644
--- a/note_kfet/settings/base.py
+++ b/note_kfet/settings/base.py
@@ -263,6 +263,9 @@ OAUTH2_PROVIDER = {
     'REFRESH_TOKEN_EXPIRE_SECONDS': timedelta(days=14),
 }
 
+# PKCE (fix a breaking change of django-oauth-toolkit 2.0.0)
+PKCE_REQUIRED = False
+
 # Take control on how widget templates are sourced
 # See https://docs.djangoproject.com/en/2.2/ref/forms/renderers/#templatessetting
 FORM_RENDERER = 'django.forms.renderers.TemplatesSetting'
-- 
GitLab