Refactor json_set_avatar and patch_bot_backend to use do_change_avatar_source

(imported from commit eba0ff8a5c4409ac01c710455fe200b28f953b56)
This commit is contained in:
Jason Michalski
2014-02-26 14:54:59 -05:00
parent c0d104c110
commit 280575aff0
2 changed files with 13 additions and 5 deletions

View File

@@ -1340,6 +1340,15 @@ def do_regenerate_api_key(user_profile, log=True):
api_key=user_profile.api_key,)), api_key=user_profile.api_key,)),
bot_owner_userids(user_profile)) bot_owner_userids(user_profile))
def do_change_avatar_source(user_profile, avatar_source, log=True):
user_profile.avatar_source = avatar_source
user_profile.save(update_fields=["avatar_source"])
if log:
log_event({'type': 'user_change_avatar_source',
'user': user_profile.email,
'avatar_source': avatar_source})
def _default_stream_permision_check(user_profile, stream): def _default_stream_permision_check(user_profile, stream):
# Any user can have a None default stream # Any user can have a None default stream
if stream is not None: if stream is not None:

View File

@@ -42,7 +42,8 @@ from zerver.lib.actions import bulk_remove_subscriptions, do_change_password, \
do_change_default_events_register_stream, do_change_default_sending_stream, \ do_change_default_events_register_stream, do_change_default_sending_stream, \
do_change_enable_stream_desktop_notifications, do_change_enable_stream_sounds, \ do_change_enable_stream_desktop_notifications, do_change_enable_stream_sounds, \
do_change_stream_description, do_get_streams, do_make_stream_private, \ do_change_stream_description, do_get_streams, do_make_stream_private, \
do_regenerate_api_key, do_remove_default_stream, do_update_pointer do_regenerate_api_key, do_remove_default_stream, do_update_pointer, \
do_change_avatar_source
from zerver.lib.create_user import random_api_key from zerver.lib.create_user import random_api_key
from zerver.lib.push_notifications import num_push_devices_for_user from zerver.lib.push_notifications import num_push_devices_for_user
@@ -1937,8 +1938,7 @@ def patch_bot_backend(request, user_profile, email,
user_file = request.FILES.values()[0] user_file = request.FILES.values()[0]
upload_avatar_image(user_file, user_profile, bot.email) upload_avatar_image(user_file, user_profile, bot.email)
avatar_source = UserProfile.AVATAR_FROM_USER avatar_source = UserProfile.AVATAR_FROM_USER
bot.avatar_source = avatar_source do_change_avatar_source(bot, avatar_source)
bot.save(update_fields=["avatar_source"])
else: else:
return json_error("You may only upload one file at a time") return json_error("You may only upload one file at a time")
@@ -1958,8 +1958,7 @@ def json_set_avatar(request, user_profile):
user_file = request.FILES.values()[0] user_file = request.FILES.values()[0]
upload_avatar_image(user_file, user_profile, user_profile.email) upload_avatar_image(user_file, user_profile, user_profile.email)
user_profile.avatar_source = UserProfile.AVATAR_FROM_USER do_change_avatar_source(user_profile, UserProfile.AVATAR_FROM_USER)
user_profile.save(update_fields=["avatar_source"])
user_avatar_url = avatar_url(user_profile) user_avatar_url = avatar_url(user_profile)
json_result = dict( json_result = dict(