rename_stream: Move stream name taken check to view.

This commit is contained in:
Tim Abbott 2017-01-29 19:08:03 -08:00
parent ccdf17f47e
commit 7be34357b2
3 changed files with 5 additions and 3 deletions

View File

@ -416,6 +416,9 @@ def build_custom_checkers(by_lang):
{'pattern': 'get_stream[(]',
'include_only': set(["zerver/views/"]),
'exclude': set(['zerver/views/messages.py']),
'exclude_line': set([
('zerver/views/streams.py', 'if get_stream(new_name, user_profile.realm) is not None:'),
]),
'description': 'Please use access_stream_by_*() to fetch Stream objects',
},
{'pattern': '[S]tream.objects.filter',

View File

@ -2067,9 +2067,6 @@ def do_rename_stream(realm, old_name, new_name, log=True):
if not stream:
raise JsonableError(_('Unknown stream "%s"') % (old_name,))
if get_stream(new_name, realm) is not None:
raise JsonableError(_('Stream name "%s" is already taken') % (new_name,))
old_name = stream.name
stream.name = new_name
stream.save(update_fields=["name"])

View File

@ -100,6 +100,8 @@ def update_stream_backend(request, user_profile, stream_id,
check_stream_name(new_name)
if stream.name.lower() == new_name.lower():
return json_error(_("Stream already has that name!"))
if get_stream(new_name, user_profile.realm) is not None:
raise JsonableError(_('Stream name "%s" is already taken') % (new_name,))
do_rename_stream(user_profile.realm, stream.name, new_name)
if is_private is not None:
do_change_stream_invite_only(stream, is_private)