Merge branch 'django3' of https://github.com/c-base/cbmi into django3

This commit is contained in:
smile 2022-09-27 20:54:38 +02:00
commit a9cbe37e9b
2 changed files with 10 additions and 2 deletions

View file

@ -250,3 +250,10 @@ class MemberValues(object):
except Exception:
LOGGER.exception('list_users failed')
return []
def get_ldap_admins():
session = ldap.initialize(settings.CBASE_LDAP_URL)
session.search('cn=ldap_admins,ou=groups,dc=c-base,dc=org', ldap.SCOPE_BASE)
result = session.result()
return [x.decode().split(',')[0].split('=')[1] for x in result[1][0][1].get('member')]

View file

@ -19,7 +19,7 @@ from django.shortcuts import render
from django.utils.translation import gettext as _
import smbpasswd
from account.cbase_members import retrieve_member, MemberValues
from account.cbase_members import retrieve_member, MemberValues, get_ldap_admins
from account.forms import GastroPinForm, WlanPresenceForm, LoginForm, \
PasswordForm, RFIDForm, NRF24Form, SIPPinForm, CLabPinForm, AdminForm, \
PreferredEmailForm
@ -32,7 +32,8 @@ def landingpage(request):
login_form = LoginForm()
try:
# just in case the group hasn't yet been synced
admins = Group.objects.get(name="ldap_admins").user_set.all()
# admins = Group.objects.filter(name__in=get_ldap_admins()).user_set.all()
admins = get_ldap_admins()
except Exception:
# else provide an emtpy list
admins = []