zulip/zerver/views
Harshit Bansal b553507412 subscriptions: Migrate notification setting defaults model.
This commit migrates the Subscription's notification fields from a
BooleanField to a NullBooleanField where a value of None means to
inherit the value from user's profile.

Also includes a migrations to set the corresponding settings to None
if they match the user profile's values. This migration helps us in
getting rid of the weird "Apply to all" widget that we offered on
subscription settings page.

The mobile apps can't handle None appearing as the stream-level
notification settings, so for backwards-compatibility we arrange to
only send True/False to the mobile apps by applying those defaults
server-side.  We introduce a notification_settings_null value within a
client_capabilities structure that newer versions of the mobile apps
can use to request the new model.

This mobile compatibility code is pretty effectively tested by the
existing test_events tests for the subscriptions subsystem.
2019-05-08 17:45:10 -07:00
..
development email_log: Fix buggy use of get_realm_stream. 2019-03-18 10:59:30 -07:00
__init__.py views: Rename __init__.py to zerver.views.registration. 2017-01-08 16:21:15 -08:00
alert_words.py alert words: Return the updated list when adding/removing words. 2018-07-13 01:01:00 +05:30
archive.py views: Remove unused imports. 2019-02-02 17:23:43 -08:00
attachments.py uploads: Show used upload space in attachments UI. 2019-03-07 20:18:00 -08:00
auth.py get_realm: raise DoesNotExist instead of returning None. 2019-05-06 21:58:16 -07:00
camo.py camo: Add endpoint to handle camo requests. 2019-01-04 10:27:04 -08:00
compatibility.py views: Remove unused imports. 2019-02-02 17:23:43 -08:00
custom_profile_fields.py views: Remove unused imports. 2019-02-02 17:23:43 -08:00
digest.py digest: Fix the styling of /digest page. 2019-01-07 13:09:29 -08:00
documentation.py webhooks: Add Buildbot integration. 2019-04-27 15:19:16 -07:00
email_mirror.py mypy: Use Python 3 type syntax in zerver/views/email_mirror.py. 2017-12-28 07:26:44 -05:00
events_register.py subscriptions: Migrate notification setting defaults model. 2019-05-08 17:45:10 -07:00
home.py subscriptions: Migrate notification setting defaults model. 2019-05-08 17:45:10 -07:00
hotspots.py views: Fix imports of REQ/has_request_variables from the wrong place. 2017-10-27 15:07:31 -07:00
invite.py lint: Fix calls to _() on computed strings. 2019-04-23 15:23:03 -07:00
messages.py get_realm: raise DoesNotExist instead of returning None. 2019-05-06 21:58:16 -07:00
muting.py views: Remove unused imports. 2019-02-02 17:23:43 -08:00
pointer.py views: Remove unused imports. 2019-02-02 17:23:43 -08:00
presence.py lint: Fix calls to _() on computed strings. 2019-04-23 15:23:03 -07:00
public_export.py public_export: Add backend API endpoint for triggering export. 2019-04-26 17:24:29 -07:00
push_notifications.py views: Remove unused imports. 2019-02-02 17:23:43 -08:00
reactions.py views: Remove unused imports. 2019-02-02 17:23:43 -08:00
realm.py audit log: Log acting_user for do_deactivate_realm. 2019-05-08 15:09:48 -07:00
realm_domains.py lint: Fix calls to _() on computed strings. 2019-04-23 15:23:03 -07:00
realm_emoji.py lint: Fix calls to _() on computed strings. 2019-04-23 15:23:03 -07:00
realm_filters.py views: Remove unused imports. 2019-02-02 17:23:43 -08:00
realm_icon.py zerver/views: Use python 3 syntax for typing. 2017-10-26 21:58:22 -07:00
realm_logo.py realm_logo: Update `upload_logo` views to return nothing. 2019-03-07 12:12:00 -08:00
registration.py get_realm: raise DoesNotExist instead of returning None. 2019-05-06 21:58:16 -07:00
report.py views: Remove unused imports. 2019-02-02 17:23:43 -08:00
storage.py views: Remove unused imports. 2019-02-02 17:23:43 -08:00
streams.py settings: Create an explicit invite_to_stream_policy setting. 2019-04-29 17:11:28 -07:00
submessage.py views: Remove unused imports. 2019-02-02 17:23:43 -08:00
thumbnail.py views: Remove unused imports. 2019-02-02 17:23:43 -08:00
tutorial.py mypy: Use Python 3 syntax for typing in views/tutorial.py. 2017-12-08 18:34:26 -08:00
typing.py views: Remove unused imports. 2019-02-02 17:23:43 -08:00
unsubscribe.py emails: Move clear_scheduled_*emails to send_email.py. 2019-03-15 11:02:17 -07:00
upload.py uploads: Revert "Url encoded name of the file should be an ascii." 2019-04-22 22:28:39 -07:00
user_groups.py lint: Fix calls to _() on computed strings. 2019-04-23 15:23:03 -07:00
user_settings.py realm: Add setting to disable avatar changes. 2019-05-03 12:52:43 -07:00
users.py users: Add timezone field to Get all users API endpoint. 2019-04-04 13:29:14 -07:00
video_calls.py compose: Add support for using Zoom as the video chat provider. 2019-01-07 10:00:02 -08:00
zephyr.py views: Remove unused imports. 2019-02-02 17:23:43 -08:00