view frontend/mfrontend/views/frontend.py @ 5:3ba60dfc1d64

Dodałem prosty instalator aplikacji tworzący bazę danych ze schematu
author Michał Rudowicz <michal.rudowicz@fl9.eu>
date Sun, 27 Feb 2011 09:33:03 +0100
parents cf786ee26a22
children 27d63cac76ac
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
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':
        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'))
        return "Uname: {0}<br />Passwd: {1}<br />Hashpwd: {2}".format(
            request.form['username'],
            request.form['password'],
            utils.hashPassword(request.form['password']))
    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'))