Actually use the realm specified by the email mirror when doing the markdown

(imported from commit 00b909b1d0c70a3523ab53d2f91815ab14ba2a6f)
This commit is contained in:
acrefoot
2013-09-04 16:44:45 -04:00
committed by acrefoot
parent 70dd92efa0
commit 592e1ead6b
3 changed files with 9 additions and 8 deletions

View File

@@ -255,7 +255,7 @@ def do_send_messages(messages):
else:
raise ValueError('Bad recipient type')
message['message'].maybe_render_content()
message['message'].maybe_render_content(None)
# Save the message receipts in the database
user_message_flags = defaultdict(dict)
@@ -481,7 +481,7 @@ def check_message(sender, client, message_type_name, message_to,
message.pub_date = timezone.now()
message.sending_client = client
if not message.maybe_render_content():
if not message.maybe_render_content(realm.domain):
raise JsonableError("Unable to render message")
if client.name == "zephyr_mirror":

View File

@@ -18,7 +18,7 @@ Usage: python manage.py render_old_messages"""
if len(messages) == 0:
break
for message in messages:
message.maybe_render_content(save=True)
message.maybe_render_content(None, save=True)
total_rendered += len(messages)
print datetime.datetime.now(), total_rendered
# Put in some sleep so this can run safely on low resource machines

View File

@@ -435,7 +435,7 @@ class Message(models.Model):
def get_realm(self):
return self.sender.realm
def render_markdown(self, content):
def render_markdown(self, content, domain=None):
"""Return HTML for given markdown. Bugdown may add properties to the
message object such as `mentions_user_ids` and `mentions_wildcard`.
These are only on this Django object and are not saved in the
@@ -446,7 +446,8 @@ class Message(models.Model):
self.mentions_user_ids = set()
self.user_ids_with_alert_words = set()
domain = self.sender.realm.domain
if not domain:
domain = self.sender.realm.domain
if self.sending_client.name == "zephyr_mirror" and domain == "mit.edu":
# Use slightly customized Markdown processor for content
# delivered via zephyr_mirror
@@ -467,10 +468,10 @@ class Message(models.Model):
else:
return False
def maybe_render_content(self, save = False):
def maybe_render_content(self, domain, save = False):
"""Render the markdown if there is no existing rendered_content"""
if self.rendered_content_version < bugdown.version or self.rendered_content is None:
return self.set_rendered_content(self.render_markdown(self.content), save)
return self.set_rendered_content(self.render_markdown(self.content, domain), save)
else:
return True
@@ -525,7 +526,7 @@ class Message(models.Model):
obj['edit_history'] = ujson.loads(self.edit_history)
if apply_markdown:
self.maybe_render_content(save = True)
self.maybe_render_content(None, save = True)
if self.rendered_content is not None:
obj['content'] = self.rendered_content
else: