updated ldap loop
This commit is contained in:
@@ -253,21 +253,26 @@ for ldapGroup in ldapGroups:
|
||||
searchSeafileGroup = request('admin/search-group/?query={0}'.format(ldapGroup.name), seafileURL, seafileToken)['response']['group_list']
|
||||
for seafileGroup in searchSeafileGroup:
|
||||
if seafileGroup['name'] == ldapGroup.name:
|
||||
seafileGroupMembers = request('admin/groups/{0}/members/'.format(seafileGroup['id']), seafileURL, seafileToken)['response']['members']
|
||||
for ldapGroupMember in ldapGroup.member:
|
||||
logger.debug("Searching for LDAP user {0}".format(ldapGroupMember))
|
||||
ldap.search(ldapBase, '(&(distinguishedName={0})(mail=*)(!(userAccountControl:1.2.840.113556.1.4.803:=2))({1}))'.format(ldapGroupMember, ldapFilter), attributes=['mail'])
|
||||
count = len(ldap.entries)
|
||||
logger.debug("Found {0} LDAP user.".format(count))
|
||||
if count == 1:
|
||||
if [item for item in seafileGroupMembers if ldap.entries[0]['mail'] == item['email']]:
|
||||
logger.debug("User {0} is already member of Seafile Group {1}".format(ldap.entries[0]['mail'], seafileGroup['name']))
|
||||
continue
|
||||
else:
|
||||
logger.info("User {0} is not a member of Seafile Group {1}".format(ldap.entries[0]['mail'], seafileGroup['name']))
|
||||
addMembertoSeafileGroup = request('admin/groups/{0}/members/'.format(seafileGroup['id']), seafileURL, seafileToken, "POST", {"email": "{0}".format(ldap.entries[0]['mail'])})['response']
|
||||
else:
|
||||
logger.debug("User {0} is not enabled, have no email, or not in the Seafile Group".format(ldap.entries[0]['mail']))
|
||||
addMembertoSeafileGroup = request('admin/groups/{0}/members/'.format(seafileGroup['id']), seafileURL, seafileToken, "POST", "email={0}".format(ldap.entries[0]['mail']), False)['response']
|
||||
if addMembertoSeafileGroup['failed']['email'] == ldap.entries[0]['mail'] and addMembertoSeafileGroup['failed']['error_msg'].endswith(" is already a group member."):
|
||||
logger.debug("User {0} is already member of Seafile Group {1}".format(ldap.entries[0]['mail'], seafileGroup['name']))
|
||||
|
||||
|
||||
#seafileGroupMembers = request('admin/groups/{0}/members/'.format(seafileGroup['id']), seafileURL, seafileToken)['response']['members']
|
||||
#for ldapGroupMember in ldapGroup.member:
|
||||
# logger.debug("Searching for LDAP user {0}".format(ldapGroupMember))
|
||||
# ldap.search(ldapBase, '(&(distinguishedName={0})(mail=*)(!(userAccountControl:1.2.840.113556.1.4.803:=2))({1}))'.format(ldapGroupMember, ldapFilter), attributes=['mail'])
|
||||
# count = len(ldap.entries)
|
||||
# logger.debug("Found {0} LDAP user.".format(count))
|
||||
# if count == 1:
|
||||
# if [item for item in seafileGroupMembers if ldap.entries[0]['mail'] == item['email']]:
|
||||
# logger.debug("User {0} is already member of Seafile Group {1}".format(ldap.entries[0]['mail'], seafileGroup['name']))
|
||||
# continue
|
||||
# else:
|
||||
# logger.info("User {0} is not a member of Seafile Group {1}".format(ldap.entries[0]['mail'], seafileGroup['name']))
|
||||
# addMembertoSeafileGroup = request('admin/groups/{0}/members/'.format(seafileGroup['id']), seafileURL, seafileToken, "POST", {"email": "{0}".format(ldap.entries[0]['mail'])})['response']
|
||||
# else:
|
||||
# logger.debug("User {0} is not enabled, have no email, or not in the Seafile Group".format(ldap.entries[0]['mail']))
|
||||
else:
|
||||
continue
|
||||
|
||||
|
||||
Reference in New Issue
Block a user