diff --git a/gluon/contrib/login_methods/ldap_auth.py b/gluon/contrib/login_methods/ldap_auth.py index a5b16b93..a4659618 100644 --- a/gluon/contrib/login_methods/ldap_auth.py +++ b/gluon/contrib/login_methods/ldap_auth.py @@ -432,7 +432,8 @@ def ldap_auth(server='ldap', # ############# fields = ['first_name', 'last_name'] user_in_db = db(db.auth_user.email == username) - update_or_insert_values = {f: update_or_insert_values[f] for f in fields} + update_or_insert_values = dict(((f, update_or_insert_values[f]) for f in fields)) + if user_in_db.count() > 0: 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