zulip/zerver/views
Anders Kaseorg 463929f349 urls: Migrate re_path routes to path.
Django treats path("<name>") like re_path(r"(?P<name>[^/]+)") and
path("<path:name>") like re_path(r"(?P<name>.+)").

This is more readable and consistent than the mix of slightly
different regexes we had before, and fixes various bugs:

• The r'apps/(.*)$' regex was missing a start anchor ^, so it
  incorrectly matched all URLs that included apps/ as a substring
  anywhere.
• The r'accounts/login/(google)/$' regex was missing a start anchor ^,
  so it incorrectly matched all URLs that ended with
  accounts/login/google/.
• The type annotation of zerver.views.realm_export.delete_realm_export
  takes export_id as an int, but it was previously passed as a string.
• The type annotation of zerver.views.users.avatar takes medium as a
  bool, but it was previously passed as a string.
• The [0-9A-Za-z]+ pattern for uidb64 was missing the - and _
  characters that can validly be part of a base64url encoded
  string (although I think the id is actually a decimal integer here,
  in which case only 012345ADEIMNOQTUYcgjkwxyz are present in its
  base64url encoding).

Signed-off-by: Anders Kaseorg <anders@zulip.com>
2020-09-12 14:29:26 -07:00
..
development docs: Update many references to Casper. 2020-08-30 17:16:02 -07:00
__init__.py
alert_words.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
archive.py topic: Rename get_topic_history_for_web_public_stream. 2020-08-25 17:01:12 -07:00
attachments.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
auth.py python: Use standard secrets module to generate random tokens. 2020-09-09 15:52:57 -07:00
camo.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
compatibility.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
custom_profile_fields.py python: Replace ujson with orjson. 2020-08-11 10:55:12 -07:00
digest.py python: Prefer kwargs form of dict.update. 2020-09-03 17:51:09 -07:00
documentation.py help: Stop collapsing sidebar sections. 2020-07-28 16:28:58 -07:00
drafts.py drafts: Use strings as dict keys. 2020-08-07 10:53:06 -07:00
email_mirror.py email-mirror-postfix: Handle 8-bit messages correctly. 2020-06-14 20:24:06 -07:00
events_register.py events_register_backend: Validate client_capabilities type correctly. 2020-06-20 22:29:15 -07:00
home.py python: Use standard secrets module to generate random tokens. 2020-09-09 15:52:57 -07:00
hotspots.py python: Convert percent formatting to .format for translated strings. 2020-06-15 16:24:46 -07:00
invite.py invite: Add option to invite user as an organization owner. 2020-06-20 23:04:59 -07:00
message_edit.py links: Flatten the set into a list before serializing into the queue. 2020-08-12 11:42:24 -07:00
message_fetch.py exceptions: Raise InvalidSubdomainError when realm is invalid. 2020-09-03 10:45:14 -07:00
message_flags.py views: Extract message_flags.py for flags views. 2020-06-22 15:08:34 -07:00
message_send.py docs: Document local echo paramters for sending messages. 2020-06-25 14:44:16 -07:00
muting.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
portico.py urls: Migrate re_path routes to path. 2020-09-12 14:29:26 -07:00
presence.py python: Convert percent formatting to .format for translated strings. 2020-06-15 16:24:46 -07:00
push_notifications.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
reactions.py emoji: Switch to `user_profile.realm` for cross-realm reactions. 2020-07-24 13:11:27 -07:00
realm.py audit_log: Log RealmAuditLog for realm notification properties. 2020-07-24 11:51:47 -07:00
realm_domains.py audit_log: Log RealmAuditLog in do_set_realm_property. 2020-07-06 17:38:19 -07:00
realm_emoji.py python: Convert percent formatting to .format for translated strings. 2020-06-15 16:24:46 -07:00
realm_export.py python: Replace ujson with orjson. 2020-08-11 10:55:12 -07:00
realm_filters.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
realm_icon.py docs: Fix spelling errors caught by codespell. 2020-08-11 10:23:06 -07:00
realm_logo.py docs: Fix spelling errors caught by codespell. 2020-08-11 10:23:06 -07:00
registration.py python: Prefer kwargs form of dict.update. 2020-09-03 17:51:09 -07:00
report.py report: Allow anonymous queries to report (un)narrow times. 2020-09-11 16:57:27 -07:00
storage.py update_storage: Validate storage type correctly. 2020-06-20 22:29:15 -07:00
streams.py topic_history: Allow anonymous access in web-public streams. 2020-09-04 10:17:56 -07:00
submessage.py python: Replace ujson with orjson. 2020-08-11 10:55:12 -07:00
thumbnail.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
tutorial.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
typing.py python: Sort imports with isort. 2020-06-11 16:45:32 -07:00
unsubscribe.py python: Prefer kwargs form of dict.update. 2020-09-03 17:51:09 -07:00
upload.py python: Convert percent formatting to .format for translated strings. 2020-06-15 16:24:46 -07:00
user_groups.py user_groups: Use 'path_only=True' in REQ for 'user_group_id' in views. 2020-08-26 15:40:19 -07:00
user_settings.py audit_log: Record RealmAuditLog in do_change_notification_settings. 2020-07-24 12:04:40 -07:00
users.py api: Return 'user_id' in 'POST /users' response. 2020-08-11 16:40:12 -07:00
video_calls.py python: Use standard secrets module to generate random tokens. 2020-09-09 15:52:57 -07:00
zephyr.py python: Replace ujson with orjson. 2020-08-11 10:55:12 -07:00