Guest User

Untitled

a guest
May 1st, 2018
114
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.47 KB | None | 0 0
  1. import logging
  2. log = logging.getLogger()
  3.  
  4. import md5
  5.  
  6. from yugadooga.controllers.base import BaseController
  7. from yugadooga.models import session
  8. from yugadooga.models.auth import User
  9.  
  10.  
  11. class AuthController(BaseController):
  12. def login(self, request):
  13. self.c.message = ""
  14. return self.render("/auth/login.mako")
  15.  
  16. def login_post(self, request):
  17. log.debug("### %s: POST data in request..." % AuthController.__name__)
  18. for itm in request.POST:
  19. log.debug("... item: %s" % itm)
  20. username = request.POST["username"]
  21. password = request.POST["password"]
  22. if not username or not password:
  23. self.c.message = "Username / Password cannot be blank."
  24. return self.render("/auth/login.mako")
  25. else:
  26. query = session.query(User).filter(User.username == username)
  27. user = query.first()
  28. #log.debug("got first entry -> user.username: %s, user.password: %s" % (user.username, user.password))
  29. if (user and md5.new(password).digest() == user.password):
  30. request.session['user'] = user
  31. self.c.user = request.session['user']
  32. return self.render("index.mako")
  33. else:
  34. self.c.message = "Username / Password incorrect."
  35. return self.render("/auth/login.mako")
  36.  
  37. def logout(self, request):
  38. self.c.user = None
  39. if 'user' in request.session:
  40. del request.session['user']
  41. return self.render("index.mako")
  42.  
  43. def register(self, request):
  44. self.c.message = ""
  45. return self.render("/auth/register.mako")
  46.  
  47. def register_post(self, request):
  48. username = request.POST["username"]
  49. password = request.POST["password"]
  50. c_password = request.POST["c_password"]
  51. if not username or not password or not c_password:
  52. self.c.message = "Username / Password / Confirm cannot be blank."
  53. return self.render("/auth/register.mako")
  54. elif password != c_password:
  55. self.c.message = "Password confirmation does not match."
  56. return self.render("/auth/register.mako")
  57. else:
  58. user = User(None, None, username, md5.new(password).digest())
  59. session.save(user)
  60. session.commit()
  61. self.c.message = "Registration complete. Now login!"
  62. return self.render("/auth/login.mako")
Add Comment
Please, Sign In to add comment