From c6a7732d326ce607a9620caa5f49c95ccf4b8ac8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Richard=20V=C3=A9zina?= Date: Tue, 6 Oct 2015 14:36:45 -0400 Subject: [PATCH] Don't update record when values are the same --- gluon/contrib/login_methods/ldap_auth.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gluon/contrib/login_methods/ldap_auth.py b/gluon/contrib/login_methods/ldap_auth.py index 26ddd1fa..d9944f6c 100644 --- a/gluon/contrib/login_methods/ldap_auth.py +++ b/gluon/contrib/login_methods/ldap_auth.py @@ -434,7 +434,9 @@ def ldap_auth(server='ldap', port=None, user_in_db = db(db.auth_user.email == username) update_or_insert_values = {f: update_or_insert_values[f] for f in fields} if user_in_db.count() > 0: - user_in_db.update(**update_or_insert_values) + actual_values = user_in_db.select(*[db.auth_user[f] for f in fields]).first().as_dict() + if update_or_insert_values != actual_values: # We don't update record if values are the same + user_in_db.update(**update_or_insert_values) else: db.auth_user.insert(**update_or_insert_values) con.unbind()