Fix user group attrs when there are more than 1 group

Signed-off-by: Emmy D'Anello <emmy@luemy.eu>
This commit is contained in:
Emmy D'Anello 2025-02-27 00:32:04 +01:00
parent f2e94d53fc
commit c093dc02f2
Signed by: ynerant
GPG Key ID: 3A75C55819C8CF85

View File

@ -129,8 +129,8 @@ def append_extra_group_fields_to_ldap_user(ldap_user: WritableEntry, dolibarr_us
dolibarr_attr = dolibarr_attr[7:] dolibarr_attr = dolibarr_attr[7:]
for dolibarr_group in dolibarr_groups: for dolibarr_group in dolibarr_groups:
if dolibarr_attr.endswith('[]'): if dolibarr_attr.endswith('[]'):
dolibarr_attr = dolibarr_attr[:-2] attr = dolibarr_attr[:-2]
value = dolibarr_group.get(dolibarr_attr, None) or dolibarr_group['array_options'][f'options_{dolibarr_attr}'] value = dolibarr_group.get(attr, None) or dolibarr_group['array_options'][f'options_{attr}']
value = value.split() if value else [] value = value.split() if value else []
values += value values += value
else: else:
@ -144,7 +144,7 @@ def append_extra_group_fields_to_ldap_user(ldap_user: WritableEntry, dolibarr_us
else: else:
value = "".join(map(str, values)) value = "".join(map(str, values))
setattr(ldap_user, ldap_attr, value) setattr(ldap_user, ldap_attr, value)
def manage_groups_extra_fields(ldap_conn: Connection, dolibarr_client: Dolibarrpy): def manage_groups_extra_fields(ldap_conn: Connection, dolibarr_client: Dolibarrpy):
dolibarr_groups = dolibarr_client.call_list_api('users/groups') dolibarr_groups = dolibarr_client.call_list_api('users/groups')