Mercurial > kraina_muminkow
view frontend/mfrontend/views/frontend.py @ 7:d86794939fe4
Rejestracja użytkowników
author | Michał Rudowicz <michal.rudowicz@fl9.eu> |
---|---|
date | Mon, 28 Feb 2011 11:34:20 +0100 |
parents | 27d63cac76ac |
children | 58a993029d9f |
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(u'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')) @frontend.route('/register/', methods=['GET', 'POST']) def register(): """Funkcja do rejestrowania użytkowników.""" if request.method == 'POST': try: db.register_user(request.form['username'], request.form['password']) flash(u'Konto założone, poczekaj na akceptację administratora.') return redirect(url_for('index')) except exceptions.UserExists as e: flash(e) return redirect(url_for('register')) return render_template('register.html')