From cadfa971d6f4d556ee03dd890eaa6be393c6de56 Mon Sep 17 00:00:00 2001 From: Dominik George <dominik.george@teckids.org> Date: Sun, 29 Mar 2020 14:32:56 +0100 Subject: [PATCH] Skip group if one of the name fields is missing --- aleksis/apps/ldap/util/ldap_sync.py | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/aleksis/apps/ldap/util/ldap_sync.py b/aleksis/apps/ldap/util/ldap_sync.py index 645927b..3a7d76d 100644 --- a/aleksis/apps/ldap/util/ldap_sync.py +++ b/aleksis/apps/ldap/util/ldap_sync.py @@ -147,6 +147,20 @@ def ldap_sync_from_user(sender, instance, created, **kwargs): groups = instance.ldap_user._get_groups() group_infos = list(groups._get_group_infos()) for ldap_group in group_infos: + # Skip group if one of the name fields is missing + if config.LDAP_GROUP_SYNC_FIELD_SHORT_NAME not in ldap_group[1]: + logger.error("LDAP group with DN %s does not have field %s" % ( + ldap_group[0], + config.LDAP_GROUP_SYNC_FIELD_SHORT_NAME + )) + continue + if config.LDAP_GROUP_SYNC_FIELD_NAME not in ldap_group[1]: + logger.error("LDAP group with DN %s does not have field %s" % ( + ldap_group[0], + config.LDAP_GROUP_SYNC_FIELD_NAME + )) + continue + # Apply regex replace from config short_name = apply_templates( ldap_group[1][config.LDAP_GROUP_SYNC_FIELD_SHORT_NAME][0], -- GitLab