From aac996945d7a80dbc27b5e375f618a2d44c950d8 Mon Sep 17 00:00:00 2001 From: Abhilash Raj Date: Sun, 7 Jun 2020 03:49:34 +0000 Subject: [PATCH] Include display name with subscription if user provides one. --- .gitlab-ci.yml | 10 ---------- src/postorius/doc/news.rst | 2 ++ src/postorius/tests/mailman_api_tests/test_subscriptions.py | 8 +++++--- src/postorius/views/list.py | 10 +++++++--- 4 files changed, 14 insertions(+), 16 deletions(-) diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 16f1543c..19cc1a6e 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -10,16 +10,6 @@ py36-django-20: script: - tox -e py36-django20 -py35-django-20: - stage: test - script: - - tox -e py35-django20 - -py35-django-21: - stage: test - script: - - tox -e py35-django21 - py36-django-21: stage: test script: diff --git a/src/postorius/doc/news.rst b/src/postorius/doc/news.rst index 8a95570e..0e954a3c 100644 --- a/src/postorius/doc/news.rst +++ b/src/postorius/doc/news.rst @@ -27,6 +27,8 @@ along with Postorius. If not, see . ``example.com``. (Closes #427) * Add the ability to subscribe via Primary Address instead of specific address. (See !516) +* Fix a bug where the user's display name would be ignore when + subscribing. (Closes #429) 1.3.3 diff --git a/src/postorius/tests/mailman_api_tests/test_subscriptions.py b/src/postorius/tests/mailman_api_tests/test_subscriptions.py index 5d769cd0..89214516 100644 --- a/src/postorius/tests/mailman_api_tests/test_subscriptions.py +++ b/src/postorius/tests/mailman_api_tests/test_subscriptions.py @@ -16,11 +16,12 @@ # Postorius. If not, see . +from unittest.mock import patch + from django.contrib.auth.models import User from django.urls import reverse from allauth.account.models import EmailAddress -from mock import patch from postorius.tests.utils import ViewTestCase @@ -59,10 +60,11 @@ class TestSubscription(ViewTestCase): response = self.client.post( reverse('list_anonymous_subscribe', args=('open_list.example.com', )), - {'email': 'test@example.com'}) + {'email': 'test@example.com', 'display_name': 'Test User'}) mock_subscribe.assert_called_once() mock_subscribe.assert_called_with( - 'test@example.com', pre_verified=False, pre_confirmed=False) + 'test@example.com', 'Test User', pre_verified=False, + pre_confirmed=False) self.assertRedirects( response, reverse('list_summary', args=('open_list.example.com', ))) diff --git a/src/postorius/views/list.py b/src/postorius/views/list.py index beb87406..968a3e88 100644 --- a/src/postorius/views/list.py +++ b/src/postorius/views/list.py @@ -391,8 +391,10 @@ class ListSubscribeView(MailingListView): user_emails, mm_user.user_id, primary_email, request.POST) if form.is_valid(): subscriber = request.POST.get('subscriber') + display_name = request.POST.get('display_name') response = self.mailing_list.subscribe( - subscriber, pre_verified=True, pre_confirmed=True) + subscriber, display_name, + pre_verified=True, pre_confirmed=True) if (type(response) == dict and # noqa: W504 response.get('token_owner') == TokenOwner.moderator): messages.success( @@ -427,8 +429,10 @@ class ListAnonymousSubscribeView(MailingListView): form = ListAnonymousSubscribe(request.POST) if form.is_valid(): email = form.cleaned_data.get('email') - self.mailing_list.subscribe(email, pre_verified=False, - pre_confirmed=False) + display_name = form.cleaned_data.get('display_name') + self.mailing_list.subscribe( + email, display_name, + pre_verified=False, pre_confirmed=False) messages.success(request, _('Please check your inbox for ' 'further instructions')) else: -- 2.11.4.GIT