From d7c66a5fd75f4683a3d7a95bb3407a183ff9b3dd Mon Sep 17 00:00:00 2001 From: Alexander Burdeiny Date: Mon, 15 Aug 2016 12:35:07 +0300 Subject: [PATCH] =?UTF-8?q?newsletter=20=D0=A2=D1=83=D1=82=20{name}=20?= =?UTF-8?q?=D1=83=D0=BA=D0=B0=D0=B7=D0=B0=D0=BD=D0=BE=20=D0=B2=20=D0=B7?= =?UTF-8?q?=D0=B0=D0=B3=D0=BE=D0=BB=D0=BE=D0=B2=D0=BA=D0=B5,=20=D0=BC?= =?UTF-8?q?=D1=8B=20=D0=B4=D0=B5=D0=BB=D0=B0=D0=BB=D0=B8=20=D1=82=D0=BE?= =?UTF-8?q?=D0=BB=D1=8C=D0=BA=D0=BE=20=D0=B4=D0=BB=D1=8F=20=D0=BF=D1=80?= =?UTF-8?q?=D0=B5=D1=85=D0=B5=D0=B4=D0=B5=D1=80=D0=B0.=20=D0=A1=D0=B4?= =?UTF-8?q?=D0=B5=D0=BB=D0=B0=D0=BB=D0=B8=20=D0=B8=20=D0=B4=D0=BB=D1=8F=20?= =?UTF-8?q?=D0=B7=D0=B0=D0=B3=D0=BE=D0=BB=D0=BE=D0=B2=D0=BA=D0=B0.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- emencia/django/newsletter/mailer.py | 25 +++++++++++-------------- 1 file changed, 11 insertions(+), 14 deletions(-) diff --git a/emencia/django/newsletter/mailer.py b/emencia/django/newsletter/mailer.py index 5d375236..62bd957d 100644 --- a/emencia/django/newsletter/mailer.py +++ b/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.newsletter_template2 = None - self.title_template2 = None self.ab_state = Newsletter.A if newsletter.ab_testing == True: self.newsletter_template2 = Template(self.newsletter.content2) - self.title_template2 = Template(self.newsletter.title2) if self.newsletter.ab_final_stage: self.ab_state = self.newsletter.ab_final_choice - self.title_template = Template(self.newsletter.title) # self.announce = self.newsletter.mailing_list.announce @@ -266,15 +263,13 @@ class NewsLetterSender(object): def build_title_content(self, contact): """Generate the email title for a contact""" - context = Context({'contact': contact, - 'UNIQUE_KEY': ''.join(sample(UNIQUE_KEY_CHAR_SET, - UNIQUE_KEY_LENGTH))}) - if self.newsletter.ab_testing and self.ab_state == Newsletter.A: - title = self.title_template.render(context) + # context = Context({'contact': contact, + # 'UNIQUE_KEY': ''.join(sample(UNIQUE_KEY_CHAR_SET, + # UNIQUE_KEY_LENGTH))}) + if not self.newsletter.ab_testing or (self.newsletter.ab_testing and self.ab_state == Newsletter.A): + title = self.newsletter.title.format(**self.preheader_ctx) elif self.newsletter.ab_testing and self.ab_state == Newsletter.B: - title = self.title_template2.render(context) - else: - title = self.title_template.render(context) + title = self.newsletter.title2.format(**self.preheader_ctx) return title def build_email_content(self, contact, announce_context=None): @@ -316,9 +311,9 @@ class NewsLetterSender(object): # include preheader if self.newsletter.preheader: 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: - 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}) content = body_insertion(content, preheader_html) @@ -334,7 +329,7 @@ class NewsLetterSender(object): count=count, theme_word=theme_word.make_agree_with_number(count).word, ) - return { + self.preheader_ctx = { '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, } @@ -476,6 +471,8 @@ class Mailer(NewsLetterSender): print '- Processing %s/%s (%s)' % ( i, number_of_recipients, contact.pk) + # + self.build_preheader_ctx(contact) # check if events for this newsletter exists announce_context = contact.get_announce_context() if self.announce else None if self.announce and not announce_context: