+#-----------------
+# Change password
+
+@app.route('/password/lost', methods=['GET', 'POST'])
+def password_lost():
+ info = None
+ if request.method == 'POST':
+ user = query_db('select * from users where email = ?', [request.form['email']], one=True)
+ if user is None:
+ flash('Cet utilisateur n\'existe pas !', 'error')
+ else:
+ # :TODO:maethor:120528: Générer la clé, la mettre dans la base de données et envoyer le mail
+ flash(u"Un mail a été envoyé à " + user['email'], 'info')
+ return render_template('password_lost.html')
+
+@app.route('/login/<username>/<key>')
+def login_key(username, key):
+ user = query_db('select * from users where email = ? and key = ?', [username, key], one=True)
+ if user is None:
+ abort(404)
+ else:
+ connect_user(user)
+ # :TODO:maethor:120528: Remplacer la clé pour qu'elle ne puisse plus être utilisée
+ return redirect(url_for('home'))
+