export_contacts

stage8
Slava Kyrachevsky 9 years ago
parent d04e74d97b
commit c9f8e6f203
  1. 3
      apps/emencia/django/newsletter/admin_urls.py
  2. 15
      apps/emencia/django/newsletter/views/admin_views.py
  3. 11
      templates/c_admin/newsletters/mailing_list.html

@ -25,7 +25,7 @@ from emencia.django.newsletter.views.admin_views import (
RecommendsList,
RecommendsCreateorEdit,
RecommendsDelete,
export_contacts
)
urlpatterns = patterns('',
@ -57,6 +57,7 @@ urlpatterns = patterns('',
url(r'^mailinglist/all/$', MailingListView.as_view(), name='newsletters_mailinglist'),
url(r'^mailinglist/(?P<pk>\d+)/edit/', UpdateMailingList.as_view(), name='newsletters_mailinglist_update'),
url(r'^mailinglist/(?P<pk>\d+)/', DeleteMailingList.as_view(), name='newsletters_mailinglist_delete'),
url(r'^export_contacts/(?P<pk>\d+)/', export_contacts, name='newsletters_export_contacts'),
url(r'^mailinglist/filter/', CreateMailingList.as_view(), {'filter': True}, name='newsletters_mailinglist_create_filter'),
url(r'^mailinglist/', CreateMailingList.as_view(), name='newsletters_mailinglist_create'),

@ -1,5 +1,6 @@
# -*- coding: utf-8 -*-
import datetime
import csv
from django.conf import settings
from django.core.urlresolvers import reverse_lazy, reverse
@ -257,6 +258,20 @@ class UpdateMailingList(MailingListMixin, UpdateView):
pass
def export_contacts(request, pk):
contacts = Contact.objects.filter(mailinglist_subscriber__pk=pk)\
.values_list('email', flat=True)
response = HttpResponse(content_type='text/csv')
response['Content-Disposition'] = 'attachment; filename="contacts.csv"'
writer = csv.writer(response)
for contact in contacts:
writer.writerow([contact])
return response
class DailyMailSuccesUrlMixin(object):
def get_success_url(self):
if self.object.dailymail == True:

@ -10,15 +10,6 @@
<div class="box-content">
<table class="table table-hover">
<colgroup>
<col width="30%">
<col width="20%">
<col width="20%">
<col width="10%">
<col width="10%">
<col width="10%">
</colgroup>
<thead>
<tr>
<th>{% trans "Название" %}</th>
@ -27,6 +18,7 @@
<th>&nbsp;</th>
<th>&nbsp;</th>
<th>&nbsp;</th>
<th>&nbsp;</th>
</tr>
</thead>
<tbody>
@ -36,6 +28,7 @@
<td>{{ item.subscribers_count }}</td>
<td>{{ item.unsubscribers_count }}</td>
<td><a href="{% url 'newsletters_export_contacts' item.id %}">{% trans "Экспорт" %}</a> </td>
<td><a href="{% url 'newsletters_mailinglist_update' item.id %}">{% trans "Изменить" %}</a> </td>
<td><a href="{% url 'newsletters_mailinglist_delete' item.id %}">{% trans "Удалить" %}</a> </td>
<td><a href="{% url 'newsletters_contact_list' %}?mailinglist={{ item.id }}">{% trans "Подписчики" %}</a> </td>

Loading…
Cancel
Save