summaryrefslogtreecommitdiffstats
path: root/app.py
diff options
context:
space:
mode:
authorMarian Sigler <m@qjym.de>2012-09-26 20:43:54 +0200
committerMarian Sigler <m@qjym.de>2012-09-26 20:43:54 +0200
commit5e0e7ea9cc24846e9a682a70a2e9d3f8f55952e5 (patch)
tree7c5e66cb4b68cbd67b7b4d3db02212ab17f15b7a /app.py
parentc27e5d3d34d01e9584580ce09e71d29c895b8d49 (diff)
downloadweb-5e0e7ea9cc24846e9a682a70a2e9d3f8f55952e5.tar.gz
web-5e0e7ea9cc24846e9a682a70a2e9d3f8f55952e5.tar.bz2
web-5e0e7ea9cc24846e9a682a70a2e9d3f8f55952e5.zip
check for unique mail addresses
Diffstat (limited to 'app.py')
-rw-r--r--app.py15
1 files changed, 13 insertions, 2 deletions
diff --git a/app.py b/app.py
index 7c2a1cf..3715cac 100644
--- a/app.py
+++ b/app.py
@@ -165,7 +165,6 @@ def settings():
if request.form.get('submit_main'):
if form.mail.data and form.mail.data != g.user.mail:
- #TODO: check for uniqueness
confirm_token = make_confirmation('change_mail', (g.user.uid, form.mail.data))
confirm_link = url_for('change_mail', token=confirm_token, _external=True)
@@ -213,11 +212,16 @@ def settings():
@app.route('/settings/change_mail/<token>')
@login_required
def change_mail(token):
- #TODO: check for uniqueness
username, mail = http_verify_confirmation('change_mail', token.encode('ascii'), timeout=3*24*60*60)
if g.user.uid != username:
raise Forbidden(u'Bitte logge dich als der Benutzer ein, dessen E-Mail-Adresse du ändern willst.')
+
+ results = g.ldap.find_by_mail(mail)
+ for user in results:
+ if user.uid != g.user.uid:
+ raise Forbidden(u'Diese E-Mail-Adresse wird schon von einem anderen account benutzt!')
+
g.user.change_email(mail)
g.ldap.update(g.user)
@@ -232,6 +236,13 @@ def logout():
return redirect(url_for('index'))
+@app.route('/about')
+@templated('about.html')
+def about():
+ return {}
+
+
+
@app.route('/debug')
def debug():
raise Exception()