aboutsummaryrefslogtreecommitdiffstats
path: root/mediagoblin/auth/views.py
diff options
context:
space:
mode:
Diffstat (limited to 'mediagoblin/auth/views.py')
-rw-r--r--mediagoblin/auth/views.py38
1 files changed, 36 insertions, 2 deletions
diff --git a/mediagoblin/auth/views.py b/mediagoblin/auth/views.py
index d60e9157..cbf7c816 100644
--- a/mediagoblin/auth/views.py
+++ b/mediagoblin/auth/views.py
@@ -68,5 +68,39 @@ def register_success(request):
{'request': request}))
-def login():
- pass
+def login(request):
+ login_form = auth_forms.LoginForm(request.POST)
+
+ if request.method == 'POST' and login_form.validate():
+ #try:
+ user = request.db.User.find_one(
+ {'username': request.POST['username']})
+
+ if user.check_login(request.POST['password']):
+ # set up login in session
+ request.session['user_id'] = unicode(user['_id'])
+
+ import pdb
+ pdb.set_trace()
+
+
+ else:
+ # Prevent detecting who's on this system by testing login
+ # attempt timings
+ auth_lib.fake_login_attempt()
+
+ # render
+ template = request.template_env.get_template(
+ 'mediagoblin/auth/login.html')
+ return Response(
+ template.render(
+ {'request': request,
+ 'login_form': login_form}))
+
+
+def logout(request):
+ template = request.template_env.get_template(
+ 'mediagoblin/auth/logout.html')
+ return Response(
+ template.render(
+ {'request': request}))