zulip/zerver/lib
Sahil Batra eec80a4a5a message: Fix code to check group mention permission.
This commits fixes the code which checks group mention permission
to handle anonymous user groups correctly. Basically we were
not checking whether the UserGroup is linked to a NamedUserGroup
and directly accessing named_user_group which results in an
error.

We also update the error messages to include the group name
which has permission to mention the groups since now there
might be a comnbination of groups and users who has permission
to mention the group.

This commit also adds tests to check sending and editing messages
when can_mention_group is set to a anonymous user group.
2024-05-20 14:43:07 -07:00
..
markdown typos: Fix typos caught by typos. 2024-05-20 13:55:00 -07:00
upload models: Replace realm.uri with realm.url. 2024-05-08 11:12:43 -07:00
url_preview ruff: Fix RUF022 `__all__` is not sorted. 2024-03-01 09:30:04 -08:00
webhooks mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
__init__.py
addressee.py i18n: Update translated errors for stream to channel rename. 2024-04-24 14:35:05 -07:00
alert_words.py models: Extract zerver.models.alert_words. 2023-12-16 22:08:44 -08:00
async_utils.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
attachments.py models: Move some functions to zerver.lib.attachments. 2023-12-16 22:08:44 -08:00
avatar.py models: Replace realm.uri with realm.url. 2024-05-08 11:12:43 -07:00
avatar_hash.py
bot_config.py
bot_lib.py message: Add recipient_users parameter to internal_send_huddle_message. 2024-04-03 12:28:05 -07:00
bot_storage.py ruff: Fix UP032 Use f-string instead of `format` call. 2024-03-21 08:59:17 -07:00
bulk_create.py streams: Set creator for some initial streams in populate_db. 2024-05-15 11:21:46 -07:00
cache.py documentation: Move OpenGraph description updating out of middleware. 2024-04-16 10:41:45 -07:00
cache_helpers.py caches: Only take the realm_id, not the Realm, as a cache key function. 2024-03-04 16:35:57 -08:00
camo.py
ccache.py requirements: Upgrade Python requirements. 2024-01-29 10:41:54 -08:00
compatibility.py python: Consistently use from…import for datetime. 2023-12-05 12:01:18 -08:00
context_managers.py context_managers: Open file in write mode in lockfile_nonblocking. 2024-03-06 10:35:02 -08:00
create_user.py onboarding_steps: Rename 'hotspots' files to 'onboarding_steps'. 2024-05-10 12:30:22 -07:00
data_types.py
db.py db: Split reset_queries into a new module zerver.lib.db_connections. 2024-04-17 16:49:03 -07:00
db_connections.py db: Split reset_queries into a new module zerver.lib.db_connections. 2024-04-17 16:49:03 -07:00
debug.py
default_streams.py
dev_ldap_directory.py python: Reformat with Ruff formatter. 2024-02-29 17:07:16 -08:00
digest.py email-digest: Update translated strings for stream to channel rename. 2024-04-24 14:35:05 -07:00
display_recipient.py refactor: Replace HUDDLE with DIRECT_MESSAGE_GROUP. 2024-03-21 16:39:33 -07:00
domains.py python: Mark regexes as raw strings. 2024-04-26 12:30:31 -07:00
drafts.py i18n: Update translated errors for stream to channel rename. 2024-04-24 14:35:05 -07:00
email_mirror.py settings: Use named_user_group field to access name. 2024-04-26 17:03:09 -07:00
email_mirror_helpers.py python: Mark regexes as raw strings. 2024-04-26 12:30:31 -07:00
email_notifications.py models: Replace realm.uri with realm.url. 2024-05-08 11:12:43 -07:00
email_validation.py email_validation: Merge two implementations of a disposable-email check. 2024-02-27 10:19:23 -08:00
emoji.py composebox_typeahead: Convert module to typescript. 2024-05-16 14:53:26 -07:00
emoji_utils.py
event_schema.py onboarding_steps: Remove hotspot as an onboarding_step. 2024-05-10 12:30:22 -07:00
events.py onboarding_steps: Rename 'hotspots' files to 'onboarding_steps'. 2024-05-10 12:30:22 -07:00
exceptions.py groups: Pass old setting value for can_mention_group. 2024-05-14 12:17:15 -07:00
export.py export: Create REALM_EXPORTED audit log for exports via shell. 2024-05-08 16:16:37 -07:00
external_accounts.py python: Reformat with Ruff formatter. 2024-02-29 17:07:16 -08:00
fix_unreads.py
generate_test_data.py requirements: Upgrade Python requirements. 2024-01-29 10:41:54 -08:00
github.py
home.py remote_billing: Make "plan management" always available. 2024-03-05 11:53:51 -08:00
html_diff.py
html_to_text.py documentation: Move OpenGraph description updating out of middleware. 2024-04-16 10:41:45 -07:00
i18n.py i18n: Fix default language for users created via API/LDAP. 2023-10-01 21:10:13 +02:00
import_realm.py typos: Fix typos caught by mwic. 2024-05-20 13:55:00 -07:00
initial_password.py
integrations.py integrations: Create incoming webhook for GitHub Sponsors. 2024-02-07 09:52:03 -08:00
invites.py invites: Make notify_invites_changed transaction-safe. 2024-05-02 14:23:04 -07:00
logging_util.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
management.py management: Provide a common lockfile dir, and a decorator for it. 2024-04-24 14:40:28 -07:00
mdiff.py
mention.py mention: Use NamedUserGroup objects in mention code. 2024-04-26 17:03:09 -07:00
message.py message: Fix code to check group mention permission. 2024-05-20 14:43:07 -07:00
message_cache.py python: Avoid relying on Collection supertype of QuerySet. 2024-04-16 23:02:16 -07:00
migrate.py migration: Make 'rename_indexes_constraints' a lib function. 2023-12-06 18:19:20 -08:00
mobile_auth_otp.py
muted_users.py python: Consistently use from…import for datetime. 2023-12-05 12:01:18 -08:00
name_restrictions.py name_restrictions: Reserve additional subdomains. 2024-02-07 12:10:00 -08:00
narrow.py search: Include history for is:resolved queries. 2024-05-20 14:37:08 -07:00
narrow_helpers.py narrow: Move python-only implemenation into its own file. 2024-04-16 09:48:11 -07:00
narrow_predicate.py narrow: Move python-only implemenation into its own file. 2024-04-16 09:48:11 -07:00
notes.py requirements: Upgrade Python requirements. 2024-01-29 10:41:54 -08:00
notification_data.py mention: Use NamedUserGroup objects in mention code. 2024-04-26 17:03:09 -07:00
onboarding.py zulip_updates: Send an introductory message before the first update. 2024-05-15 11:19:03 -07:00
onboarding_steps.py onboarding_steps: Rename 'hotspots' files to 'onboarding_steps'. 2024-05-10 12:30:22 -07:00
outgoing_http.py outgoing_http: Support fractional-second timeouts. 2024-03-15 15:34:12 -07:00
outgoing_webhook.py message: Split MessageDict and friends into its own file. 2024-02-14 12:27:03 -08:00
partial.py partial: Replace returns plugin with an annotation. 2024-04-29 17:14:41 -07:00
per_request_cache.py
presence.py get_presence_dicts_for_rows: Remove dead code for mobile_user_ids. 2024-04-29 17:07:18 -07:00
profile.py
push_notifications.py realm: Add an alias `realm_url` and deprecate `realm_uri` in the API. 2024-05-08 17:39:15 -07:00
pysa.py
query_helpers.py models: Move query_for_ids to zerver.lib.query_helpers. 2023-12-16 22:08:44 -08:00
queue.py requirements: Upgrade Python requirements. 2024-01-29 10:41:54 -08:00
rate_limiter.py rate_limiter: Extract KEY_PREFIX to redis_utils. 2024-04-19 10:25:34 -07:00
realm_description.py
realm_icon.py
realm_logo.py
recipient_parsing.py i18n: Update translated errors for stream to channel rename. 2024-04-24 14:35:05 -07:00
recipient_users.py narrow: Do not create huddles when fetching messages. 2024-04-16 09:57:55 -07:00
redis_utils.py rate_limiter: Extract KEY_PREFIX to redis_utils. 2024-04-19 10:25:34 -07:00
remote_server.py models: Replace realm.uri with realm.url. 2024-05-08 11:12:43 -07:00
request.py documentation: Move OpenGraph description updating out of middleware. 2024-04-16 10:41:45 -07:00
response.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
rest.py python: Reformat with Ruff formatter. 2024-02-29 17:07:16 -08:00
retention.py retention: Add .restored_timestamp to ArchiveTransaction. 2024-05-09 10:54:44 -07:00
safe_session_cached_db.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
scheduled_messages.py models: Extract zerver.models.scheduled_jobs. 2023-12-16 22:08:44 -08:00
scim.py typos: Fix typos caught by mwic. 2024-05-20 13:55:00 -07:00
scim_filter.py
send_email.py models: Replace realm.uri with realm.url. 2024-05-08 11:12:43 -07:00
server_initialization.py backends: Implementation of restricting certain backends by plan. 2024-03-05 11:48:58 -08:00
sessions.py models: Extract zerver.models.users. 2023-12-16 22:08:44 -08:00
singleton_bmemcached.py
soft_deactivation.py soft_reactivate: Soft reactivate if group mention has < 12 members. 2024-04-24 17:40:37 -07:00
sounds.py
sqlalchemy_utils.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
storage.py mypy: Enable new error explicit-override. 2023-10-12 12:28:41 -07:00
stream_color.py
stream_subscription.py python: Avoid relying on Collection supertype of QuerySet. 2024-04-16 23:02:16 -07:00
stream_topic.py
stream_traffic.py python: Consistently use from…import for datetime. 2023-12-05 12:01:18 -08:00
streams.py message_send: Update do_send_messages codepath to send event on commit. 2024-05-19 23:18:43 -07:00
string_validation.py i18n: Update translated errors for stream to channel rename. 2024-04-24 14:35:05 -07:00
subdomains.py python: Consistently use from…import for urllib.parse. 2023-12-05 13:03:07 -08:00
subscription_info.py i18n: Update translated errors for stream to channel rename. 2024-04-24 14:35:05 -07:00
templates.py
test_classes.py message_send: Update do_send_messages codepath to send event on commit. 2024-05-19 23:18:43 -07:00
test_console_output.py test_console_output: Mark regexes as raw strings. 2024-04-16 14:51:39 -07:00
test_data.source.txt
test_fixtures.py
test_helpers.py typos: Fix typos caught by mwic. 2024-05-20 13:55:00 -07:00
test_runner.py partial: Replace returns plugin with an annotation. 2024-04-29 17:14:41 -07:00
tex.py katex: Replace subprocess call with minimal external service. 2024-03-15 15:34:12 -07:00
thumbnail.py
timeout.py timeout: Rename to unsafe_timeout. 2024-04-18 11:50:38 -07:00
timestamp.py python: Consistently use from…import for datetime. 2023-12-05 12:01:18 -08:00
timezone.py ruff: Fix UP033 Use `@functools.cache`. 2024-04-01 18:32:52 -07:00
topic.py topic: Move sqlalchemy methods into their own file. 2024-04-16 09:48:11 -07:00
topic_sqlalchemy.py topic: Move sqlalchemy methods into their own file. 2024-04-16 09:48:11 -07:00
transfer.py
typed_endpoint.py push-notifications: Migrate to typed endpoint. 2024-04-21 11:09:32 -07:00
typed_endpoint_validators.py zilencer: Migrate to `@typed_endpoint`. 2024-04-17 13:45:54 -07:00
types.py streams: Add creator field. 2024-04-20 19:03:43 -07:00
url_encoding.py models: Replace realm.uri with realm.url. 2024-05-08 11:12:43 -07:00
url_redirects.py help: Move 'channels-and-topics' to 'introduction-to-topics'. 2024-05-07 16:51:48 -07:00
user_agent.py python: Mark regexes as raw strings. 2024-04-26 12:30:31 -07:00
user_counts.py
user_groups.py user_groups: Rename are_both_setting_values_equal function. 2024-05-16 12:58:20 -07:00
user_message.py user_message: Use INSERT ... ON CONFLICT for historical UM creation. 2024-03-26 10:52:37 -07:00
user_status.py users: Update presence and user status code to support restricted users. 2023-11-21 23:58:45 -08:00
user_topics.py message_send: Update do_send_messages codepath to send event on commit. 2024-05-19 23:18:43 -07:00
users.py settings: Use named_user_group field to access name. 2024-04-26 17:03:09 -07:00
utils.py events: Fix realm_upload_quota_mib value to be in MiB. 2024-04-15 15:08:56 -07:00
validator.py support: Set discounted price instead percentage for customers. 2024-05-16 02:18:43 -07:00
widget.py todo: Require space after colon to separate task title from description. 2024-04-30 12:36:42 -07:00
zcommand.py
zephyr.py
zulip_update_announcements.py zulip_updates: Send an introductory message before the first update. 2024-05-15 11:19:03 -07:00