Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 2 additions & 26 deletions conditional/util/auth.py
Original file line number Diff line number Diff line change
@@ -1,32 +1,8 @@
from functools import wraps

from flask import request, session

from conditional.util.ldap import ldap_is_active, ldap_is_alumni, \
ldap_is_eboard, ldap_is_eval_director, \
ldap_is_financial_director, ldap_get_member, ldap_is_current_student


def webauth_request(func):
@wraps(func)
def wrapped_func(*args, **kwargs):
user_name = request.headers.get('x-webauth-user')
account = ldap_get_member(user_name)
is_active = ldap_is_active(account)
is_alumni = ldap_is_alumni(account)
is_eboard = ldap_is_eboard(account)
is_financial = ldap_is_financial_director(account)
is_eval = ldap_is_eval_director(account)

return func({"user_name": user_name,
"is_active": is_active,
"is_alumni": is_alumni,
"is_eboard": is_eboard,
"is_financial_director": is_financial,
"is_eval_director": is_eval}, *args, **kwargs)

return wrapped_func
from flask import session

from conditional.util.ldap import ldap_get_member, ldap_is_current_student

def get_user(func):
@wraps(func)
Expand Down
11 changes: 5 additions & 6 deletions conditional/util/ldap.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,9 +22,8 @@ def _ldap_remove_member_from_group(account: CSHMember, group: str):


@service_cache(maxsize=256)
def _ldap_is_member_of_directorship(account: CSHMember, directorship: str):
return account.in_group(f'eboard-{directorship}', dn=True)
# TODO: try in_group(ldap.get_group(f'eboard-{directorship}')) and profile
def _ldap_is_member_of_directorship(member: CSHMember, directorship: str):
return _ldap_is_member_of_group(member, f'eboard-{directorship}')

@service_cache(maxsize=1024)
def ldap_get_member(username: str) -> CSHMember:
Expand Down Expand Up @@ -81,7 +80,7 @@ def ldap_is_eboard(account) -> bool:

@service_cache(maxsize=128)
def ldap_is_rtp(account) -> bool:
return _ldap_is_member_of_group(account, 'rtp')
return _ldap_is_member_of_group(account, 'active_rtp')


@service_cache(maxsize=128)
Expand All @@ -96,12 +95,12 @@ def ldap_is_onfloor(account) -> bool:

@service_cache(maxsize=128)
def ldap_is_financial_director(account) -> bool:
return _ldap_is_member_of_directorship(account, 'Financial')
return _ldap_is_member_of_directorship(account, 'financial')


@service_cache(maxsize=128)
def ldap_is_eval_director(account) -> bool:
return _ldap_is_member_of_directorship(account, 'Evaluations')
return _ldap_is_member_of_directorship(account, 'evaluations')


@service_cache(maxsize=256)
Expand Down