Тут {name} указано в заголовке, мы делали только для прехедера.
Сделали и для заголовка.
remotes/origin/stage5
Alexander Burdeiny 10 years ago
parent 0f641e5c7d
commit d7c66a5fd7
  1. 25
      emencia/django/newsletter/mailer.py

@ -106,15 +106,12 @@ class NewsLetterSender(object):
self.themes = dict(Theme.objects.language('ru').all().values_list('pk', 'name')) self.themes = dict(Theme.objects.language('ru').all().values_list('pk', 'name'))
self.newsletter_template2 = None self.newsletter_template2 = None
self.title_template2 = None
self.ab_state = Newsletter.A self.ab_state = Newsletter.A
if newsletter.ab_testing == True: if newsletter.ab_testing == True:
self.newsletter_template2 = Template(self.newsletter.content2) self.newsletter_template2 = Template(self.newsletter.content2)
self.title_template2 = Template(self.newsletter.title2)
if self.newsletter.ab_final_stage: if self.newsletter.ab_final_stage:
self.ab_state = self.newsletter.ab_final_choice self.ab_state = self.newsletter.ab_final_choice
self.title_template = Template(self.newsletter.title)
# #
self.announce = self.newsletter.mailing_list.announce self.announce = self.newsletter.mailing_list.announce
@ -266,15 +263,13 @@ class NewsLetterSender(object):
def build_title_content(self, contact): def build_title_content(self, contact):
"""Generate the email title for a contact""" """Generate the email title for a contact"""
context = Context({'contact': contact, # context = Context({'contact': contact,
'UNIQUE_KEY': ''.join(sample(UNIQUE_KEY_CHAR_SET, # 'UNIQUE_KEY': ''.join(sample(UNIQUE_KEY_CHAR_SET,
UNIQUE_KEY_LENGTH))}) # UNIQUE_KEY_LENGTH))})
if self.newsletter.ab_testing and self.ab_state == Newsletter.A: if not self.newsletter.ab_testing or (self.newsletter.ab_testing and self.ab_state == Newsletter.A):
title = self.title_template.render(context) title = self.newsletter.title.format(**self.preheader_ctx)
elif self.newsletter.ab_testing and self.ab_state == Newsletter.B: elif self.newsletter.ab_testing and self.ab_state == Newsletter.B:
title = self.title_template2.render(context) title = self.newsletter.title2.format(**self.preheader_ctx)
else:
title = self.title_template.render(context)
return title return title
def build_email_content(self, contact, announce_context=None): def build_email_content(self, contact, announce_context=None):
@ -316,9 +311,9 @@ class NewsLetterSender(object):
# include preheader # include preheader
if self.newsletter.preheader: if self.newsletter.preheader:
if not self.newsletter.ab_testing or self.ab_state == Newsletter.A: if not self.newsletter.ab_testing or self.ab_state == Newsletter.A:
preheader = self.newsletter.preheader.format(**self.build_preheader_ctx(contact)) preheader = self.newsletter.preheader.format(**self.preheader_ctx)
else: else:
preheader = self.newsletter.preheader2.format(**self.build_preheader_ctx(contact)) preheader = self.newsletter.preheader2.format(**self.preheader_ctx)
preheader_html = render_to_string('newsletter/newsletter_preheader.html', {'preheader': preheader}) preheader_html = render_to_string('newsletter/newsletter_preheader.html', {'preheader': preheader})
content = body_insertion(content, preheader_html) content = body_insertion(content, preheader_html)
@ -334,7 +329,7 @@ class NewsLetterSender(object):
count=count, count=count,
theme_word=theme_word.make_agree_with_number(count).word, theme_word=theme_word.make_agree_with_number(count).word,
) )
return { self.preheader_ctx = {
'name': contact.first_name or contact.last_name or _(u'Подписчик'), '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, 'themes': ', '.join([self.themes.get(x) for x in contact.contactsettings.theme.all().values_list('pk', flat=True)[:3]]) + t_add,
} }
@ -476,6 +471,8 @@ class Mailer(NewsLetterSender):
print '- Processing %s/%s (%s)' % ( print '- Processing %s/%s (%s)' % (
i, number_of_recipients, contact.pk) i, number_of_recipients, contact.pk)
#
self.build_preheader_ctx(contact)
# check if events for this newsletter exists # check if events for this newsletter exists
announce_context = contact.get_announce_context() if self.announce else None announce_context = contact.get_announce_context() if self.announce else None
if self.announce and not announce_context: if self.announce and not announce_context:

Loading…
Cancel
Save