Mercurial > kraina_muminkow
comparison frontend/mfrontend/views/frontend.py @ 6:27d63cac76ac
Konta użytkowników muszą być aktywowane + ładniejsze wyświetlanie błędów przy logowaniu
author | Michał Rudowicz <michal.rudowicz@fl9.eu> |
---|---|
date | Mon, 28 Feb 2011 11:14:35 +0100 |
parents | 3ba60dfc1d64 |
children | d86794939fe4 |
comparison
equal
deleted
inserted
replaced
5:3ba60dfc1d64 | 6:27d63cac76ac |
---|---|
1 #!/usr/bin/python | 1 #!/usr/bin/python |
2 # -*- coding: utf-8 -*- | 2 # -*- coding: utf-8 -*- |
3 | 3 |
4 from flask import Module, render_template, request, url_for | 4 from flask import Module, render_template, request, url_for |
5 from flask import escape, session, redirect, flash, abort | 5 from flask import escape, session, redirect, flash, abort |
6 from mfrontend import db, utils | 6 from mfrontend import db, utils, exceptions |
7 frontend = Module(__name__) | 7 frontend = Module(__name__) |
8 | 8 |
9 @frontend.route('/') | 9 @frontend.route('/') |
10 def index(): | 10 def index(): |
11 return render_template('hello.html') | 11 return render_template('hello.html') |
12 | 12 |
13 @frontend.route('/install') | 13 @frontend.route('/install/') |
14 def install(): | 14 def install(): |
15 """Instaluje aplikację, tworząc pustą bazę danych | 15 """Instaluje aplikację, tworząc pustą bazę danych |
16 według schematu. | 16 według schematu. |
17 """ | 17 """ |
18 if db.init_db(): | 18 if db.init_db(): |
19 return render_template('install_ok.html') | 19 return render_template('install_ok.html') |
20 else: | 20 else: |
21 abort(404) | 21 abort(404) |
22 | 22 |
23 @frontend.route('/login', methods=['GET', 'POST']) | 23 @frontend.route('/login/', methods=['GET', 'POST']) |
24 def login(): | 24 def login(): |
25 if request.method == 'POST': | 25 if request.method == 'POST': |
26 if db.user_can_login(request.form['username'], | 26 try: |
27 request.form['password']) : | 27 if db.user_can_login(request.form['username'], |
28 session['logged_in'] = True | 28 request.form['password']) : |
29 session['logged_user'] = request.form['username'] | 29 session['logged_in'] = True |
30 flash('Zalogowano') | 30 session['logged_user'] = request.form['username'] |
31 flash('Zalogowano') | |
32 return redirect(url_for('index')) | |
33 else: | |
34 raise exceptions.BadPasswordOrUsername() | |
35 except (exceptions.UserNotActivated, | |
36 exceptions.BadPasswordOrUsername) as e: | |
37 flash(e) | |
31 return redirect(url_for('index')) | 38 return redirect(url_for('index')) |
32 return "Uname: {0}<br />Passwd: {1}<br />Hashpwd: {2}".format( | |
33 request.form['username'], | |
34 request.form['password'], | |
35 utils.hashPassword(request.form['password'])) | |
36 return render_template('login.html') | 39 return render_template('login.html') |
37 | 40 |
38 @frontend.route('/logout') | 41 @frontend.route('/logout/') |
39 def logout(): | 42 def logout(): |
40 """Funkcja powoduje wyczyszczenie sesji użytkownika, | 43 """Funkcja powoduje wyczyszczenie sesji użytkownika, |
41 a w efekcie wylogowanie z systemu. | 44 a w efekcie wylogowanie z systemu. |
42 """ | 45 """ |
43 session.clear() | 46 session.clear() |