mirror of
				https://gitlab.crans.org/bde/nk20
				synced 2025-10-31 07:49:57 +01:00 
			
		
		
		
	Compare commits
	
		
			1 Commits
		
	
	
		
			app_downlo
			...
			oauth2
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
|  | d2cc1b902d | 
| @@ -39,7 +39,15 @@ class PermissionBackend(ModelBackend): | |||||||
|  |  | ||||||
|             def permission_filter(membership_obj): |             def permission_filter(membership_obj): | ||||||
|                 query = Q(pk=-1) |                 query = Q(pk=-1) | ||||||
|  |                 if 'mask' in request.GET: | ||||||
|  |                     try: | ||||||
|  |                         rank = int(request.GET['mask']) | ||||||
|  |                     except: | ||||||
|  |                         rank = 42 | ||||||
|  |                     query &= Q(mask__rank__lte=rank) | ||||||
|                 for scope in request.auth.scope.split(' '): |                 for scope in request.auth.scope.split(' '): | ||||||
|  |                     if scope == "openid": | ||||||
|  |                         continue | ||||||
|                     permission_id, club_id = scope.split('_') |                     permission_id, club_id = scope.split('_') | ||||||
|                     if int(club_id) == membership_obj.club_id: |                     if int(club_id) == membership_obj.club_id: | ||||||
|                         query |= Q(pk=permission_id) |                         query |= Q(pk=permission_id) | ||||||
|   | |||||||
| @@ -10,6 +10,7 @@ from note_kfet.middlewares import get_current_request | |||||||
| from .backends import PermissionBackend | from .backends import PermissionBackend | ||||||
| from .models import Permission | from .models import Permission | ||||||
|  |  | ||||||
|  | from django.utils.translation import gettext_lazy as _ | ||||||
|  |  | ||||||
| class PermissionScopes(BaseScopes): | class PermissionScopes(BaseScopes): | ||||||
|     """ |     """ | ||||||
| @@ -32,7 +33,7 @@ class PermissionScopes(BaseScopes): | |||||||
|  |  | ||||||
|         scopes = {f"{p.id}_{club.id}": f"{p.description} (club {club.name})" |         scopes = {f"{p.id}_{club.id}": f"{p.description} (club {club.name})" | ||||||
|                   for p in Permission.objects.all() for club in Club.objects.all()} |                   for p in Permission.objects.all() for club in Club.objects.all()} | ||||||
|         scopes['openid'] = "OpenID Connect" |         scopes['openid'] = _("OpenID Connect (username and email)") | ||||||
|         return scopes |         return scopes | ||||||
|  |  | ||||||
|     def get_available_scopes(self, application=None, request=None, *args, **kwargs): |     def get_available_scopes(self, application=None, request=None, *args, **kwargs): | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user