diff --git a/src/postorius/urls.py b/src/postorius/urls.py index 7caba84..3f6d2c9 100644 --- a/src/postorius/urls.py +++ b/src/postorius/urls.py @@ -53,6 +53,9 @@ url(r'^subscription_requests$', 'list_subscription_requests', name='list_subscription_requests'), + url(r'^handle_subscription_request/(?P\d+)/(?P[accept|reject|discard|defer]+)$', + 'handle_subscription_request', + name='handle_subscription_request'), url(r'^mass_subscribe/$', ListMassSubscribeView.as_view( ), name='mass_subscribe'), diff --git a/src/postorius/views/list.py b/src/postorius/views/list.py index 28b4a4e..10a937c 100644 --- a/src/postorius/views/list.py +++ b/src/postorius/views/list.py @@ -560,6 +560,25 @@ {'list': m_list}, context_instance=RequestContext(request)) +def handle_subscription_request(request, list_id, request_id, action): + """ + Handle a subscription request. Possible actions: + - accept + - defer + - reject + - discard + """ + try: + m_list = utils.get_client().get_list(list_id) + except MailmanApiError: + return utils.render_api_error(request) + + messages.success(request, 'The message has been rejected.') + + return redirect('list_subscription_requests', the_list.list_id) + + + SETTINGS_SECTION_NAMES = ( ('list_identity', _('List Identity')), @@ -620,7 +639,7 @@ else: template='postorius/lists/settings_legacy.html' if visible_section is None: - visible_section = 'List Identity' + visible_section = 'list_identity' form_sections = [] # collect all Form sections for the links: temp = ListSettings('', '')