diff --git a/emencia/django/newsletter/forms.py b/emencia/django/newsletter/forms.py index 762f63ee..71749f2e 100644 --- a/emencia/django/newsletter/forms.py +++ b/emencia/django/newsletter/forms.py @@ -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 diff --git a/templates/admin/newsletters/contact_list.html b/templates/admin/newsletters/contact_list.html index 4068c5db..36b1dbfe 100644 --- a/templates/admin/newsletters/contact_list.html +++ b/templates/admin/newsletters/contact_list.html @@ -105,6 +105,14 @@ + +
+ +
+ {{ form.not_subscriber }} +
+
+