diff --git a/.gitignore b/.gitignore index 520d92b..9cb4281 100644 --- a/.gitignore +++ b/.gitignore @@ -18,6 +18,9 @@ # Ignore db schema.rb # db/schema.rb +# Ignore seed DBs +db/data.yml + # Ignore the test DB db/test.sqlite3 diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb index 5515afb..aa0b716 100644 --- a/app/controllers/sessions_controller.rb +++ b/app/controllers/sessions_controller.rb @@ -1,27 +1,15 @@ -# app/controllers/sessions_controller.rb class SessionsController < Devise::SessionsController - def create - existing_user = User.find_by_email(params[:user][:email]) + # Capture the user's shibboleth id if they're coming in from an IDP + def create + existing_user = User.find_by_email(params[:user][:email]) - if !existing_user.nil? && (existing_user.password == "" || existing_user.password.nil?) && existing_user.confirmed_at.nil? then - redirect_to :controller => :existing_users, :action => :index, :email => params[:user][:email] - else - #after authentication verify if session[:shibboleth] exists - if !params[:shibboleth_data].nil? then - existing_user.update_attributes(:shibboleth_id => session[:shibboleth_data][:uid]) - end - super - - end - end - - def destroy - current_user.plan_sections.each do |lock| - lock.delete - - end - super + if !existing_user.nil? && !params[:shibboleth_data].nil? then + #after authentication verify if session[:shibboleth] exists + existing_user.update_attributes(shibboleth_id: session[:shibboleth_data][:uid]) end + super + end + end \ No newline at end of file