Class: MetadataPresenter::SaveAndReturnController
Instance Method Summary
collapse
#allow_analytics?, #analytics_cookie_name, #analytics_tags_present?, #answered?, #back_link, #external_or_relative_link, #load_autocomplete_items, #maintenance_mode?, #reload_user_data, #save_form_progress, #show_cookie_confirmation?, #show_cookie_request?
Instance Method Details
#confirm_email ⇒ Object
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
|
# File 'app/controllers/metadata_presenter/save_and_return_controller.rb', line 39
def confirm_email
@email_confirmation = EmailConfirmation.new
@email_confirmation.assign_attributes(confirmation_params[:email_confirmation], session['saved_form']['email'])
if @email_confirmation.valid?
redirect_to '/save/progress_saved'
else
render :email_confirmation, status: :unprocessable_entity
end
end
|
#confirmation_params ⇒ Object
91
92
93
94
95
96
|
# File 'app/controllers/metadata_presenter/save_and_return_controller.rb', line 91
def confirmation_params
params.permit(
:email_confirmation,
:authenticity_token
)
end
|
#confirmed_email ⇒ Object
14
15
16
17
|
# File 'app/controllers/metadata_presenter/save_and_return_controller.rb', line 14
def confirmed_email
session['saved_form']['email']
end
|
#create ⇒ Object
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
# File 'app/controllers/metadata_presenter/save_and_return_controller.rb', line 19
def create
@saved_form = SavedForm.new
@saved_form.populate_param_values(saved_form_params)
@saved_form.secret_question = text_for(params['saved_form']['secret_question'])
@saved_form.populate_service_values(service)
@saved_form.populate_session_values(session)
if @saved_form.valid?
session[:saved_form] = @saved_form
redirect_to '/save/email_confirmation'
else
render :show, params: { page_slug: params[:page_slug], status: :unprocessable_entity }
end
end
|
#email_confirmation ⇒ Object
34
35
36
37
|
# File 'app/controllers/metadata_presenter/save_and_return_controller.rb', line 34
def email_confirmation
@saved_form = session[:saved_form]
@email_confirmation = EmailConfirmation.new
end
|
#page_slug ⇒ Object
10
11
12
|
# File 'app/controllers/metadata_presenter/save_and_return_controller.rb', line 10
def page_slug
params[:page_slug] || params[:saved_form][:page_slug]
end
|
81
82
83
84
85
86
87
88
89
|
# File 'app/controllers/metadata_presenter/save_and_return_controller.rb', line 81
def saved_form_params
params.permit(
:email,
:secret_answer,
{ saved_form: i[page_slug secret_question] },
:authenticity_token,
:page_slug
)
end
|
#secret_questions ⇒ Object
Rails.logger.info(‘returning to form’)
Rails.logger.info('session')
redirect_to '/check-answers'
end
67
68
69
70
71
72
73
|
# File 'app/controllers/metadata_presenter/save_and_return_controller.rb', line 67
def secret_questions
[
OpenStruct.new(id: 1, name: I18n.t('presenter.save_and_return.secret_questions.one')),
OpenStruct.new(id: 2, name: I18n.t('presenter.save_and_return.secret_questions.two')),
OpenStruct.new(id: 3, name: I18n.t('presenter.save_and_return.secret_questions.three'))
]
end
|
#show ⇒ Object
6
7
8
|
# File 'app/controllers/metadata_presenter/save_and_return_controller.rb', line 6
def show
@saved_form = SavedForm.new
end
|
#text_for(question) ⇒ Object
75
76
77
78
79
|
# File 'app/controllers/metadata_presenter/save_and_return_controller.rb', line 75
def text_for(question)
return nil if question.blank?
secret_questions.select { |s| s.id.to_s == question.to_s }.first.name
end
|