mirror of
https://github.com/zulip/zulip.git
synced 2025-11-02 13:03:29 +00:00
views: Use property_types for display settings.
This reduces semi-duplicated code here.
This commit is contained in:
@@ -126,7 +126,7 @@ def json_change_settings(request, user_profile,
|
||||
# by Django,
|
||||
request.session.save()
|
||||
|
||||
result = {}
|
||||
result = {} # type: Dict[str, Any]
|
||||
new_email = email.strip()
|
||||
if user_profile.email != email and new_email != '':
|
||||
if user_profile.realm.email_changes_disabled:
|
||||
@@ -171,35 +171,12 @@ def update_display_settings_backend(request, user_profile,
|
||||
emojiset not in UserProfile.emojiset_choices()):
|
||||
raise JsonableError(_("Invalid emojiset '%s'" % (emojiset,)))
|
||||
|
||||
request_settings = {k: v for k, v in list(locals().items()) if k in user_profile.property_types}
|
||||
result = {} # type: Dict[str, Any]
|
||||
if (default_language is not None and
|
||||
user_profile.default_language != default_language):
|
||||
do_set_user_display_setting(user_profile, "default_language", default_language)
|
||||
result['default_language'] = default_language
|
||||
|
||||
elif (twenty_four_hour_time is not None and
|
||||
user_profile.twenty_four_hour_time != twenty_four_hour_time):
|
||||
do_set_user_display_setting(user_profile, "twenty_four_hour_time", twenty_four_hour_time)
|
||||
result['twenty_four_hour_time'] = twenty_four_hour_time
|
||||
|
||||
elif (left_side_userlist is not None and
|
||||
user_profile.left_side_userlist != left_side_userlist):
|
||||
do_set_user_display_setting(user_profile, "left_side_userlist", left_side_userlist)
|
||||
result['left_side_userlist'] = left_side_userlist
|
||||
|
||||
elif (emoji_alt_code is not None and
|
||||
user_profile.emoji_alt_code != emoji_alt_code):
|
||||
do_set_user_display_setting(user_profile, "emoji_alt_code", emoji_alt_code)
|
||||
result['emoji_alt_code'] = emoji_alt_code
|
||||
|
||||
elif (emojiset is not None and user_profile.emojiset != emojiset):
|
||||
do_set_user_display_setting(user_profile, "emojiset", emojiset)
|
||||
result['emojiset'] = emojiset
|
||||
|
||||
elif (timezone is not None and
|
||||
user_profile.timezone != timezone):
|
||||
do_set_user_display_setting(user_profile, "timezone", timezone)
|
||||
result['timezone'] = timezone
|
||||
for k, v in list(request_settings.items()):
|
||||
if v is not None and getattr(user_profile, k) != v:
|
||||
do_set_user_display_setting(user_profile, k, v)
|
||||
result[k] = v
|
||||
|
||||
return json_success(result)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user