summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEvgeny Fadeev <evgeny.fadeev@gmail.com>2012-05-31 00:16:18 -0400
committerEvgeny Fadeev <evgeny.fadeev@gmail.com>2012-05-31 00:16:18 -0400
commit0812271c54dd38a2034bfe42832a5372f28e404d (patch)
treeb5670d12af35bcd552df6e6890f7a361aa3df6ec
parenteff58f74b06e581c787500c7303f26cccce565f2 (diff)
downloadaskbot-0812271c54dd38a2034bfe42832a5372f28e404d.tar.gz
askbot-0812271c54dd38a2034bfe42832a5372f28e404d.tar.bz2
askbot-0812271c54dd38a2034bfe42832a5372f28e404d.zip
moved formatting of emailed post contents to template
-rw-r--r--askbot/models/post.py25
-rw-r--r--askbot/skins/default/templates/email/quoted_post.html31
-rw-r--r--askbot/skins/loaders.py1
-rw-r--r--askbot/tasks.py2
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,