zulip/zerver/lib
Sahil Batra 6ac9386a29 models: Add related_name to UserGroup and UserGroupMembership fields.
This commit adds related_name parameter to UserGroup.direct_members
such that we can use direct_groups instead of the default
usergroupmembership_set for getting all the groups of which the
user is direct member.

This commit also sets related_name of UserGroupMembership.user_group
and UserGroupMembership.user_profile to "+" which means that we will
not be having backward relations for these. This change is correct
since we would need to use the recursive queries to get all the
groups of a user and all the members of a group after we add the
subgroups concept in next commit. This leads to us using direct_members
field of UserGroup instead of usergroupmembership_set in mention code,
but this will soon be replaced with the recursive query function to
include subgroup's members as well.

Extracted this commit from #19866.

Authored-by : Anders Kaseorg <anders@zulip.com>
2021-10-13 10:08:06 -07:00
..
markdown user docs: Document public vs. private stream creation permissions. 2021-10-06 17:33:19 -07:00
url_preview outgoing_http: Use OutgoingSession subclasses in more places. 2021-09-01 05:34:13 -07:00
webhooks request: Refactor ZulipRequestNotes to RequestNotes. 2021-09-03 08:48:45 -07:00
__init__.py
actions.py update_realm: Allow demo orgs to be converted to regular orgs. 2021-10-07 14:43:03 -07:00
addressee.py python: Convert deprecated Django ugettext alias to gettext. 2021-04-15 18:01:34 -07:00
alert_words.py
attachments.py python: Fix mypy no_implicit_reexport errors. 2021-07-16 14:02:31 -07:00
avatar.py
avatar_hash.py typing: Improve typing with assertions. 2021-08-20 05:54:19 -07:00
bot_config.py
bot_lib.py python: Remove locally dead code. 2021-08-19 01:51:37 -07:00
bot_storage.py
bulk_create.py typing: Fix argument type for models in function signatures. 2021-08-20 05:54:19 -07:00
cache.py python: Remove default "utf8" argument for encode(), decode(). 2021-08-02 15:53:52 -07:00
cache_helpers.py typing: Use accurate type hints for dictionaries. 2021-08-20 06:02:28 -07:00
camo.py python: Convert "".format to Python 3.6 f-strings. 2021-08-02 15:53:52 -07:00
ccache.py python: Remove default "utf8" argument for encode(), decode(). 2021-08-02 15:53:52 -07:00
compatibility.py compatibility: Shift functions to new module. 2021-06-05 07:33:25 -07:00
context_managers.py
create_user.py settings: Remove realm-level default of enable_login_emails setting. 2021-09-28 12:41:09 -07:00
data_types.py
db.py
debug.py
dev_ldap_directory.py
digest.py
display_recipient.py
domains.py python: Convert deprecated Django ugettext alias to gettext. 2021-04-15 18:01:34 -07:00
drafts.py drafts: Send events to clients when drafts change. 2021-07-30 10:41:52 -07:00
email_mirror.py email_mirror: Downgrade a couple ZulipEmailForwardErrors. 2021-08-31 16:37:54 -07:00
email_mirror_helpers.py email_mirror: Move ZulipEmailForwardUserError into email_mirror_helpers. 2021-08-31 16:37:54 -07:00
email_notifications.py user_groups: Rename get_user_group_members to get_user_group_direct_members. 2021-10-12 13:57:26 -07:00
email_validation.py python: Convert deprecated Django ugettext alias to gettext. 2021-04-15 18:01:34 -07:00
emoji.py emoji: Add backend changes to support still image for animated emojis. 2021-09-12 07:13:04 +00:00
error_notify.py bots: Assume STAFF_SUBDOMAIN to be the realm where ERROR_BOT lives. 2021-07-27 15:51:59 -07:00
event_schema.py events: Fix updating user email on changing email_address_visibility. 2021-10-04 17:24:31 -07:00
events.py apply_event: Do not include new user settings in the top level. 2021-10-07 16:39:51 -07:00
exceptions.py exceptions: Remove unused to_json method of JsonableError. 2021-08-19 01:51:37 -07:00
export.py models: Use default db table name for UserTopic. 2021-09-17 12:14:28 -07:00
external_accounts.py docs: Fix capitalization mistakes. 2021-05-10 09:57:26 -07:00
fix_unreads.py models: Use default db table name for UserTopic. 2021-09-17 12:14:28 -07:00
generate_test_data.py populate_db: Generate resolved topics for testing. 2021-08-03 16:42:09 -07:00
github.py fetch-contributor-data: Use builtin backoff. 2021-09-01 05:34:13 -07:00
home.py request: Refactor ZulipRequestNotes to RequestNotes. 2021-09-03 08:48:45 -07:00
hotspots.py docs: Fix spelling errors caught by codespell. 2021-04-26 09:31:08 -07:00
html_diff.py html_diff: Remove unused highlight_with_class function. 2021-08-19 01:53:47 -07:00
html_to_text.py
i18n.py request: Refactor ZulipRequestNotes to RequestNotes. 2021-09-03 08:48:45 -07:00
import_realm.py user_groups: Rename members field of UserGroup to direct_members. 2021-10-12 13:57:53 -07:00
initial_password.py python: Remove default "utf8" argument for encode(), decode(). 2021-08-02 15:53:52 -07:00
integrations.py integrations: Add SonarQube webhook integration. 2021-08-05 09:53:42 -07:00
logging_util.py request: Refactor ZulipRequestNotes to RequestNotes. 2021-09-03 08:48:45 -07:00
management.py management: Fix typing for management scripts. 2021-08-20 05:54:18 -07:00
mdiff.py
mention.py models: Add related_name to UserGroup and UserGroupMembership fields. 2021-10-13 10:08:06 -07:00
message.py message: Make zero invalid value for message_content_delete_limit_seconds. 2021-09-30 14:45:39 -07:00
migrate.py typing: Replace CursorObj by CursorWrapper. 2021-08-20 05:54:19 -07:00
mobile_auth_otp.py
name_restrictions.py auth: Ensure a realm can't be created on SOCIAL_AUTH_SUBDOMAIN. 2021-09-10 10:47:15 -07:00
narrow.py spectators: Rename is_web_public_compatible functions. 2021-09-06 09:00:16 -07:00
notes.py request: Extract generic BaseNotes from RequestNotes. 2021-09-03 08:47:51 -07:00
notification_data.py notifications: Fix unnecessary wildcard mention notifications. 2021-08-13 09:48:18 -07:00
onboarding.py help: Rename about-streams-and-topics to streams-and-topics. 2021-09-15 09:48:36 -07:00
outgoing_http.py outgoing_http: Give an easy way to configure retries. 2021-09-01 05:34:13 -07:00
outgoing_webhook.py outgoing webhooks: Fix inconsistencies with Slack's API. 2021-09-23 11:19:20 -07:00
presence.py typing: Fix function signatures. 2021-08-20 05:54:19 -07:00
profile.py
push_notifications.py push_notifs: Log the number of devices notification was sent to. 2021-09-29 15:50:06 -07:00
pysa.py
queue.py typing: Improve typing with assertions. 2021-08-20 05:54:19 -07:00
rate_limiter.py request: Refactor ZulipRequestNotes to RequestNotes. 2021-09-03 08:48:45 -07:00
realm_description.py markdown: Refactor out additional properties added to Message. 2021-06-24 18:14:53 -07:00
realm_icon.py
realm_logo.py
redis_utils.py
remote_server.py push_notifs: Log the number of devices notification was sent to. 2021-09-29 15:50:06 -07:00
request.py request: Refactor ZulipRequestNotes to RequestNotes. 2021-09-03 08:48:45 -07:00
response.py json_error: Completely remove json_error. 2021-07-06 15:34:33 -07:00
rest.py request: Refactor ZulipRequestNotes to RequestNotes. 2021-09-03 08:48:45 -07:00
retention.py typing: Fix argument type for models in function signatures. 2021-08-20 05:54:19 -07:00
send_email.py send_email: Log IP address sources (and more realms) of send_email. 2021-08-31 16:36:42 -07:00
server_initialization.py migrations: Fix system bot realm not having a name. 2021-09-09 09:50:43 -07:00
sessions.py sessions: Use SessionBase instead of Session. 2021-07-24 09:54:21 -07:00
soft_deactivation.py typing: Use assertions for function arguments. 2021-07-26 14:48:45 -07:00
sqlalchemy_utils.py python: Upgrade SQLAlchemy from 1.3.24 to 1.4.23. 2021-08-31 06:47:39 -07:00
storage.py
stream_subscription.py bulk_access_messages: Bulk fetch Subscription details. 2021-05-12 16:23:22 -07:00
stream_topic.py user_topic: Filter on visibility_policy in muted_topic code. 2021-09-17 12:14:28 -07:00
streams.py streams: Restrict creating web public streams based on new setting. 2021-10-05 09:56:00 -07:00
subdomains.py subdomains: Extend "static" to include resources hosted on S3. 2021-06-08 15:28:10 -07:00
templates.py api docs: Replace most markdown files with a common template. 2021-06-24 10:42:08 -07:00
test_classes.py auth: Add login buttons for web public access. 2021-10-05 16:30:40 -07:00
test_console_output.py python: Remove locally dead code. 2021-08-19 01:51:37 -07:00
test_data.source.txt Rename default branch to ‘main’. 2021-09-06 12:56:35 -07:00
test_fixtures.py puppeteer_tests: Reset test environment after each run. 2021-03-25 12:58:36 -07:00
test_helpers.py help_docs: Reorganize notification docs under three umbrella pages. 2021-09-22 16:46:46 -07:00
test_runner.py typing: Fix function signatures. 2021-08-20 05:54:19 -07:00
tex.py
thumbnail.py thumbnail: Remove unused is_camo_url parameter. 2021-08-19 01:51:37 -07:00
timeout.py
timestamp.py
timezone.py
topic.py python: Upgrade SQLAlchemy from 1.3.24 to 1.4.23. 2021-08-31 06:47:39 -07:00
topic_mutes.py user_topic: Filter on visibility_policy in muted_topic code. 2021-09-17 12:14:28 -07:00
transfer.py
type_debug.py
types.py types: Fix declared type of custom profile field values. 2021-09-22 16:22:46 -07:00
unminify.py unminify: Fix lookup if source map does not exist in disk. 2021-03-16 14:46:18 -07:00
upload.py emoji: Add backend changes to support still image for animated emojis. 2021-09-12 07:13:04 +00:00
url_encoding.py
user_agent.py
user_groups.py models: Add related_name to UserGroup and UserGroupMembership fields. 2021-10-13 10:08:06 -07:00
user_mutes.py typing: Use assertions for function arguments. 2021-07-26 14:48:45 -07:00
user_status.py status: Extract format_user_status helper. 2021-09-02 16:50:25 -07:00
users.py types: Fix declared type of custom profile field values. 2021-09-22 16:22:46 -07:00
utils.py utils: Remove unused split_by function. 2021-08-19 01:51:37 -07:00
validator.py Revert "validator: Add generic check_or." 2021-09-28 09:28:56 -07:00
widget.py poll widget: Add server validation. 2021-06-14 17:46:16 -07:00
zcommand.py settings: Refactor callers of do_change_user_setting to pass acting_user. 2021-09-08 11:04:44 -07:00
zephyr.py