Mercurial > kraina_muminkow
view 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 |
line wrap: on
line source
#!/usr/bin/python # -*- coding: utf-8 -*- from flask import Module, render_template, request, url_for from flask import escape, session, redirect, flash, abort from mfrontend import db, utils, exceptions frontend = Module(__name__) @frontend.route('/') def index(): return render_template('hello.html') @frontend.route('/install/') def install(): """Instaluje aplikację, tworząc pustą bazę danych według schematu. """ if db.init_db(): return render_template('install_ok.html') else: abort(404) @frontend.route('/login/', methods=['GET', 'POST']) def login(): if request.method == 'POST': try: if db.user_can_login(request.form['username'], request.form['password']) : session['logged_in'] = True session['logged_user'] = request.form['username'] flash('Zalogowano') return redirect(url_for('index')) else: raise exceptions.BadPasswordOrUsername() except (exceptions.UserNotActivated, exceptions.BadPasswordOrUsername) as e: flash(e) return redirect(url_for('index')) return render_template('login.html') @frontend.route('/logout/') def logout(): """Funkcja powoduje wyczyszczenie sesji użytkownika, a w efekcie wylogowanie z systemu. """ session.clear() flash('Wylogowano') return redirect(url_for('index'))