Add API for removing default streams from a realm.

(imported from commit 06433126e31b372dff8a23eb8bbea14515138c85)
This commit is contained in:
Steve Howell
2014-01-27 15:56:09 -05:00
parent af9a1e967f
commit 8aaf1cf8c2
4 changed files with 14 additions and 2 deletions

View File

@@ -1383,6 +1383,7 @@ def do_add_default_stream(realm, stream_name):
def do_remove_default_stream(realm, stream_name):
DefaultStream.objects.filter(realm=realm, stream__name=stream_name).delete()
return {}
def get_default_streams_for_realm(realm):
return [default.stream for default in

View File

@@ -1053,6 +1053,11 @@ class DefaultStreamTest(AuthedTestCase):
self.assert_json_success(result)
self.assertTrue(stream_name in self.get_default_stream_names(user_profile.realm))
# and remove it
result = self.client_delete('/json/default_streams', dict(stream_name=stream_name))
self.assert_json_success(result)
self.assertFalse(stream_name in self.get_default_stream_names(user_profile.realm))
class LoginTest(AuthedTestCase):
"""
Logging in, registration, and logging out.

View File

@@ -38,7 +38,7 @@ from zerver.lib.actions import bulk_remove_subscriptions, do_change_password, \
notify_for_streams_by_default, do_change_enable_offline_push_notifications, \
do_deactivate_stream, do_change_autoscroll_forever, do_make_stream_public, \
do_make_stream_private, do_change_default_desktop_notifications, \
do_change_stream_description, do_update_pointer, do_add_default_stream
do_change_stream_description, do_update_pointer, do_add_default_stream, do_remove_default_stream
from zerver.lib.create_user import random_api_key
from zerver.lib.push_notifications import num_push_devices_for_user
from zerver.forms import RegistrationForm, HomepageForm, ToSForm, \
@@ -1078,6 +1078,11 @@ def get_public_streams_backend(request, user_profile):
def add_default_stream(request, user_profile, stream_name=REQ):
return json_success(do_add_default_stream(user_profile.realm, stream_name))
@require_realm_admin
@has_request_variables
def remove_default_stream(request, user_profile, stream_name=REQ):
return json_success(do_remove_default_stream(user_profile.realm, stream_name))
@authenticated_json_post_view
@require_realm_admin
@has_request_variables

View File

@@ -200,7 +200,8 @@ v1_api_and_json_patterns = patterns('zerver.views',
'PATCH': 'add_alert_words',
'DELETE': 'remove_alert_words'}),
url(r'^default_streams$', 'rest_dispatch',
{'PATCH': 'add_default_stream'}),
{'PATCH': 'add_default_stream',
'DELETE': 'remove_default_stream'}),
url(r'^users/me/api_key/regenerate$', 'rest_dispatch',
{'POST': 'regenerate_api_key'}),
url(r'^users/me/presence$', 'rest_dispatch',