From 18d7c1c75d7f346b68a63ee1dd8943a674a3a719 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9gis=20Hanol?= Date: Fri, 11 Sep 2015 15:47:48 +0200 Subject: [PATCH] fix the build - take 2 --- .../javascripts/discourse/routes/preferences.js.es6 | 6 ++---- app/controllers/users_controller.rb | 11 +++++++---- spec/controllers/users_controller_spec.rb | 13 +++---------- 3 files changed, 12 insertions(+), 18 deletions(-) diff --git a/app/assets/javascripts/discourse/routes/preferences.js.es6 b/app/assets/javascripts/discourse/routes/preferences.js.es6 index fd9bba95d20..3ae6aed002b 100644 --- a/app/assets/javascripts/discourse/routes/preferences.js.es6 +++ b/app/assets/javascripts/discourse/routes/preferences.js.es6 @@ -49,10 +49,8 @@ export default RestrictedUserRoute.extend({ const user = this.modelFor('user'), controller = this.controllerFor('avatar-selector'), selectedUploadId = controller.get("selectedUploadId"), - selectedAvatarTemplate = controller.get("selectedAvatarTemplate"); - - let type = controller.get("selected"); - if (type === "uploaded") { type = "custom" } + selectedAvatarTemplate = controller.get("selectedAvatarTemplate"), + type = controller.get("selected"); user.pickAvatar(selectedUploadId, type, selectedAvatarTemplate) .then(() => { diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index ab1104e8d44..bb361de6fde 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -531,13 +531,16 @@ class UsersController < ApplicationController user = fetch_user_from_params guardian.ensure_can_edit!(user) + type = params[:type] upload_id = params[:upload_id] - type = params[:type] - type = "custom" if type == "uploaded" - user.uploaded_avatar_id = upload_id - user.user_avatar.send("#{type}_upload_id=", upload_id) + + if type == "uploaded" || type == "custom" + user.user_avatar.custom_upload_id = upload_id + elsif type == "gravatar" + user.user_avatar.gravatar_upload_id = upload_id + end user.save! user.user_avatar.save! diff --git a/spec/controllers/users_controller_spec.rb b/spec/controllers/users_controller_spec.rb index 32544497de5..884f3f3ff20 100644 --- a/spec/controllers/users_controller_spec.rb +++ b/spec/controllers/users_controller_spec.rb @@ -1301,7 +1301,7 @@ describe UsersController do describe '.pick_avatar' do it 'raises an error when not logged in' do - expect { xhr :put, :pick_avatar, username: 'asdf', avatar_id: 1}.to raise_error(Discourse::NotLoggedIn) + expect { xhr :put, :pick_avatar, username: 'asdf', avatar_id: 1, type: "custom"}.to raise_error(Discourse::NotLoggedIn) end context 'while logged in' do @@ -1310,12 +1310,12 @@ describe UsersController do it 'raises an error when you don\'t have permission to toggle the avatar' do another_user = Fabricate(:user) - xhr :put, :pick_avatar, username: another_user.username, upload_id: 1 + xhr :put, :pick_avatar, username: another_user.username, upload_id: 1, type: "custom" expect(response).to be_forbidden end it 'it successful' do - xhr :put, :pick_avatar, username: user.username, upload_id: 111 + xhr :put, :pick_avatar, username: user.username, upload_id: 111, type: "custom" expect(user.reload.uploaded_avatar_id).to eq(111) expect(user.user_avatar.reload.custom_upload_id).to eq(111) expect(response).to be_success @@ -1326,13 +1326,6 @@ describe UsersController do expect(response).to be_success end - it 'returns success' do - xhr :put, :pick_avatar, username: user.username, upload_id: 111 - expect(user.reload.uploaded_avatar_id).to eq(111) - expect(response).to be_success - json = ::JSON.parse(response.body) - expect(json['success']).to eq("OK") - end end end