Merge lp:~abompard/postorius/bug-1094829 into lp:postorius

Proposed by Aurélien Bompard
Status: Merged
Merged at revision: 189
Proposed branch: lp:~abompard/postorius/bug-1094829
Merge into: lp:postorius
Diff against target: 80 lines (+8/-21)
3 files modified
src/postorius/templates/postorius/login.html (+6/-4)
src/postorius/urls.py (+2/-1)
src/postorius/views/user.py (+0/-16)
To merge this branch: bzr merge lp:~abompard/postorius/bug-1094829
Reviewer Review Type Date Requested Status
Mailman Coders Pending
Review via email: mp+242705@code.launchpad.net

Description of the change

Fix for bug #1094829. Postorius re-uses Django's login view, which also shows error messages when the credentials are invalid. The previous login template is passed to this view, so we can keep the Mozilla Persona button.

To post a comment you must log in.
Revision history for this message
Florian Fuchs (flo-fuchs) wrote :

Thanks Aurélien! I finally merged this one...

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/postorius/templates/postorius/login.html'
2--- src/postorius/templates/postorius/login.html 2014-04-14 15:25:26 +0000
3+++ src/postorius/templates/postorius/login.html 2014-11-24 19:56:22 +0000
4@@ -8,15 +8,17 @@
5 <p><strong>Login with username and password or with Mozilla Persona</strong></p>
6
7 <div class="mm_login">
8+
9 <form action="" method="post" class="login mm_clear well"> {% csrf_token %}
10 {{ form.as_p }}
11 <div class="field">
12- <button class="btn btn-primary" type="submit">{% trans "Login" %}</button>
13+ <button class="btn btn-primary" type="submit">{% trans "Log in" %}</button>
14 </div>
15 </form>
16- </div>
17-
18- <div class="mm_login_b">
19+
20+ </div>
21+
22+ <div class="mm_login_b">
23 <form method="post" action="{% url 'socialauth_complete' "browserid" %}"> {% csrf_token %}
24 <input type="hidden" name="assertion" value="" />
25 <a rel="nofollow" id="browserid" href="#"><img src="{% static 'postorius/img/sign_in_blue.png' %}" alt="Login using BrowserID" /></a>
26
27=== modified file 'src/postorius/urls.py'
28--- src/postorius/urls.py 2014-04-17 22:12:20 +0000
29+++ src/postorius/urls.py 2014-11-24 19:56:22 +0000
30@@ -19,6 +19,7 @@
31 from django.conf.urls import *
32 from django.conf import settings
33 from django.conf.urls.static import static
34+from django.contrib.auth.views import login as login_view
35
36 from postorius.views import *
37 from postorius.views.generic import *
38@@ -82,7 +83,7 @@
39 'postorius.views',
40 (r'^$', 'list_index'),
41 # /account/
42- url(r'^accounts/login/$', 'user_login', name='user_login'),
43+ url(r'^accounts/login/$', login_view, {"template_name": "postorius/login.html"}, name='user_login'),
44 url(r'^accounts/logout/$', 'user_logout', name='user_logout'),
45 url(r'^accounts/profile/$', 'user_profile', name='user_profile'),
46 url(r'^tasks/$', 'user_tasks', name='user_tasks'),
47
48=== modified file 'src/postorius/views/user.py'
49--- src/postorius/views/user.py 2014-04-19 16:59:56 +0000
50+++ src/postorius/views/user.py 2014-11-24 19:56:22 +0000
51@@ -25,7 +25,6 @@
52 from django.contrib.auth import logout, authenticate, login
53 from django.contrib.auth.decorators import (login_required,
54 user_passes_test)
55-from django.contrib.auth.forms import AuthenticationForm
56 from django.contrib.auth.models import User
57 from django.shortcuts import render_to_response, redirect
58 from django.template import RequestContext
59@@ -308,21 +307,6 @@
60 return redirect('user_login')
61
62
63-def user_login(request, template='postorius/login.html'):
64- if request.method == 'POST':
65- form = AuthenticationForm(request.POST)
66- user = authenticate(username=request.POST.get('username'),
67- password=request.POST.get('password'))
68- if user is not None:
69- if user.is_active:
70- login(request, user)
71- return redirect(request.GET.get('next', 'list_index'))
72- else:
73- form = AuthenticationForm()
74- return render_to_response(template, {'form': form},
75- context_instance=RequestContext(request))
76-
77-
78 @login_required()
79 def user_profile(request, user_email=None):
80 if not request.user.is_authenticated():

Subscribers

People subscribed via source and target branches