add contact filter

remotes/origin/1203
Nazar Kotjuk 10 years ago
parent 1672162a22
commit 6ff5c1b318
  1. 4
      emencia/django/newsletter/forms.py
  2. 8
      templates/admin/newsletters/contact_list.html

@ -133,6 +133,7 @@ class ContactFilterForm(forms.Form):
created_to = forms.CharField(max_length=255, label="Создан по", required=False)
not_active = forms.BooleanField(label="Не подтверждена подписка", required=False)
not_valid = forms.BooleanField(label="Неалидный Email", required=False)
not_subscriber = forms.BooleanField(label="Отписался", required=False)
def filter(self):
title = 'contact list '
@ -140,6 +141,7 @@ class ContactFilterForm(forms.Form):
if self.cleaned_data.get('mailinglist'):
qs = qs.filter(mailinglist_subscriber__id=self.cleaned_data['mailinglist'])
title += " mailinglist: %s" % MailingList.objects.get(id=self.cleaned_data['mailinglist']).name
if self.cleaned_data.get('country'):
qs = qs.filter(contactsettings__country__id__in=self.cleaned_data['country'])
title += " countries: %s" % ','.join([obj.url for obj in Country.objects.language().filter(id__in=self.cleaned_data['country'])])
@ -164,6 +166,8 @@ class ContactFilterForm(forms.Form):
qs = qs.filter(creation_date__gte=datetime.strptime(self.cleaned_data['created_from'], "%d.%m.%Y"))
if self.cleaned_data.get("created_to"):
qs = qs.filter(creation_date__lt=datetime.strptime(self.cleaned_data['created_to'], "%d.%m.%Y"))
if self.cleaned_data.get('not_subscriber'):
qs = qs.filter(subscriber=False)
return qs, title

@ -105,6 +105,14 @@
</div>
</div>
<!-- not sunscriber -->
<div class="control-group">
<label class="control-label" for="id_not_subscriber">{{ form.not_subscriber.label }}</label>
<div class="controls">
{{ form.not_subscriber }}
</div>
</div>
<!-- Buttons -->
<div class="control-group">
<label class="control-label" for="submit"></label>

Loading…
Cancel
Save