Compare commits

..

2 Commits

Author SHA1 Message Date
bc3252b1f6
Don't trust Webhook data 2025-02-17 13:42:46 +01:00
0aa2b4f220
GROUP => USERGROUP 2025-02-17 13:40:46 +01:00

View File

@ -132,12 +132,15 @@ def webhook_receiver():
abort(400) abort(400)
triggercode = data['triggercode'] triggercode = data['triggercode']
obj = data['object'] obj = data['object']
dolibarr_client = Dolibarrpy(url=config.DOLIBARR_API_BASE, token=config.DOLIBARR_API_TOKEN, timeout=16, debug=config.DOLIBARR_API_DEBUG)
ldap_server = Server(config.LDAP_HOST, config.LDAP_PORT, get_info=ALL) ldap_server = Server(config.LDAP_HOST, config.LDAP_PORT, get_info=ALL)
if triggercode.startswith('USER_'): if triggercode.startswith('USER_'):
with Connection(ldap_server, config.LDAP_BIND_USER, config.LDAP_BIND_PASSWORD) as ldap_conn: with Connection(ldap_server, config.LDAP_BIND_USER, config.LDAP_BIND_PASSWORD) as ldap_conn:
manage_user_extra_fields(ldap_conn, obj) dolibarr_user = dolibarr_client.get_user_by_uid(obj['id'])
elif triggercode.startswith('GROUP_'): manage_user_extra_fields(ldap_conn, dolibarr_user)
elif triggercode.startswith('USERGROUP_'):
with Connection(ldap_server, config.LDAP_BIND_USER, config.LDAP_BIND_PASSWORD) as ldap_conn: with Connection(ldap_server, config.LDAP_BIND_USER, config.LDAP_BIND_PASSWORD) as ldap_conn:
dolibarr_group = dolibarr_client.call_get_api(f"users/groups/{obj['id']}")
manage_group_extra_fields(ldap_conn, obj) manage_group_extra_fields(ldap_conn, obj)
else: else:
abort(400) abort(400)