docbrown/app/controllers/admin/users_controller.rb
Rafi bdcfba7d70
[deploy] Saving youtube url (#7516)
* Saving youtube url

* Fixing description in the spec

* Optimizing youtube logo svg

* Fixing indentation of form
2020-04-27 14:14:07 -04:00

83 lines
1.8 KiB
Ruby

module Admin
class UsersController < Admin::ApplicationController
def update
user = User.find(params[:id])
if user.errors.messages.blank? && user.update(user_params)
flash[:notice] = "User successfully updated"
redirect_to "/admin/users/#{params[:id]}"
else
render :new, locals: { page: Administrate::Page::Form.new(dashboard, user) }
end
end
private
def user_params
verify_usernames params.require(:user).permit(allowed_params)
end
# make sure usernames are not empty, to be able to use the database unique index
def verify_usernames(user_params)
user_params[:twitter_username] = nil if user_params[:twitter_username] == ""
user_params[:github_username] = nil if user_params[:github_username] == ""
user_params
end
def allowed_params
core_params | url_params | other_params
end
def core_params
%i[
name
email
username
twitter_username
github_username
profile_image
employment_title
currently_learning
available_for
mostly_work_with
currently_hacking_on
location
email_public
education
]
end
def url_params
%i[
facebook_url
youtube_url
behance_url
dribbble_url
medium_url
gitlab_url
linkedin_url
twitch_url
instagram_url
website_url
employer_url
feed_url
]
end
def other_params
%i[
email_newsletter
email_comment_notifications
email_follower_notifications
summary
organization_id
org_admin
bg_color_hex
text_color_hex
employer_name
reputation_modifier
saw_onboarding
scholar_email
]
end
end
end