import logging from furboo.lib.base import * import hashlib import furboo.lib.validator as validator log = logging.getLogger(__name__) class IndexController(BaseController): def index(self): return render('/index.mako') def login(self): if not request.params: return render('/login.mako') c.form_data, c.form_errors = validate_form(request.params, 'login') if c.form_errors: return render('/login.mako') else: session['user_id'] = c.form_data['user_id'] session.save() h.redirect_to(request.headers.get('referer', '/')) def logout(self): session['user_id'] = None session.save() h.redirect_to(request.headers.get('referer', '/')) def register(self): if not request.params: return render('/register.mako') else: c.form_data, c.form_errors = validate_form(request.params, 'register') if c.form_errors: return render('/register.mako') else: user = model.User(c.form_data['username'], c.form_data['password']) model.Session.save(user) model.Session.commit() c.verify_link = h.link_to('Verify', url=h.url_for(controller = 'index', action = 'verify', username = c.form_data['username'], code = user.verification_code())) return render('/regsuccess.mako')