diff --git a/main.py b/main.py index 2eb6d8a..d0b0db6 100755 --- a/main.py +++ b/main.py @@ -104,6 +104,8 @@ def append_extra_group_fields_to_ldap_user(ldap_user: WritableEntry, dolibarr_us user_id = dolibarr_user['id'] dolibarr_groups: list[dict] = dolibarr_client.get_user_groups_uid(user_id) + if not isinstance(dolibarr_groups, list): + dolibarr_groups = [] if oldgroupid: dolibarr_groups = [group for group in dolibarr_groups if group['id'] != oldgroupid] if newgroupid: @@ -111,6 +113,9 @@ def append_extra_group_fields_to_ldap_user(ldap_user: WritableEntry, dolibarr_us if new_group: dolibarr_groups = [group for group in dolibarr_groups if group['id'] != new_group['id']] + [new_group] + if not dolibarr_groups: + return + for extra_field in config.LDAP_USERS_EXTRA_FIELDS: dolibarr_attrs, ldap_attr = extra_field.split(':') dolibarr_attrs = dolibarr_attrs.split('|')