From 7d9938048829ec33f2ea6648dc161d6416e17232 Mon Sep 17 00:00:00 2001 From: Tim Abbott Date: Thu, 22 Dec 2016 06:58:18 -0800 Subject: [PATCH] update_display_settings: Move validation to beginning. This makes the function more friendly for adding additional functionality to. --- zerver/views/user_settings.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/zerver/views/user_settings.py b/zerver/views/user_settings.py index 203728b729..4202d671d3 100644 --- a/zerver/views/user_settings.py +++ b/zerver/views/user_settings.py @@ -128,15 +128,15 @@ def json_left_side_userlist(request, user_profile, left_side_userlist=REQ(valida def update_display_settings_backend(request, user_profile, default_language=REQ(validator=check_string, default=None)): # type: (HttpRequest, UserProfile, Optional[str]) -> HttpResponse + if (default_language is not None and + default_language not in get_available_language_codes()): + raise JsonableError(_("Invalid language '%s'" % (default_language,))) + result = {} if (default_language is not None and user_profile.default_language != default_language): - if default_language in get_available_language_codes(): - do_change_default_language(user_profile, default_language) - else: - raise JsonableError(_("Invalid language '%s'" % (default_language,))) - - result['default_language'] = default_language + do_change_default_language(user_profile, default_language) + result['default_language'] = default_language return json_success(result)