summaryrefslogtreecommitdiffstats
path: root/app.py
diff options
context:
space:
mode:
authorMarian Sigler <m@qjym.de>2012-09-26 02:37:56 +0200
committerMarian Sigler <m@qjym.de>2012-09-26 02:37:56 +0200
commit7216ec0a7fe4051611990c237652eaaa50e26e42 (patch)
tree697d0798852ecdcc5c33b37b4a76f785badc273e /app.py
parentcc31815e01c6cb36fb1e88f02a9ae463745dac59 (diff)
downloadweb-7216ec0a7fe4051611990c237652eaaa50e26e42.tar.gz
web-7216ec0a7fe4051611990c237652eaaa50e26e42.tar.bz2
web-7216ec0a7fe4051611990c237652eaaa50e26e42.zip
start with form and template changes for service password management
Diffstat (limited to 'app.py')
-rw-r--r--app.py68
1 files changed, 34 insertions, 34 deletions
diff --git a/app.py b/app.py
index 43f6ef0..8eb8ece 100644
--- a/app.py
+++ b/app.py
@@ -9,7 +9,6 @@ import os
from copy import deepcopy
from flask import flash, Flask, g, redirect, request, session, url_for
from utils import *
-from forms import RegisterForm, RegisterCompleteForm, LoginForm, SettingsForm
app = Flask(__name__)
@@ -40,7 +39,7 @@ def index():
form = LoginForm(request.form)
if request.method == 'POST' and form.validate():
if login_user(form.username.data, form.password.data):
- flash(u'Erfolgreich eingeloggt (als %s)' % g.user.uid, 'success')
+ flash(u'Erfolgreich eingeloggt', 'success')
return redirect(url_for('settings'))
else:
flash(u'Ungültiger Benutzername und/oder Passwort', 'error')
@@ -114,33 +113,41 @@ def settings():
if request.method == 'POST' and form.validate():
changed = False
- if form.mail.data and form.mail.data != g.user.mail:
- confirm_token = make_confirmation('change_mail', (g.user.uid, form.mail.data))
- confirm_link = url_for('change_mail', token=confirm_token, _external=True)
+ if request.form.get('submit_main'):
+ if form.mail.data and form.mail.data != g.user.mail:
+ confirm_token = make_confirmation('change_mail', (g.user.uid, form.mail.data))
+ confirm_link = url_for('change_mail', token=confirm_token, _external=True)
- body = render_template('mail/change_mail.txt', username=g.user.uid,
- mail=form.mail.data, link=confirm_link)
+ body = render_template('mail/change_mail.txt', username=g.user.uid,
+ mail=form.mail.data, link=confirm_link)
- send_mail(form.mail.data, u'E-Mail-Adresse bestätigen', body,
- sender=app.config.get('MAIL_CONFIRM_SENDER'))
+ send_mail(form.mail.data, u'E-Mail-Adresse bestätigen', body,
+ sender=app.config.get('MAIL_CONFIRM_SENDER'))
- flash(u'Es wurde eine E-Mail an die angegebene Adresse geschickt, '
- u'um diese zu überprüfen. Bitte folge den Anweisungen in der '
- u'E-Mail.')
- changed = True
+ flash(u'Es wurde eine E-Mail an die angegebene Adresse geschickt, '
+ u'um diese zu überprüfen. Bitte folge den Anweisungen in der '
+ u'E-Mail.')
+ changed = True
- if form.password.data:
- g.user.change_password(form.password.data)
- g.ldap.update(g.user)
- session['password'] = encrypt_password(form.password.data)
+ if form.password.data:
+ g.user.change_password(form.password.data, session['password'])
+ session['password'] = encrypt_password(form.password.data)
- flash(u'Passwort geändert', 'success')
- changed = True
+ flash(u'Passwort geändert', 'success')
+ changed = True
- if changed:
- return redirect(url_for('settings'))
- else:
- flash(u'Nichts geändert')
+ for service in app.all_services:
+ field = form.get_servicepassword(service.id)
+ if field.data:
+ changed = True
+ g.user.change_password(field.data, session['password'], service.id)
+
+
+ if changed:
+ g.ldap.update(g.user)
+ return redirect(url_for('settings'))
+ else:
+ flash(u'Nichts geändert.')
services = deepcopy(app.all_services)
@@ -178,16 +185,9 @@ def debug():
raise Exception()
-if __name__ == '__main__':
- app.run(debug=True)
-
+# we need the app to exist before initializing the forms
+from forms import RegisterForm, RegisterCompleteForm, LoginForm, SettingsForm
-# wir brauchen:
-# registrieren
-# login
-# passwort ändern (master-passwort, einzelne)
-# email ändern
-# später:
-# account löschen
-# openid-provider (ggf mehr Details: Realname, Zeitzone, ...)
+if __name__ == '__main__':
+ app.run(debug=True)