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

Proposed by Aurélien Bompard
Status: Merged
Merged at revision: 190
Proposed branch: lp:~abompard/postorius/bug-1175967
Merge into: lp:postorius
Diff against target: 118 lines (+11/-24)
6 files modified
src/postorius/doc/development.rst (+1/-1)
src/postorius/templates/postorius/login.html (+6/-4)
src/postorius/tests/mailman_api_tests/test_list_new.py (+1/-0)
src/postorius/urls.py (+2/-1)
src/postorius/views/list.py (+1/-2)
src/postorius/views/user.py (+0/-16)
To merge this branch: bzr merge lp:~abompard/postorius/bug-1175967
Reviewer Review Type Date Requested Status
Mailman Coders Pending
Review via email: mp+242710@code.launchpad.net

Description of the change

Fix bug #1175967: owners is not part of a list's settings.

To post a comment you must log in.

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1=== modified file 'src/postorius/doc/development.rst'
2--- src/postorius/doc/development.rst 2012-11-04 19:54:09 +0000
3+++ src/postorius/doc/development.rst 2014-11-24 20:47:49 +0000
4@@ -151,7 +151,7 @@
5
6 >>> mailman_dev = client.get_list('mailman-developers@python.org')
7 >>> print mailman_dev settings
8- {u'owner_address': u'mailman-developers@python.org',
9+ {u'description': u'Mailman development',
10 u'default_nonmember_action': u'hold', ...}
11
12 For detailed information how to use mailman.client, check out its documentation_.
13
14=== modified file 'src/postorius/templates/postorius/login.html'
15--- src/postorius/templates/postorius/login.html 2014-04-14 15:25:26 +0000
16+++ src/postorius/templates/postorius/login.html 2014-11-24 20:47:49 +0000
17@@ -8,15 +8,17 @@
18 <p><strong>Login with username and password or with Mozilla Persona</strong></p>
19
20 <div class="mm_login">
21+
22 <form action="" method="post" class="login mm_clear well"> {% csrf_token %}
23 {{ form.as_p }}
24 <div class="field">
25- <button class="btn btn-primary" type="submit">{% trans "Login" %}</button>
26+ <button class="btn btn-primary" type="submit">{% trans "Log in" %}</button>
27 </div>
28 </form>
29- </div>
30-
31- <div class="mm_login_b">
32+
33+ </div>
34+
35+ <div class="mm_login_b">
36 <form method="post" action="{% url 'socialauth_complete' "browserid" %}"> {% csrf_token %}
37 <input type="hidden" name="assertion" value="" />
38 <a rel="nofollow" id="browserid" href="#"><img src="{% static 'postorius/img/sign_in_blue.png' %}" alt="Login using BrowserID" /></a>
39
40=== modified file 'src/postorius/tests/mailman_api_tests/test_list_new.py'
41--- src/postorius/tests/mailman_api_tests/test_list_new.py 2014-11-19 11:01:19 +0000
42+++ src/postorius/tests/mailman_api_tests/test_list_new.py 2014-11-24 20:47:49 +0000
43@@ -55,3 +55,4 @@
44 self.client.post(reverse('list_new'), post_data)
45 a_new_list = self.mm_client.get_list('a_new_list@example.com')
46 self.assertEqual(a_new_list.fqdn_listname, u'a_new_list@example.com')
47+ self.assertEqual(a_new_list.owners, [u'owner@example.com'])
48
49=== modified file 'src/postorius/urls.py'
50--- src/postorius/urls.py 2014-04-17 22:12:20 +0000
51+++ src/postorius/urls.py 2014-11-24 20:47:49 +0000
52@@ -19,6 +19,7 @@
53 from django.conf.urls import *
54 from django.conf import settings
55 from django.conf.urls.static import static
56+from django.contrib.auth.views import login as login_view
57
58 from postorius.views import *
59 from postorius.views.generic import *
60@@ -82,7 +83,7 @@
61 'postorius.views',
62 (r'^$', 'list_index'),
63 # /account/
64- url(r'^accounts/login/$', 'user_login', name='user_login'),
65+ url(r'^accounts/login/$', login_view, {"template_name": "postorius/login.html"}, name='user_login'),
66 url(r'^accounts/logout/$', 'user_logout', name='user_logout'),
67 url(r'^accounts/profile/$', 'user_profile', name='user_profile'),
68 url(r'^tasks/$', 'user_tasks', name='user_tasks'),
69
70=== modified file 'src/postorius/views/list.py'
71--- src/postorius/views/list.py 2014-11-03 21:17:11 +0000
72+++ src/postorius/views/list.py 2014-11-24 20:47:49 +0000
73@@ -306,10 +306,9 @@
74 try:
75 mailing_list = domain.create_list(
76 form.cleaned_data['listname'])
77+ mailing_list.add_owner(form.cleaned_data['list_owner'])
78 list_settings = mailing_list.settings
79 list_settings["description"] = form.cleaned_data['description']
80- list_settings["owner_address"] = \
81- form.cleaned_data['list_owner']
82 list_settings["advertised"] = form.cleaned_data['advertised']
83 list_settings.save()
84 messages.success(request, _("List created"))
85
86=== modified file 'src/postorius/views/user.py'
87--- src/postorius/views/user.py 2014-04-19 16:59:56 +0000
88+++ src/postorius/views/user.py 2014-11-24 20:47:49 +0000
89@@ -25,7 +25,6 @@
90 from django.contrib.auth import logout, authenticate, login
91 from django.contrib.auth.decorators import (login_required,
92 user_passes_test)
93-from django.contrib.auth.forms import AuthenticationForm
94 from django.contrib.auth.models import User
95 from django.shortcuts import render_to_response, redirect
96 from django.template import RequestContext
97@@ -308,21 +307,6 @@
98 return redirect('user_login')
99
100
101-def user_login(request, template='postorius/login.html'):
102- if request.method == 'POST':
103- form = AuthenticationForm(request.POST)
104- user = authenticate(username=request.POST.get('username'),
105- password=request.POST.get('password'))
106- if user is not None:
107- if user.is_active:
108- login(request, user)
109- return redirect(request.GET.get('next', 'list_index'))
110- else:
111- form = AuthenticationForm()
112- return render_to_response(template, {'form': form},
113- context_instance=RequestContext(request))
114-
115-
116 @login_required()
117 def user_profile(request, user_email=None):
118 if not request.user.is_authenticated():

Subscribers

People subscribed via source and target branches