Mercurial > kraina_muminkow
annotate 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 |
rev | line source |
---|---|
3
79fc37fe85a6
Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents:
1
diff
changeset
|
1 #!/usr/bin/python |
79fc37fe85a6
Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents:
1
diff
changeset
|
2 # -*- coding: utf-8 -*- |
79fc37fe85a6
Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents:
1
diff
changeset
|
3 |
5
3ba60dfc1d64
Dodałem prosty instalator aplikacji tworzący bazę danych ze schematu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
4
diff
changeset
|
4 from flask import Module, render_template, request, url_for |
3ba60dfc1d64
Dodałem prosty instalator aplikacji tworzący bazę danych ze schematu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
4
diff
changeset
|
5 from flask import escape, session, redirect, flash, abort |
6
27d63cac76ac
Konta użytkowników muszą być aktywowane + ładniejsze wyświetlanie błędów przy logowaniu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
5
diff
changeset
|
6 from mfrontend import db, utils, exceptions |
1 | 7 frontend = Module(__name__) |
8 | |
9 @frontend.route('/') | |
10 def index(): | |
4 | 11 return render_template('hello.html') |
3
79fc37fe85a6
Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents:
1
diff
changeset
|
12 |
6
27d63cac76ac
Konta użytkowników muszą być aktywowane + ładniejsze wyświetlanie błędów przy logowaniu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
5
diff
changeset
|
13 @frontend.route('/install/') |
5
3ba60dfc1d64
Dodałem prosty instalator aplikacji tworzący bazę danych ze schematu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
4
diff
changeset
|
14 def install(): |
3ba60dfc1d64
Dodałem prosty instalator aplikacji tworzący bazę danych ze schematu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
4
diff
changeset
|
15 """Instaluje aplikację, tworząc pustą bazę danych |
3ba60dfc1d64
Dodałem prosty instalator aplikacji tworzący bazę danych ze schematu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
4
diff
changeset
|
16 według schematu. |
3ba60dfc1d64
Dodałem prosty instalator aplikacji tworzący bazę danych ze schematu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
4
diff
changeset
|
17 """ |
3ba60dfc1d64
Dodałem prosty instalator aplikacji tworzący bazę danych ze schematu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
4
diff
changeset
|
18 if db.init_db(): |
3ba60dfc1d64
Dodałem prosty instalator aplikacji tworzący bazę danych ze schematu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
4
diff
changeset
|
19 return render_template('install_ok.html') |
3ba60dfc1d64
Dodałem prosty instalator aplikacji tworzący bazę danych ze schematu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
4
diff
changeset
|
20 else: |
3ba60dfc1d64
Dodałem prosty instalator aplikacji tworzący bazę danych ze schematu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
4
diff
changeset
|
21 abort(404) |
3ba60dfc1d64
Dodałem prosty instalator aplikacji tworzący bazę danych ze schematu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
4
diff
changeset
|
22 |
6
27d63cac76ac
Konta użytkowników muszą być aktywowane + ładniejsze wyświetlanie błędów przy logowaniu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
5
diff
changeset
|
23 @frontend.route('/login/', methods=['GET', 'POST']) |
3
79fc37fe85a6
Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents:
1
diff
changeset
|
24 def login(): |
79fc37fe85a6
Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents:
1
diff
changeset
|
25 if request.method == 'POST': |
6
27d63cac76ac
Konta użytkowników muszą być aktywowane + ładniejsze wyświetlanie błędów przy logowaniu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
5
diff
changeset
|
26 try: |
27d63cac76ac
Konta użytkowników muszą być aktywowane + ładniejsze wyświetlanie błędów przy logowaniu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
5
diff
changeset
|
27 if db.user_can_login(request.form['username'], |
27d63cac76ac
Konta użytkowników muszą być aktywowane + ładniejsze wyświetlanie błędów przy logowaniu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
5
diff
changeset
|
28 request.form['password']) : |
27d63cac76ac
Konta użytkowników muszą być aktywowane + ładniejsze wyświetlanie błędów przy logowaniu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
5
diff
changeset
|
29 session['logged_in'] = True |
27d63cac76ac
Konta użytkowników muszą być aktywowane + ładniejsze wyświetlanie błędów przy logowaniu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
5
diff
changeset
|
30 session['logged_user'] = request.form['username'] |
27d63cac76ac
Konta użytkowników muszą być aktywowane + ładniejsze wyświetlanie błędów przy logowaniu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
5
diff
changeset
|
31 flash('Zalogowano') |
27d63cac76ac
Konta użytkowników muszą być aktywowane + ładniejsze wyświetlanie błędów przy logowaniu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
5
diff
changeset
|
32 return redirect(url_for('index')) |
27d63cac76ac
Konta użytkowników muszą być aktywowane + ładniejsze wyświetlanie błędów przy logowaniu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
5
diff
changeset
|
33 else: |
27d63cac76ac
Konta użytkowników muszą być aktywowane + ładniejsze wyświetlanie błędów przy logowaniu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
5
diff
changeset
|
34 raise exceptions.BadPasswordOrUsername() |
27d63cac76ac
Konta użytkowników muszą być aktywowane + ładniejsze wyświetlanie błędów przy logowaniu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
5
diff
changeset
|
35 except (exceptions.UserNotActivated, |
27d63cac76ac
Konta użytkowników muszą być aktywowane + ładniejsze wyświetlanie błędów przy logowaniu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
5
diff
changeset
|
36 exceptions.BadPasswordOrUsername) as e: |
27d63cac76ac
Konta użytkowników muszą być aktywowane + ładniejsze wyświetlanie błędów przy logowaniu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
5
diff
changeset
|
37 flash(e) |
4 | 38 return redirect(url_for('index')) |
3
79fc37fe85a6
Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents:
1
diff
changeset
|
39 return render_template('login.html') |
79fc37fe85a6
Zabawy z Flaskiem ciąg dalszy, zaczyna to jakoś wyglądać
michalr
parents:
1
diff
changeset
|
40 |
6
27d63cac76ac
Konta użytkowników muszą być aktywowane + ładniejsze wyświetlanie błędów przy logowaniu
Michał Rudowicz <michal.rudowicz@fl9.eu>
parents:
5
diff
changeset
|
41 @frontend.route('/logout/') |
4 | 42 def logout(): |
43 """Funkcja powoduje wyczyszczenie sesji użytkownika, | |
44 a w efekcie wylogowanie z systemu. | |
45 """ | |
46 session.clear() | |
47 flash('Wylogowano') | |
48 return redirect(url_for('index')) |