structure du projet + docker, back: mise en place BD et apps, front: début de dev pour le header et mise en place du thème et css global (override des variables bootstrap)
This commit is contained in:
@@ -0,0 +1,22 @@
|
||||
from api.users.models import *
|
||||
|
||||
def has_authorization(*, user, code: str, team=None) -> bool:
|
||||
if not user.is_authenticated:
|
||||
return False
|
||||
|
||||
qs = Authorization.objects.filter(code=code)
|
||||
|
||||
memberships = UserTeamRole.objects.filter(user=user)
|
||||
|
||||
if team is not None:
|
||||
memberships = memberships.filter(team=team)
|
||||
|
||||
return qs.filter(roleauthorization__role__teammembership__in=memberships).exists()
|
||||
|
||||
|
||||
class NotAuthorized(Exception):
|
||||
pass
|
||||
|
||||
def require_authorization(*, user, code: str, team=None):
|
||||
if not has_authorization(user=user, code=code, team=team):
|
||||
raise NotAuthorized(f"Missing authorization: {code}")
|
||||
Reference in New Issue
Block a user