None by default when a Dolibarr attr does not exist

Signed-off-by: Emmy D'Anello <emmy@luemy.eu>
This commit is contained in:
Emmy D'Anello 2025-03-02 17:01:30 +01:00
parent c093dc02f2
commit 6cfd51a294
Signed by: ynerant
GPG Key ID: 3A75C55819C8CF85

12
main.py
View File

@ -80,14 +80,14 @@ def append_extra_fields_to_ldap_user(ldap_user: WritableEntry, dolibarr_user: di
for dolibarr_attr in dolibarr_attrs:
if dolibarr_attr.endswith('[]'):
dolibarr_attr = dolibarr_attr[:-2]
value = dolibarr_user.get(dolibarr_attr, None) or dolibarr_user['array_options'][f'options_{dolibarr_attr}']
value = dolibarr_user.get(dolibarr_attr, None) or dolibarr_user['array_options'].get(f'options_{dolibarr_attr}', None)
value = value.split() if value else []
values += value
else:
if dolibarr_attr.startswith("'") and dolibarr_attr.endswith("'"):
value = dolibarr_attr[1:-1]
else:
value = dolibarr_user.get(dolibarr_attr, None) or dolibarr_user['array_options'][f'options_{dolibarr_attr}']
value = dolibarr_user.get(dolibarr_attr, None) or dolibarr_user['array_options'].get(f'options_{dolibarr_attr}', None)
if value:
values.append(value)
if ldap_attr.endswith('[]'):
@ -130,11 +130,11 @@ def append_extra_group_fields_to_ldap_user(ldap_user: WritableEntry, dolibarr_us
for dolibarr_group in dolibarr_groups:
if dolibarr_attr.endswith('[]'):
attr = dolibarr_attr[:-2]
value = dolibarr_group.get(attr, None) or dolibarr_group['array_options'][f'options_{attr}']
value = dolibarr_group.get(attr, None) or dolibarr_group['array_options'].get(f'options_{attr}', None)
value = value.split() if value else []
values += value
else:
value = dolibarr_group.get(dolibarr_attr, None) or dolibarr_group['array_options'][f'options_{dolibarr_attr}']
value = dolibarr_group.get(dolibarr_attr, None) or dolibarr_group['array_options'].get(f'options_{dolibarr_attr}', None)
if value:
values.append(value)
break # Don't concatenate the value for multiple groups
@ -188,14 +188,14 @@ def append_extra_fields_to_ldap_group(ldap_group: WritableEntry, dolibarr_group:
for dolibarr_attr in dolibarr_attrs:
if dolibarr_attr.endswith('[]'):
dolibarr_attr = dolibarr_attr[:-2]
value = dolibarr_group.get(dolibarr_attr, None) or dolibarr_group['array_options'][f'options_{dolibarr_attr}']
value = dolibarr_group.get(dolibarr_attr, None) or dolibarr_group['array_options'].get(f'options_{dolibarr_attr}', None)
value = value.split() if value else []
values += value
else:
if dolibarr_attr.startswith("'") and dolibarr_attr.endswith("'"):
value = dolibarr_attr[1:-1]
else:
value = dolibarr_group.get(dolibarr_attr, None) or dolibarr_group['array_options'][f'options_{dolibarr_attr}']
value = dolibarr_group.get(dolibarr_attr, None) or dolibarr_group['array_options'].get(f'options_{dolibarr_attr}', None)
if value:
values.append(value)
if ldap_attr.endswith('[]'):