Class: SimplyAuth::RegistrationsController

Inherits:
ApplicationController show all
Defined in:
app/controllers/simply_auth/registrations_controller.rb

Instance Method Summary collapse

Instance Method Details

#after_registration(user) ⇒ Object



13
# File 'app/controllers/simply_auth/registrations_controller.rb', line 13

def after_registration(user); end

#createObject



15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
# File 'app/controllers/simply_auth/registrations_controller.rb', line 15

def create
  session["simply_auth_form_submission"] ||= {}
  if (session["simply_auth_form_submission"]["id"] != @signup_form.id)
    session["simply_auth_form_submission"] = {}
  end
  session["simply_auth_form_submission"]["id"] = @signup_form.id
  session["simply_auth_form_submission"]["attributes"] ||= {}
  user_params = user_params(@step["attributes"])
  user_params.each do |k, v|
    v = v.to_h if v.respond_to?(:to_h)
    session["simply_auth_form_submission"]["attributes"][k] = v
  end
  if @step == @signup_form.steps.last
    @user = SimplyAuth::User.new(session["simply_auth_form_submission"]["attributes"])
    @user.save
    after_registration(@user)
    
    @session = SimplyAuth::Session.new(email: @user.email, password: session["simply_auth_form_submission"]["attributes"]["password"])
    @session.save
    session.delete("simply_auth_form_submission")
    session[:simply_auth_session_id] = @session.id
    redirect_to "/"
  else
    redirect_to new_registration_path(form: @signup_form.id)
  end
end

#indexObject



8
9
10
11
# File 'app/controllers/simply_auth/registrations_controller.rb', line 8

def index
  #handle refresh on validation error
  redirect_to new_registration_path
end

#newObject



4
5
6
# File 'app/controllers/simply_auth/registrations_controller.rb', line 4

def new
  @html = @step["html"].gsub("/registrations", registrations_path(form: @signup_form.id))
end