|
|
|
|
@ -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 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|