newsletter admin fix

remotes/origin/1203
Nazar Kotjuk 10 years ago
parent 9b68dc506c
commit 104f74afb9
  1. 4
      emencia/django/newsletter/admin_forms.py
  2. 1
      emencia/django/newsletter/forms.py
  3. 6
      emencia/django/newsletter/templates/newsletter/announce_template.html
  4. 12
      emencia/django/newsletter/views/admin_views.py
  5. 8
      templates/admin/newsletters/mailing_list_object.html

@ -62,10 +62,12 @@ class ContactSettingsForm(forms.ModelForm):
import xlrd
from theme.models import Theme
class MailingListForm(forms.ModelForm):
excel_file = forms.FileField(label='Импортировать подписчиков', required=False)
theme_for_filter = forms.MultipleChoiceField(label=u'Тематики', required=False,
choices=[(item.id, item.name) for item in Theme.objects.language().all()])
class Meta:
model = MailingList

@ -168,6 +168,7 @@ class ContactFilterForm(forms.Form):
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)
qs = qs.distinct()
return qs, title

@ -73,12 +73,6 @@
</table>
{% endwith %}
{# end events #}
{# banner #}
<table cellpadding="0" cellspacing="0" border="0" width="600" style="width: 600px; margin-bottom: 10px;">
<tbody><tr>
<td style="padding: 20px 0 0;"><a href="/expo-b/click/153/"><img src="cid:expo_a" width="600" height="145" alt=""></a></td>
</tr>
</tbody></table>
{% if news %}
<table cellpadding="0" cellspacing="0" border="0" width="600" style="width: 600px; margin-bottom: 10px;">

@ -151,6 +151,16 @@ class UpdateMailingList(UpdateView):
def get_success_url(self):
return self.success_url
def form_valid(self, form):
obj = form.save()
themes = form.cleaned_data.get('theme_for_filter')
if themes:
obj.subscribers.add(*list(Contact.objects.filter(contactsettings__theme__in=themes).distinct()))
return HttpResponseRedirect(self.success_url)
class CreateMailingList(CreateView):
model = MailingList
@ -165,6 +175,8 @@ class CreateMailingList(CreateView):
contacts, _ = filter_form.filter()
obj.subscribers = contacts
obj.save()
return HttpResponseRedirect(self.success_url)

@ -28,4 +28,12 @@
<input class="btn btn-large" type="reset" value="Отмена">
</div>
</form>
{% endblock %}
{% block scripts %}
{# selects #}
<link href="{% static 'js/select/select2.css' %}" rel="stylesheet"/>
<script src="{% static 'js/select/select2.js' %}"></script>
{% endblock %}

Loading…
Cancel
Save