1
0
mirror of https://gitlab.crans.org/bde/nk20 synced 2025-06-21 01:48:21 +02:00

Better templates for OAuth2 authentication

Signed-off-by: Yohann D'ANELLO <ynerant@crans.org>
This commit is contained in:
2021-06-15 21:31:51 +02:00
parent 8be16e7b58
commit 898f6d52bf
11 changed files with 361 additions and 24 deletions

View File

@ -3,6 +3,7 @@
from oauth2_provider.scopes import BaseScopes
from member.models import Club
from note_kfet.middlewares import get_current_request
from .backends import PermissionBackend
from .models import Permission
@ -22,14 +23,12 @@ class PermissionScopes(BaseScopes):
def get_available_scopes(self, application=None, request=None, *args, **kwargs):
if not application:
return []
user = application.user
return [f"{p.id}_{p.membership.club.id}"
for t in Permission.PERMISSION_TYPES
for p in PermissionBackend.get_raw_permissions(user, t[0])]
for p in PermissionBackend.get_raw_permissions(get_current_request(), t[0])]
def get_default_scopes(self, application=None, request=None, *args, **kwargs):
if not application:
return []
user = application.user
return [f"{p.id}_{p.membership.club.id}"
for p in PermissionBackend.get_raw_permissions(user, 'view')]
for p in PermissionBackend.get_raw_permissions(get_current_request(), 'view')]