diff options
-rw-r--r-- | askbot/models/post.py | 25 | ||||
-rw-r--r-- | askbot/skins/default/templates/email/quoted_post.html | 31 | ||||
-rw-r--r-- | askbot/skins/loaders.py | 1 | ||||
-rw-r--r-- | askbot/tasks.py | 2 |
4 files changed, 44 insertions, 15 deletions
diff --git a/askbot/models/post.py b/askbot/models/post.py index 06db7688..860c63b0 100644 --- a/askbot/models/post.py +++ b/askbot/models/post.py @@ -624,20 +624,19 @@ class Post(models.Model): def format_for_email(self, quote_level = 0): """format post for the output in email, if quote_level > 0, the post will be indented that number of times + todo: move to views? """ - from askbot.templatetags.extra_filters_jinja import absolutize_urls_func - output = '' - if self.post_type == 'question': - output += '<b>%s</b><br/>' % self.thread.title - - output += absolutize_urls_func(self.html) - if self.post_type == 'question':#add tags to the question - output += self.format_tags_for_email() - quote_style = 'padding-left:5px; border-left: 2px solid #aaa;' - while quote_level > 0: - quote_level = quote_level - 1 - output = '<div style="%s">%s</div>' % (quote_style, output) - return output + from askbot.templatetags.extra_filters_jinja \ + import absolutize_urls_func + from askbot.skins.loaders import get_template + from django.template import Context + template = get_template('email/quoted_post.html') + data = { + 'post': self, + 'quote_level': quote_level, + 'html': absolutize_urls_func(self.html) + } + return template.render(Context(data)) def format_for_email_as_parent_thread_summary(self): """format for email as summary of parent posts diff --git a/askbot/skins/default/templates/email/quoted_post.html b/askbot/skins/default/templates/email/quoted_post.html new file mode 100644 index 00000000..72b2ad52 --- /dev/null +++ b/askbot/skins/default/templates/email/quoted_post.html @@ -0,0 +1,31 @@ +{# Parameters: + * quote_level - integer + * post - the post object +#} +{% spaceless %} + {% for number in range(quote_level) %} + <div style="padding-left:5px; border-left: 2px solid #aaa;"> + {% endfor %} + <p style="font-size: 14px; font-weight: bold; margin-bottom: 0px;"> + {% set author = post.username %} + {% if post.post_type == 'question' %} + {% trans %}Question by {{author}}:{% endtrans %} + {{ post.thread.title }} + {% set tag_names = post.get_tag_names() %} + {% if tag_names %} + <p> + {% trans %}Tags:{% endtrans %} + {{ tag_names|join(', ') }}. + </p> + {% endif %} + {% elif post.post_type == 'answer' %} + {% trans %}Answer by {{ author }}:{% endtrans %} + {% else %} + {% trans author %}Comment by {{ author }}:{% endtrans %} + {% endif %} + </p> + {{ html }} + {% for number in range(quote_level) %} + </div> + {% endfor %} +{% endspaceless %} diff --git a/askbot/skins/loaders.py b/askbot/skins/loaders.py index 24559512..aa3188e9 100644 --- a/askbot/skins/loaders.py +++ b/askbot/skins/loaders.py @@ -129,4 +129,3 @@ def render_text_into_skin(text, data, request): skin = get_skin(request) template = skin.from_string(text) return template.render(context) - diff --git a/askbot/tasks.py b/askbot/tasks.py index f12290aa..da07477b 100644 --- a/askbot/tasks.py +++ b/askbot/tasks.py @@ -83,7 +83,7 @@ def notify_author_of_published_revision_celery_task(revision): headers = {'Reply-To': append_content_address} #send the message mail.send_mail( - subject_line = _('Your post at %(site_name)s was approved') % data, + subject_line = _('Your post at %(site_name)s is now published') % data, body_text = template.render(Context(data)), recipient_list = [revision.author.email,], related_object = revision, |