From 89cc03141bf49a9a97dba2c43dd925b84d97c969 Mon Sep 17 00:00:00 2001 From: quark Date: Thu, 12 Jun 2025 18:48:29 +0200 Subject: [PATCH 1/2] allow search with club name --- apps/food/views.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/apps/food/views.py b/apps/food/views.py index d9556ef6..f8c7977d 100644 --- a/apps/food/views.py +++ b/apps/food/views.py @@ -63,7 +63,8 @@ class FoodListView(ProtectQuerysetMixin, LoginRequiredMixin, MultiTableMixin, Li valid_regex = is_regex(pattern) suffix = '__iregex' if valid_regex else '__istartswith' prefix = '^' if valid_regex else '' - qs = qs.filter(Q(**{f'name{suffix}': prefix + pattern})) + qs = qs.filter(Q(**{f'name{suffix}': prefix + pattern}) + | Q(**{f'owner__name{suffix}': prefix + pattern})) else: qs = qs.none() search_table = qs.filter(PermissionBackend.filter_queryset(self.request, Food, 'view')) From d71105976f58628c90d730ab991e8b2c96704edd Mon Sep 17 00:00:00 2001 From: quark Date: Sat, 14 Jun 2025 18:01:42 +0200 Subject: [PATCH 2/2] oidc --- apps/permission/scopes.py | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/apps/permission/scopes.py b/apps/permission/scopes.py index 6ee5818f..29b04217 100644 --- a/apps/permission/scopes.py +++ b/apps/permission/scopes.py @@ -3,6 +3,7 @@ from oauth2_provider.oauth2_validators import OAuth2Validator from oauth2_provider.scopes import BaseScopes from member.models import Club +from note.models import Alias from note_kfet.middlewares import get_current_request from .backends import PermissionBackend @@ -35,7 +36,18 @@ class PermissionScopes(BaseScopes): class PermissionOAuth2Validator(OAuth2Validator): - oidc_claim_scope = None # fix breaking change of django-oauth-toolkit 2.0.0 + oidc_claim_scope = OAuth2Validator.oidc_claim_scope + oidc_claim_scope.update({"name": 'openid', + "normalized_name": 'openid', + "email": 'openid', + }) + + def get_additional_claims(self, request): + return { + "name": request.user.username, + "normalized_name": Alias.normalize(request.user.username), + "email": request.user.email, + } def validate_scopes(self, client_id, scopes, client, request, *args, **kwargs): """