Alex Vandiver
bd38e6cb69
send_email: Distinct emails means distinct, case-insensitively.
2024-01-04 10:46:53 -08:00
Alex Vandiver
8d9ead0f6d
send_custom_email: Order by delivery_email if necessary.
...
If we `.distinct("delivery_email")` then we must also
`.order_by("delivery_email")`; adc987dc43
added the `.order_by`
call, which broke the newsletter codepath, since it did not contain
the `delivery_email` in the ordering fields.
Add a flag to distinct on emails in `send_custom_email`.
2024-01-04 10:46:53 -08:00
Alex Vandiver
0697247d59
send_custom_email: Send to recently-active plus owners and admins.
...
The set of `enable_marketing_emails=True` are those that have opted
into getting marketing newsletter emails -- but we previously limited
further to only those users active in the last month.
Broaden that to "opted in, and either recently active or an owner or
an admin," with the goal of providing information to folks who may
have tried out Zulip in the past.
Co-authored-by: Tim Abbott <tabbott@zulip.com>
2024-01-04 10:46:53 -08:00
Prakhar Pratyush
c4330be2b1
user_topics: Validate 'topic' parameter length <= max_topic_length.
...
Earlier, 'topic' parameter length for
'/users/me/subscriptions/muted_topics' and '/user_topics' endpoints
were not validated before DB operations which resulted in exception:
'DataError: value too long for type character varying(60)'.
This commit adds validation for the topic name length to be
capped at 'max_topic_length' characters.
The doc is updated to suggest clients that the topic name should
have a maximum length of 'max_topic_length'.
Fixes #27796 .
2024-01-04 09:43:27 -08:00
Anders Kaseorg
9703b4d70b
login: Remove external_authentication_methods from page_params.
...
This was used by a work-in-progress social login implementation in
zulip-desktop that was reverted for security reasons and never
released.
https://github.com/zulip/zulip/pull/13782
https://github.com/zulip/zulip-desktop/pull/863
We replaced it by a secure implementation with a maintainable API.
https://github.com/zulip/zulip-desktop/pull/943
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-12-29 13:02:12 -08:00
Mateusz Mandera
d3e8ddd6ce
test_push_notifications: Use self.server instead of .get expression.
...
It makes no sense to do RemoteZulipServer.objects.get with
self.server_uuid, when there simply is self.server.
2023-12-23 14:58:27 -08:00
Mateusz Mandera
82ee93d967
zilencer: Set .remote_realm for existing RemotePushDeviceToken.
...
Old RemotePushDeviceTokens were created without this attribute. But when
processing a notification, if we have remote_realm, we can take the
opportunity to to set this for all the registrations for this user.
2023-12-23 14:58:27 -08:00
Aman Agrawal
d4a852e97c
stripe: Save a query to get CustomerPlan for sponsored customers.
2023-12-18 12:55:34 -08:00
Tim Abbott
5dc1d36f73
zilencer: Fix community plan push notifications.
2023-12-17 09:36:47 -08:00
Anders Kaseorg
b38f3d2472
models: Extract zerver.models.lookups.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-12-16 22:08:44 -08:00
Anders Kaseorg
c343d7c30e
models: Move query_for_ids to zerver.lib.query_helpers.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-12-16 22:08:44 -08:00
Anders Kaseorg
33d140c8dc
models: Extract zerver.models.alert_words.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-12-16 22:08:44 -08:00
Anders Kaseorg
1f1b2f9a68
models: Extract zerver.models.bots.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-12-16 22:08:44 -08:00
Anders Kaseorg
27c0b507af
models: Extract zerver.models.custom_profile_fields.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-12-16 22:08:44 -08:00
Anders Kaseorg
d5410b577a
models: Extract zerver.models.onboarding_steps.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-12-16 22:08:44 -08:00
Anders Kaseorg
68d3b9f629
models: Extract zerver.models.realm_audit_logs.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-12-16 22:08:44 -08:00
Anders Kaseorg
c9c819e1d7
models: Extract zerver.models.scheduled_jobs.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-12-16 22:08:44 -08:00
Anders Kaseorg
73e68050bb
models: Extract zerver.models.presence.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-12-16 22:08:44 -08:00
Anders Kaseorg
9fb577337b
models: Extract zerver.models.user_activity.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-12-16 22:08:44 -08:00
Anders Kaseorg
cff0b78771
models: Move some functions to zerver.lib.attachments.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-12-16 22:08:44 -08:00
Anders Kaseorg
09d0abfe70
models: Extract zerver.models.drafts.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-12-16 22:08:44 -08:00
Anders Kaseorg
b15999c799
models: Extract zerver.models.messages.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-12-16 22:08:44 -08:00
Anders Kaseorg
bac027962f
models: Extract zerver.models.clients.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-12-16 22:08:44 -08:00
Anders Kaseorg
2394b37fa3
models: Extract zerver.models.muted_users.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-12-16 22:08:44 -08:00
Anders Kaseorg
ea2ee61b4c
models: Extract zerver.models.user_topics.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-12-16 22:08:44 -08:00
Anders Kaseorg
4aa2d76bea
models: Extract zerver.models.streams.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-12-16 22:08:44 -08:00
Anders Kaseorg
5391ec99d9
models: Extract zerver.models.push_notifications.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-12-16 22:08:44 -08:00
Anders Kaseorg
927d7a9a60
models: Extract zerver.models.prereg_users.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-12-16 22:08:44 -08:00
Anders Kaseorg
51f1dc257d
models: Extract zerver.models.recipients.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-12-16 22:08:44 -08:00
Anders Kaseorg
3c11fd9466
models: Move some functions to zerver.lib.display_recipient.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-12-16 22:08:44 -08:00
Anders Kaseorg
33610c8782
models: Extract zerver.models.realm_playgrounds.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-12-16 22:08:44 -08:00
Anders Kaseorg
21ab3858a7
models: Extract zerver.models.linkifiers.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-12-16 22:08:44 -08:00
Anders Kaseorg
67fb485797
models: Extract zerver.models.realm_emoji.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-12-16 22:08:44 -08:00
Anders Kaseorg
cd96193768
models: Extract zerver.models.realms.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-12-16 22:08:44 -08:00
Anders Kaseorg
7001a0dfc0
models: Extract zerver.models.groups.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-12-16 22:08:44 -08:00
Anders Kaseorg
45bb8d2580
models: Extract zerver.models.users.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-12-16 22:08:44 -08:00
Anders Kaseorg
37a9c4501f
models: Extract zerver.models.constants.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-12-16 22:08:44 -08:00
Anders Kaseorg
e601d0ae7c
models: Rename zerver/models.py to zerver/models/__init__.py.
...
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-12-16 22:08:44 -08:00
Alex Vandiver
f1597afb2b
send_email: Send emails to remote servers from BILLING_SUPPORT_EMAIL.
2023-12-15 13:15:27 -08:00
Karl Stolley
e44ba3b1f1
portico: Add new self-hosted plans.
...
Co-authored-by: Alya Abbott <alya@zulip.com>
2023-12-15 11:03:42 -08:00
Sahil Batra
03323b0124
push_notifications: Enforce max user count on self managed plan.
...
We do not support sending push notifications for realms having
more than 10 users on self managed plan.
2023-12-15 11:03:42 -08:00
Tim Abbott
10862451ef
billing: Refactor code to compute push status.
...
This moves the function which computes can_push and
expected_end_timestamp outside RemoteRealmBillingSession
because we might use this function for RemoteZulipServer
as well and also renames it.
2023-12-15 11:03:42 -08:00
Aman Agrawal
3aed22dcd0
gear_menu_popover: Enable `Plan management` in production.
2023-12-15 11:03:42 -08:00
Mateusz Mandera
fb5137f8b5
zilencer: Handle deleted realms nicely at server/analytics.
2023-12-15 09:18:26 -08:00
Alex Vandiver
8102519242
send_email: Remove `List-Unsubscribe-Post` from remote-server emails.
...
For remote servers, we cannot advertise `List-Unsubscribe=One-Click`,
which is specified in RFC 8058[^1] to mean that the `List-Unsubscribe`
URL supports a POST request with no arguments to unsubscribe. Because
we show an interstitial and confirmation page, as this is not just a
mailing list which is disabled if you click the link, it does not
support the mail system performing the unsubscribe for the user.
Remove the inaccurate header for remote servers.
[^1]: https://datatracker.ietf.org/doc/html/rfc8058
2023-12-15 09:12:25 -08:00
Alex Vandiver
0f2cc383f6
send_email: Support add_context for remote servers.
...
612f2c73d6
started passing add_context to
`send_custom_server_email`, but did not make it make use of it.
Also add the `hostname` as a built-in value, since that is most likely
the most useful property.
2023-12-15 08:37:02 -08:00
Tim Abbott
63e5712837
push_notifications: Improve logging when not contacting bouncer.
2023-12-15 08:15:36 -08:00
Mateusz Mandera
d351353126
zilencer: Fix server/register failing to check if server is deactivated.
...
A deactivated server shouldn't be updated like that - we want to return
an error.
2023-12-15 08:06:58 -08:00
Tim Abbott
53f40133eb
remote_server: Handle JsonableErrors and connection failures better.
...
This fixes the exception case on the initial
`/api/v1/remotes/server/analytics/status` case. Other exceptions from
`send_to_push_bouncer` are allowed to escape.
Co-authored-by: Alex Vandiver <alexmv@zulip.com>
2023-12-14 15:08:52 -08:00
Anders Kaseorg
b472d769d1
change_user_role: List role choices in --help output.
...
Fixes #28227 .
Signed-off-by: Anders Kaseorg <anders@zulip.com>
2023-12-14 15:06:18 -08:00