urls: Move the json/tutorial_status endpoint to be an API-style route.

This commit is contained in:
Alena Volkova 2017-10-09 16:55:38 -04:00 committed by Tim Abbott
parent 0e653d198d
commit 79560e21bf
5 changed files with 10 additions and 8 deletions

View File

@ -4,7 +4,7 @@ var exports = {};
function set_tutorial_status(status, callback) {
return channel.post({
url: '/json/tutorial_status',
url: '/json/users/me/tutorial_status',
data: {status: JSON.stringify(status)},
success: callback,
});

View File

@ -18,7 +18,7 @@ class TutorialTests(ZulipTestCase):
]
for incoming_status, expected_db_status in cases:
params = dict(status=ujson.dumps(incoming_status))
result = self.client_post('/json/tutorial_status', params)
result = self.client_post('/json/users/me/tutorial_status', params)
self.assert_json_success(result)
user = self.example_user('hamlet')
self.assertEqual(user.tutorial_status, expected_db_status)

View File

@ -1,15 +1,14 @@
from django.http import HttpRequest, HttpResponse
from zerver.decorator import authenticated_json_post_view, has_request_variables, REQ
from zerver.decorator import has_request_variables, REQ
from zerver.lib.response import json_success
from zerver.lib.validator import check_string
from zerver.models import UserProfile
@authenticated_json_post_view
@has_request_variables
def json_tutorial_status(request, user_profile,
status=REQ(validator=check_string)):
def set_tutorial_status(request, user_profile,
status=REQ(validator=check_string)):
# type: (HttpRequest, UserProfile, str) -> HttpResponse
if status == 'started':
user_profile.tutorial_status = UserProfile.TUTORIAL_STARTED

View File

@ -18,8 +18,7 @@ legacy_urls = [
url(r'^json/subscriptions/exists$', zerver.views.streams.json_stream_exists),
url(r'^json/fetch_api_key$', zerver.views.auth.json_fetch_api_key),
# This old-style tutorial is due to be eliminated soon.
url(r'^json/tutorial_status$', zerver.views.tutorial.json_tutorial_status),
# A version of these reporting views may make sense to support in
# the API for getting mobile analytics, but we may want something
# totally different.

View File

@ -356,6 +356,10 @@ v1_api_and_json_patterns = [
url(r'^users/me/hotspots$', rest_dispatch,
{'POST': 'zerver.views.hotspots.mark_hotspot_as_read'}),
# users/me/tutorial_status -> zerver.views.tutorial
url(r'^users/me/tutorial_status$', rest_dispatch,
{'POST': 'zerver.views.tutorial.set_tutorial_status'}),
# settings -> zerver.views.user_settings
url(r'^settings$', rest_dispatch,
{'PATCH': 'zerver.views.user_settings.json_change_settings'}),