mirror of
https://github.com/zulip/zulip.git
synced 2025-11-03 05:23:35 +00:00
Actually use the realm specified by the email mirror when doing the markdown
(imported from commit 00b909b1d0c70a3523ab53d2f91815ab14ba2a6f)
This commit is contained in:
@@ -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":
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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:
|
||||
|
||||
Reference in New Issue
Block a user