adopt-a-hydrant/app/controllers/users_controller.rb

43 lines
1.4 KiB
Ruby

class UsersController < Devise::RegistrationsController
def edit
render("sidebar/edit_profile", layout: "sidebar")
end
def update
self.resource = resource_class.to_adapter.get!(send(:"current_#{resource_name}").to_key)
prev_unconfirmed_email = resource.unconfirmed_email if resource.respond_to?(:unconfirmed_email)
if update_resource(resource, account_update_params)
yield resource if block_given?
sign_in(resource_name, resource, bypass: true)
flash[:notice] = "Profile updated!"
redirect_to(controller: "sidebar", action: "search")
else
clean_up_passwords(resource)
render(json: {errors: resource.errors}, status: 500)
end
end
def create
build_resource(sign_up_params)
if resource.save
yield resource if block_given?
sign_in(resource_name, resource)
render(json: resource)
else
clean_up_passwords(resource)
render(json: {errors: resource.errors}, status: 500)
end
end
private
def sign_up_params
params.require(:user).permit(:email, :name, :organization, :password, :password_confirmation, :sms_number, :voice_number)
end
def account_update_params
params.require(:user).permit(:address_1, :address_2, :city, :current_password, :email, :name, :organization, :password, :password_confirmation, :remember_me, :sms_number, :state, :voice_number, :zip)
end
end