допы и фиксы при сдаче

В анонсах тоже самое - Имя в теме не отображает. Прехеадер ОК.
Если событий нет, то не выводить блок. Сейчас выводит пустой - готово
Сработала только по стране фильтрация, по городу нет.  - Исправлено
Можно прехеадер для А-Б тестов тоже вынести?  - вынесено
remotes/origin/stage5
Alexander Burdeiny 10 years ago
parent b9e8615ead
commit 6fc7d77dd3
  1. 2
      emencia/django/newsletter/admin_forms.py
  2. 4
      emencia/django/newsletter/mailer.py
  3. 30
      emencia/django/newsletter/models.py
  4. 4
      emencia/django/newsletter/templates/newsletter/announce_template.html
  5. 5
      fabfile.py
  6. 4
      templates/c_admin/newsletters/newsletter_object.html

@ -180,7 +180,7 @@ class NewsletterForm(forms.ModelForm):
class Meta:
model = Newsletter
fields = ('preheader', 'title', 'content', 'ab_testing', 'ab_first_stage', 'title2', 'content2', 'mailing_list', 'theme_for_filter', 'test_contacts', 'header_sender',
fields = ('preheader', 'title', 'content', 'ab_testing', 'ab_first_stage', 'preheader2', 'title2', 'content2', 'mailing_list', 'theme_for_filter', 'test_contacts', 'header_sender',
'header_reply', 'status', 'sending_date', 'slug')
widgets = {
'ab_first_stage': forms.widgets.TextInput(attrs={'type':'number', 'min': 5, 'max': 100}),

@ -272,7 +272,7 @@ class NewsLetterSender(object):
if self.newsletter.ab_testing and self.ab_state == Newsletter.A:
title = self.title_template.render(context)
elif self.newsletter.ab_testing and self.ab_state == Newsletter.B:
title = self.title_template2.render(context)
title = self.title_template2.render(context)
else:
title = self.title_template.render(context)
return title
@ -335,7 +335,7 @@ class NewsLetterSender(object):
theme_word=theme_word.make_agree_with_number(count).word,
)
return {
'name': contact.first_name or contact.last_name,
'name': contact.first_name or contact.last_name or _(u'Подписчик'),
'themes': ', '.join([self.themes.get(x) for x in contact.contactsettings.theme.all().values_list('pk', flat=True)[:3]]) + t_add,
}

@ -167,13 +167,29 @@ class Contact(models.Model):
# making query
params = Q()
countries = self.contactsettings.country.all().values_list('pk', flat=True)
if countries:
params |= Q(country__in=countries)
cities = self.contactsettings.city.all().values_list('pk', flat=True)
if cities:
params |= Q(country__in=cities)
_countries = set(self.contactsettings.country.all().values_list('pk', flat=True))
countries = set()
# countries_overall = set()
_cities = self.contactsettings.city.all().values_list('pk', 'country_id')
cities = set()
cities_overall = set()
for city, country_id in _cities:
if country_id in _countries:
cities.add(city)
countries.add(country_id)
else:
cities_overall.add(city)
countries_overall = _countries.difference(countries)
if countries_overall:
params |= Q(country_id__in=countries_overall)
if cities_overall:
params |= Q(city_id__in=cities_overall)
if countries and cities:
params |= Q(city_id__in=cities, country_id__in=countries)
if themes:
theme_ids = set([item.id for item in themes])

@ -33,6 +33,7 @@
{# end header #}
{# events #}
{% if expo %}
{% with events=expo place=expo_places %}
<table cellpadding="0" cellspacing="0" border="0" width="600" style="width: 600px; margin-bottom: 10px;">
<tr>
@ -73,9 +74,11 @@
</tr>
</table>
{% endwith %}
{% endif %}
{# end events #}
{# conferencies #}
{% if conf %}
{% with events=conf place=conf_places %}
<table cellpadding="0" cellspacing="0" border="0" width="600" style="width: 600px; margin-bottom: 10px;">
<tr>
@ -116,6 +119,7 @@
</tr>
</table>
{% endwith %}
{% endif %}
{# end conferencies #}
{% if news %}

5
fabfile.py vendored

@ -132,6 +132,11 @@ def stage_init(stage_num):
call_state('start', only='apache2')
def migrate(app_name):
with cd(REMOTE_HOME_DIR):
run('python manage.py migrate {app_name}'.format(app_name=app_name))
@stage(5)
def t1451():
with cd(REMOTE_HOME_DIR):

@ -36,9 +36,9 @@
function makeContent2() {
if ($('#id_ab_testing').is(':checked')) {
$('div#cke_id_content2 div.cke_contents').height($('div#cke_id_content div.cke_contents').height());
$('#id_content2, #id_title2, #id_ab_first_stage').parents('div.control-group').show();
$('#id_content2, #id_title2, #id_preheader2, #id_ab_first_stage').parents('div.control-group').show();
} else {
$('#id_content2, #id_title2, #id_ab_first_stage').parents('div.control-group').hide();
$('#id_content2, #id_title2, #id_preheader2, #id_ab_first_stage').parents('div.control-group').hide();
}
}
makeContent2();

Loading…
Cancel
Save