mirror of https://github.com/zulip/zulip.git
email-digest: Update translated strings for stream to channel rename.
Updates the translated "New streams" string in the email digest to instead by "New channels". Also, marks that for translation in the plain text version of the email. Updates the generated stream/channel url to use stream_narrow_url in preparation for updating stream narrow urls for the rename. Part of stream to channel rename project.
This commit is contained in:
parent
d0a62020ff
commit
20f4022391
|
@ -23,10 +23,10 @@
|
||||||
{% endfor %}
|
{% endfor %}
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% if new_streams.html %}
|
{% if new_channels.html %}
|
||||||
<p class="digest_paragraph"><b>{% trans %}New streams{% endtrans %}</b></p>
|
<p class="digest_paragraph"><b>{% trans %}New channels{% endtrans %}</b></p>
|
||||||
|
|
||||||
<p class="digest_paragraph">{{ new_streams.html|display_list(1000)|safe }}.</p>
|
<p class="digest_paragraph">{{ new_channels.html|display_list(1000)|safe }}.</p>
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
<br />
|
<br />
|
||||||
|
|
|
@ -5,8 +5,8 @@
|
||||||
{% endfor %}{% endfor %}
|
{% endfor %}{% endfor %}
|
||||||
{% if convo.count > 0 %}+ {{ convo.count }} more message{{ convo.count|pluralize }} by {{ convo.participants|display_list(4) }}.{% endif %}{% endfor %}{% endfor %}{% endif %}
|
{% if convo.count > 0 %}+ {{ convo.count }} more message{{ convo.count|pluralize }} by {{ convo.participants|display_list(4) }}.{% endif %}{% endfor %}{% endfor %}{% endif %}
|
||||||
|
|
||||||
{% if new_streams.plain %}** New streams **
|
{% if new_channels.plain %}** {% trans %}New channels{% endtrans %} **
|
||||||
{{ new_streams.plain|display_list(1000) }}.
|
{{ new_channels.plain|display_list(1000) }}.
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
{% trans organization_url=realm_uri %}Click here to log in to Zulip and catch up: {{ organization_url }}.{% endtrans %}
|
{% trans organization_url=realm_uri %}Click here to log in to Zulip and catch up: {{ organization_url }}.{% endtrans %}
|
||||||
|
|
|
@ -19,7 +19,7 @@ from zerver.lib.logging_util import log_to_file
|
||||||
from zerver.lib.message import get_last_message_id
|
from zerver.lib.message import get_last_message_id
|
||||||
from zerver.lib.queue import queue_json_publish
|
from zerver.lib.queue import queue_json_publish
|
||||||
from zerver.lib.send_email import FromAddress, send_future_email
|
from zerver.lib.send_email import FromAddress, send_future_email
|
||||||
from zerver.lib.url_encoding import encode_stream
|
from zerver.lib.url_encoding import stream_narrow_url
|
||||||
from zerver.models import (
|
from zerver.models import (
|
||||||
Message,
|
Message,
|
||||||
Realm,
|
Realm,
|
||||||
|
@ -255,18 +255,16 @@ def gather_new_streams(
|
||||||
else:
|
else:
|
||||||
new_streams = [stream for stream in recently_created_streams if stream.is_web_public]
|
new_streams = [stream for stream in recently_created_streams if stream.is_web_public]
|
||||||
|
|
||||||
base_url = f"{realm.uri}/#narrow/stream/"
|
channels_html = []
|
||||||
|
channels_plain = []
|
||||||
streams_html = []
|
|
||||||
streams_plain = []
|
|
||||||
|
|
||||||
for stream in new_streams:
|
for stream in new_streams:
|
||||||
narrow_url = base_url + encode_stream(stream.id, stream.name)
|
narrow_url = stream_narrow_url(realm, stream)
|
||||||
stream_link = f"<a href='{narrow_url}'>{stream.name}</a>"
|
channel_link = f"<a href='{narrow_url}'>{stream.name}</a>"
|
||||||
streams_html.append(stream_link)
|
channels_html.append(channel_link)
|
||||||
streams_plain.append(stream.name)
|
channels_plain.append(stream.name)
|
||||||
|
|
||||||
return len(new_streams), {"html": streams_html, "plain": streams_plain}
|
return len(new_streams), {"html": channels_html, "plain": channels_plain}
|
||||||
|
|
||||||
|
|
||||||
def enough_traffic(hot_conversations: str, new_streams: int) -> bool:
|
def enough_traffic(hot_conversations: str, new_streams: int) -> bool:
|
||||||
|
@ -376,7 +374,7 @@ def bulk_get_digest_context(
|
||||||
recently_created_streams=recently_created_streams,
|
recently_created_streams=recently_created_streams,
|
||||||
can_access_public=user.can_access_public_streams(),
|
can_access_public=user.can_access_public_streams(),
|
||||||
)
|
)
|
||||||
context["new_streams"] = new_streams
|
context["new_channels"] = new_streams
|
||||||
context["new_streams_count"] = new_streams_count
|
context["new_streams_count"] = new_streams_count
|
||||||
|
|
||||||
yield user, context
|
yield user, context
|
||||||
|
|
|
@ -186,7 +186,7 @@ class TestDigestEmailMessages(ZulipTestCase):
|
||||||
kwargs = mock_send_future_email.call_args[1]
|
kwargs = mock_send_future_email.call_args[1]
|
||||||
self.assertEqual(kwargs["to_user_ids"], [polonius.id])
|
self.assertEqual(kwargs["to_user_ids"], [polonius.id])
|
||||||
|
|
||||||
new_stream_names = kwargs["context"]["new_streams"]["plain"]
|
new_stream_names = kwargs["context"]["new_channels"]["plain"]
|
||||||
self.assertTrue("web_public_stream" in new_stream_names)
|
self.assertTrue("web_public_stream" in new_stream_names)
|
||||||
|
|
||||||
def test_no_logging(self) -> None:
|
def test_no_logging(self) -> None:
|
||||||
|
|
Loading…
Reference in New Issue