zulip/zerver/views
Arpith Siromoney 001847ac5b Add backend support for emoji reactions.
This commit adds the following:

1. A reaction model that consists of a user, a message and an emoji that
are unique together (a user cannot react to a particular message more
than once with the same emoji)
2. A reaction event that looks like:
    {
        'type': 'reaction',
	'op': 'add',
	'message_id': 3,
	'emoji_name': 'doge',
	'user': {
	    'user_id': 1,
            'email': 'hamlet@zulip.com',
            'full_name': 'King Hamlet'
	}
    }
3. A new API endpoint, /reactions, that accepts POST requests to add a
reaction to a message
4. A migration to add the new model to the database
5. Tests that check that
   (a) Invalid requests cannot be made
   (b) The reaction event body contains all the info
   (c) The reaction event is sent to the appropriate users
   (d) Reacting more than once fails

It is still missing important features like removing emoji and
fetching them alongside messages.
2016-11-26 18:10:21 -08:00
..
webhooks mypy: Change six.text_type to typing.Text for a few files. 2016-11-25 13:55:38 -08:00
__init__.py subdomains: Add option to make subdomains homepage not a login form. 2016-11-15 19:05:06 -08:00
alert_words.py Remove rest_dispatch hack and optimize imports. 2016-06-24 16:11:03 -07:00
auth.py Django 1.10: Sign google oauth requests using csrf token. 2016-11-10 16:20:03 +05:00
events_register.py views: split events_register.py from main views file. 2016-10-11 21:27:06 -07:00
integrations.py docs: Automate creation of Hubot documentation lozenges. 2016-11-26 15:27:54 -08:00
invite.py lint: Fix E703 pep8 violations. 2016-11-09 15:18:35 -08:00
messages.py models.py: Rename split_email_to_domain to email_to_domain. 2016-11-11 15:26:51 -08:00
pointer.py Remove extra new lines at the ends of Zulip authoried files. 2016-09-26 21:05:24 -07:00
presence.py Remove several instances of datetime.datetime.utcnow(). 2016-11-07 20:13:53 -08:00
push_notifications.py push notifications: Fix very minor quirk when adding tokens. 2016-09-15 06:40:18 -07:00
reactions.py Add backend support for emoji reactions. 2016-11-26 18:10:21 -08:00
realm.py admin: Enable admins to toggle supported auth methods via UI. 2016-11-06 16:29:35 -08:00
realm_emoji.py lint: Ban use of json_success({}) instead of json_success(). 2016-10-20 22:34:04 -07:00
realm_filters.py Add initial implementation of custom realm filters. 2016-11-17 17:11:25 -08:00
report.py Use universal_newlines=True in subprocess.check_output. 2016-07-26 12:06:41 -07:00
streams.py streams: move the invite_only field into the stream_dict argument. 2016-11-26 16:52:40 -08:00
tutorial.py Remove extra new lines at the ends of Zulip authoried files. 2016-09-26 21:05:24 -07:00
typing.py Add an API endpoint to send typing notification events. 2016-10-20 23:05:18 -07:00
unsubscribe.py context_processors: use a common context for emails. 2016-11-08 11:37:16 -08:00
upload.py Url encoded name of the file should be an ascii. 2016-09-26 21:13:34 -07:00
user_settings.py Django 1.10: Update session hash when password is changed. 2016-11-26 15:04:17 -08:00
users.py lint: Ban use of json_success({}) instead of json_success(). 2016-10-20 22:34:04 -07:00
zephyr.py Move webathena views to its own file. 2016-08-18 18:26:49 -07:00