Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import logging
- log = logging.getLogger()
- import md5
- from yugadooga.controllers.base import BaseController
- from yugadooga.models import session
- from yugadooga.models.auth import User
- class AuthController(BaseController):
- def login(self, request):
- self.c.message = ""
- return self.render("/auth/login.mako")
- def login_post(self, request):
- log.debug("### %s: POST data in request..." % AuthController.__name__)
- for itm in request.POST:
- log.debug("... item: %s" % itm)
- username = request.POST["username"]
- password = request.POST["password"]
- if not username or not password:
- self.c.message = "Username / Password cannot be blank."
- return self.render("/auth/login.mako")
- else:
- query = session.query(User).filter(User.username == username)
- user = query.first()
- #log.debug("got first entry -> user.username: %s, user.password: %s" % (user.username, user.password))
- if (user and md5.new(password).digest() == user.password):
- request.session['user'] = user
- self.c.user = request.session['user']
- return self.render("index.mako")
- else:
- self.c.message = "Username / Password incorrect."
- return self.render("/auth/login.mako")
- def logout(self, request):
- self.c.user = None
- if 'user' in request.session:
- del request.session['user']
- return self.render("index.mako")
- def register(self, request):
- self.c.message = ""
- return self.render("/auth/register.mako")
- def register_post(self, request):
- username = request.POST["username"]
- password = request.POST["password"]
- c_password = request.POST["c_password"]
- if not username or not password or not c_password:
- self.c.message = "Username / Password / Confirm cannot be blank."
- return self.render("/auth/register.mako")
- elif password != c_password:
- self.c.message = "Password confirmation does not match."
- return self.render("/auth/register.mako")
- else:
- user = User(None, None, username, md5.new(password).digest())
- session.save(user)
- session.commit()
- self.c.message = "Registration complete. Now login!"
- return self.render("/auth/login.mako")
Add Comment
Please, Sign In to add comment