update_display_settings: Move validation to beginning.

This makes the function more friendly for adding additional
functionality to.
This commit is contained in:
Tim Abbott
2016-12-22 06:58:18 -08:00
parent 0299f41c80
commit 7d99380488

View File

@@ -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)