diff --git a/src/postorius/templates/postorius/lists/members.html b/src/postorius/templates/postorius/lists/members.html index 30877fd..9a0380a 100644 --- a/src/postorius/templates/postorius/lists/members.html +++ b/src/postorius/templates/postorius/lists/members.html @@ -41,6 +41,7 @@ {% trans 'CSV Export' %} + {% trans 'Unsubscribe all' %} {% endif %} @@ -56,23 +57,34 @@ {% if role == 'subscriber' %} - - {% endif %} - {% trans 'Address' %} - - {% if role == 'subscriber' %} + + + + - {% endif %} - + + {% else %} + {% trans 'Address' %} + + {% endif %} {% for member in members %} {% if role == 'subscriber' %} - - {{ member.email }} - {% trans 'Unsubscribe' %} + + + + + {% trans 'Member Options' %} + {% else %} {{ member }} {% trans 'Delete' %} @@ -85,7 +97,6 @@ {% if role == 'subscriber' %}
- {% trans 'Unsubscribe all' %}
{% include 'postorius/lib/pagination.html' with page=members %} {% endif %} diff --git a/src/postorius/templates/postorius/lists/summary.html b/src/postorius/templates/postorius/lists/summary.html index 5ddfa51..4aa827c 100644 --- a/src/postorius/templates/postorius/lists/summary.html +++ b/src/postorius/templates/postorius/lists/summary.html @@ -39,9 +39,11 @@

{% endblocktrans %}

- - {% trans 'Unsubscribe' %} {{ subscribed_address }} - +

+ {% csrf_token %} + + +

{% else %}

{% trans 'Subscribe to this list' %}

diff --git a/src/postorius/templates/postorius/menu/list_nav.html b/src/postorius/templates/postorius/menu/list_nav.html index 53f82e0..4cd1cf3 100644 --- a/src/postorius/templates/postorius/menu/list_nav.html +++ b/src/postorius/templates/postorius/menu/list_nav.html @@ -15,9 +15,9 @@ {% trans 'Members' %} diff --git a/src/postorius/urls.py b/src/postorius/urls.py index b22c656..5d2e0c1 100644 --- a/src/postorius/urls.py +++ b/src/postorius/urls.py @@ -34,8 +34,7 @@ url(r'^subscribe$', list_views.ListSubscribeView.as_view(), name='list_subscribe'), url(r'^change_subscription$', list_views.ChangeSubscriptionView.as_view(), name='change_subscription'), - url(r'^unsubscribe/(?P[^/]+)$', list_views.ListUnsubscribeView.as_view(), - name='list_unsubscribe'), + url(r'^unsubscribe/$', list_views.ListUnsubscribeView.as_view(), name='list_unsubscribe'), url(r'^subscription_requests$', list_views.list_subscription_requests, name='list_subscription_requests'), url(r'^handle_subscription_request/(?P[^/]+)/(?P[accept|reject|discard|defer]+)$', diff --git a/src/postorius/views/list.py b/src/postorius/views/list.py index b325630..5d8f9ad 100644 --- a/src/postorius/views/list.py +++ b/src/postorius/views/list.py @@ -94,6 +94,7 @@ paginator_class=utils.MailmanPaginator) context['empty_error'] = _('List has no Subscribers') context['count_options'] = [25, 50, 100, 200] + context['form'] = form else: context['member_form'] = member_form if role == 'owner': @@ -272,8 +273,8 @@ """Unsubscribe from a mailing list.""" @method_decorator(login_required) - def get(self, request, *args, **kwargs): - email = kwargs['email'] + def post(self, request, *args, **kwargs): + email = request.POST['email'] try: self.mailing_list.unsubscribe(email) messages.success(request, _('%s has been unsubscribed from this list.') % email)