From fdd42384bb617d1a0354b28983f13772a153c7c6 Mon Sep 17 00:00:00 2001
From: Sistason <c3infra@sistason.de>
Date: Tue, 20 Apr 2021 13:48:13 +0200
Subject: [PATCH] do not set values when they don't change during update

---
 deps/ldapalchemy        | 2 +-
 uffd/user/views_user.py | 4 ++--
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/deps/ldapalchemy b/deps/ldapalchemy
index 40ee661e..7a232d30 160000
--- a/deps/ldapalchemy
+++ b/deps/ldapalchemy
@@ -1 +1 @@
-Subproject commit 40ee661e418dd7866b9dc539fa6544cb12f9cd70
+Subproject commit 7a232d305fda3e261b6f8d3c0958a16f4c2e8d8b
diff --git a/uffd/user/views_user.py b/uffd/user/views_user.py
index 78ad85c2..16060b82 100644
--- a/uffd/user/views_user.py
+++ b/uffd/user/views_user.py
@@ -46,11 +46,11 @@ def update(uid=None):
 			return redirect(url_for('user.show'))
 	else:
 		user = User.query.filter_by(uid=uid).first_or_404()
-	if not user.set_mail(request.form['mail']):
+	if user.mail != request.form['mail'] and not user.set_mail(request.form['mail']):
 		flash('Mail is invalid')
 		return redirect(url_for('user.show', uid=uid))
 	new_displayname = request.form['displayname'] if request.form['displayname'] else request.form['loginname']
-	if not user.set_displayname(new_displayname):
+	if user.displayname != new_displayname and not user.set_displayname(new_displayname):
 		flash('Display name does not meet requirements')
 		return redirect(url_for('user.show', uid=uid))
 	new_password = request.form.get('password')
-- 
GitLab