@@ -9,11 +9,7 @@ def _ldap_get_group_members(group: str) -> list[CSHMember]:
99
1010
1111def _ldap_is_member_of_group (member : CSHMember , group : str ) -> bool :
12- group_list = member .get ("memberOf" )
13- for group_dn in group_list :
14- if group == group_dn .split ("," )[0 ][3 :]:
15- return True
16- return False
12+ return ldap .get_group (group ).check_member (member )
1713
1814
1915def _ldap_add_member_to_group (account : CSHMember , group : str ):
@@ -28,18 +24,13 @@ def _ldap_remove_member_from_group(account: CSHMember, group: str):
2824
2925@service_cache (maxsize = 256 )
3026def _ldap_is_member_of_directorship (account : CSHMember , directorship : str ):
31- directors = ldap .get_directorship_heads (directorship )
32- for director in directors :
33- if director .uid == account .uid :
34- return True
35- return False
36-
27+ return account .in_group (f'eboard-{ directorship } ' , dn = True )
28+ # TODO: try in_group(ldap.get_group(f'eboard-{directorship}')) and profile
3729
3830@service_cache (maxsize = 1024 )
3931def ldap_get_member (username : str ) -> CSHMember :
4032 return ldap .get_member (username , uid = True )
4133
42-
4334@service_cache (maxsize = 1024 )
4435def ldap_get_active_members () -> list [CSHMember ]:
4536 return _ldap_get_group_members ("active" )
0 commit comments