zulip/zerver
Aman Agrawal 2bc3924672 move_topic_to_stream: Allow moving to/between/from private streams.
Fixes #16284.

Most of the work for this was done when we implemented correct
behavior for guest users, since they treat public streams like private
streams anyway.

The general method involves moving the messages to the new stream with
special care of UserMessage.

We delete UserMessages for subs who are losing access to the message.
For private streams with protected history, we also create UserMessage
elements for users who are not present in the old stream, since that's
important for those users to access the moved messages.
2020-09-14 15:00:55 -07:00
..
data_import python: Use standard secrets module to generate random tokens. 2020-09-09 15:52:57 -07:00
lib move_topic_to_stream: Allow moving to/between/from private streams. 2020-09-14 15:00:55 -07:00
management python: Pre-fix a few spots for better Black formatting. 2020-09-03 17:51:09 -07:00
migrations migrations: Fix 0301 to replace a Python loop with SQL. 2020-09-13 20:59:09 -07:00
openapi openapi: Remove ‘example’ $ref siblings. 2020-09-12 11:57:13 -07:00
templatetags python: Replace list literal concatenation with * unpacking. 2020-09-02 11:15:41 -07:00
tests move_topic_to_stream: Allow moving to/between/from private streams. 2020-09-14 15:00:55 -07:00
tornado python: Pre-fix a few spots for better Black formatting. 2020-09-03 17:51:09 -07:00
views move_topic_to_stream: Allow moving to/between/from private streams. 2020-09-14 15:00:55 -07:00
webhooks webhooks/gitlab: Add fixture for MR opened with multiple assignees. 2020-09-13 20:54:14 -07:00
worker queue: Extract get_remaining_queue_size method. 2020-09-11 15:51:07 -07:00
__init__.py
apps.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
context_processors.py exceptions: Raise InvalidSubdomainError when realm is invalid. 2020-09-03 10:45:14 -07:00
decorator.py webhooks: Move the extra logging information into a formatter. 2020-09-11 16:43:29 -07:00
filters.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
forms.py middleware: Make HostDomain into a process_request, not process_response. 2020-08-11 10:37:55 -07:00
logging_handlers.py models: Force the translated role into a translated string. 2020-09-03 17:26:54 -07:00
middleware.py request: Maintain a thread-local of the current request. 2020-09-11 16:43:29 -07:00
models.py migrations: Add case-insensitive unique index on realm and stream name. 2020-09-13 15:36:43 -07:00
signals.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00