- ##
- # update a user's details
- def update_user(user, params)
- user.display_name = params[:user][:display_name]
- user.new_email = params[:user][:new_email]
-
- unless params[:user][:pass_crypt].empty? && params[:user][:pass_crypt_confirmation].empty?
- user.pass_crypt = params[:user][:pass_crypt]
- user.pass_crypt_confirmation = params[:user][:pass_crypt_confirmation]
- end
-
- if params[:user][:description] != user.description
- user.description = params[:user][:description]
- user.description_format = "markdown"
- end
-
- user.languages = params[:user][:languages].split(",")
-
- case params[:avatar_action]
- when "new"
- user.avatar.attach(params[:user][:avatar])
- user.image_use_gravatar = false
- when "delete"
- user.avatar.purge_later
- user.image_use_gravatar = false
- when "gravatar"
- user.avatar.purge_later
- user.image_use_gravatar = true
- end
-
- user.home_lat = params[:user][:home_lat]
- user.home_lon = params[:user][:home_lon]
-
- user.preferred_editor = if params[:user][:preferred_editor] == "default"
- nil
- else
- params[:user][:preferred_editor]
- end
-
- if params[:user][:auth_provider].nil? || params[:user][:auth_provider].blank?
- user.auth_provider = nil
- user.auth_uid = nil
- end
-
- if user.save
- session[:fingerprint] = user.fingerprint