diff --git a/src/postorius/urls.py b/src/postorius/urls.py index fb326df..7818c09 100644 --- a/src/postorius/urls.py +++ b/src/postorius/urls.py @@ -30,7 +30,7 @@ ListMembersView.as_view( ), name='list_members_paged'), url(r'^csv_view/$', - 'csv_view' , name='csv_view'), + 'csv_view', name='csv_view'), url(r'^members/$', ListMembersView.as_view( ), name='list_members'), @@ -85,7 +85,8 @@ 'postorius.views', (r'^$', 'list_index'), # /account/ - url(r'^accounts/login/$', login_view, {"template_name": "postorius/login.html"}, name='user_login'), + url(r'^accounts/login/$', login_view, + {"template_name": "postorius/login.html"}, name='user_login'), url(r'^accounts/logout/$', 'user_logout', name='user_logout'), url(r'^accounts/profile/$', 'user_profile', name='user_profile'), url(r'^tasks/$', 'user_tasks', name='user_tasks'), diff --git a/src/postorius/views/list.py b/src/postorius/views/list.py index 0de0908..f5fa0fc 100644 --- a/src/postorius/views/list.py +++ b/src/postorius/views/list.py @@ -270,28 +270,27 @@ return redirect('mass_subscribe', self.mailing_list.list_id) +@list_owner_required def csv_view(request, list_id): - """Export all the subscriber in csv - """ - error = None - mm_lists = [] - if request.user.is_superuser: - only_public = False - try: - client = utils.get_client() - mm_lists= client.get_list(list_id) - except MailmanApiError: - return utils.render_api_error(request) - - response = HttpResponse(content_type='text/csv') - response['Content-Disposition'] = 'attachment; filename="Subscribers.csv"' + """Export all the subscriber in csv + """ + mm_lists = [] + try: + client = utils.get_client() + mm_lists = client.get_list(list_id) + except MailmanApiError: + return utils.render_api_error(request) - writer = csv.writer(response) - if mm_lists: - for i in mm_lists.members: - writer.writerow([i.email]) + response = HttpResponse(content_type='text/csv') + response['Content-Disposition'] = ( + 'attachment; filename="Subscribers.csv"') - return response + writer = csv.writer(response) + if mm_lists: + for i in mm_lists.members: + writer.writerow([i.email]) + + return response def _get_choosable_domains(request): @@ -352,6 +351,7 @@ return render_to_response(template, {'form': form}, context_instance=RequestContext(request)) + def list_index(request, template='postorius/lists/index.html'): """Show a table of all public mailing lists. """