Don't update record when values are the same

This commit is contained in:
Richard Vézina
2015-10-06 14:36:45 -04:00
parent 0036d9c45b
commit c6a7732d32
+3 -1
View File
@@ -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()