First checkin
This commit is contained in:
parent
f207e2c8b7
commit
90b30db9e8
260 changed files with 37349 additions and 0 deletions
52
app/controllers/registrations_controller.rb
Normal file
52
app/controllers/registrations_controller.rb
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
class RegistrationsController < Devise::RegistrationsController
|
||||
def update
|
||||
@user = User.find(current_user.id)
|
||||
email_changed = false
|
||||
|
||||
if !params[:user][:email].nil?
|
||||
if @user.email != params[:user][:email]
|
||||
email_changed = true
|
||||
else
|
||||
params[:user].delete :email
|
||||
end
|
||||
end
|
||||
|
||||
password_changed = false
|
||||
if !params[:user][:password].nil?
|
||||
if !params[:user][:password].empty?
|
||||
password_changed = true
|
||||
else
|
||||
params[:user].delete :password
|
||||
params[:user].delete :password_confirmation
|
||||
params[:user].delete :current_password
|
||||
end
|
||||
end
|
||||
|
||||
|
||||
successfully_updated = if email_changed or password_changed
|
||||
@user.update_with_password(params[:user])
|
||||
else
|
||||
@user.update_without_password(params[:user])
|
||||
end
|
||||
|
||||
if successfully_updated
|
||||
set_flash_message :notice, :updated
|
||||
# Sign in the user bypassing validation in case his password changed
|
||||
sign_in @user, :bypass => true
|
||||
redirect_to after_update_path_for(@user)
|
||||
else
|
||||
render "edit"
|
||||
end
|
||||
end
|
||||
|
||||
protected
|
||||
|
||||
def after_update_path_for(resource)
|
||||
edit_user_registration_path(resource)
|
||||
end
|
||||
|
||||
def after_sign_up_path_for(resource)
|
||||
edit_user_registration_path(resource)
|
||||
end
|
||||
|
||||
end
|
||||
Loading…
Add table
Add a link
Reference in a new issue