automate employer setup import from word and manual entry working
This commit is contained in:
@@ -1,20 +1,36 @@
|
||||
class EmployerSetupController < ApplicationController
|
||||
def new
|
||||
# session.delete(:employer_setup_data)
|
||||
session.clear()
|
||||
# puts "Start"
|
||||
# puts session[:employer_setup_data]
|
||||
if session[:employer_setup_data].blank?
|
||||
session[:employer_setup_data] = {}
|
||||
end
|
||||
session[:employer_setup_data]['current_step'] = 'network_exceptions'
|
||||
session[:employer_setup_data]['pl_plan_key'] = 82
|
||||
@top_form = EmployerSetupForm.new(session[:employer_setup_data])
|
||||
case @top_form.current_step
|
||||
when 'general_information'
|
||||
@form = EmployerSetupGeneralInformationForm.new(session[:employer_setup_data]&.dig('general_information_data'))
|
||||
when 'plans'
|
||||
@form = EmployerSetupPlansForm.new(session[:employer_setup_data]&.dig('plans_data'))
|
||||
when 'network_exceptions'
|
||||
@form = EmployerSetupNetworkExceptionsForm.new(session[:employer_setup_data]&.dig('network_exceptions_data'))
|
||||
when 'summary'
|
||||
if @top_form.current_step != 'summary'
|
||||
@form = form_for_step
|
||||
else
|
||||
@form = @top_form
|
||||
end
|
||||
|
||||
# case @top_form.current_step
|
||||
# when 'general_information'
|
||||
# @form = EmployerSetupGeneralInformationForm.new(session[:employer_setup_data]&.dig('general_information_data'))
|
||||
# when 'plans'
|
||||
# @form = EmployerSetupPlansForm.new(session[:employer_setup_data]&.dig('plans_data'))
|
||||
# when 'network_exceptions'
|
||||
# @form = EmployerSetupNetworkExceptionsForm.new(session[:employer_setup_data]&.dig('network_exceptions_data'))
|
||||
# when 'summary'
|
||||
# @form = @top_form
|
||||
# end
|
||||
render @top_form.current_step_view
|
||||
end
|
||||
|
||||
def create
|
||||
# puts session[:employer_setup_data]
|
||||
@top_form = EmployerSetupForm.new(session[:employer_setup_data])
|
||||
if @top_form.current_step != 'summary'
|
||||
if process_step(@top_form.current_step)
|
||||
@@ -32,43 +48,43 @@ class EmployerSetupController < ApplicationController
|
||||
end
|
||||
end
|
||||
|
||||
case @top_form.current_step
|
||||
when 'general_information'
|
||||
@form = EmployerSetupGeneralInformationForm.new(general_information_params)
|
||||
if @form.valid?
|
||||
session[:employer_setup_data]['general_information_data'] = general_information_params
|
||||
session[:employer_setup_data]['current_step'] = @top_form.next_step
|
||||
redirect_to new_employer_setup_path
|
||||
else
|
||||
render @top_form.current_step_view
|
||||
end
|
||||
when 'plans'
|
||||
@form = EmployerSetupPlansForm.new(plans_params)
|
||||
if @form.valid?
|
||||
session[:employer_setup_data]['plans_data'] = plans_params
|
||||
session[:employer_setup_data]['current_step'] = @top_form.next_step
|
||||
redirect_to new_employer_setup_path
|
||||
else
|
||||
render @top_form.current_step_view
|
||||
end
|
||||
when 'network_exceptions'
|
||||
@form = EmployerSetupNetworkExceptionsForm.new(network_exceptions_params)
|
||||
if @form.valid?
|
||||
session[:employer_setup_data]['network_exceptions_data'] = network_exceptions_params
|
||||
session[:employer_setup_data]['current_step'] = @top_form.next_step
|
||||
redirect_to new_employer_setup_path
|
||||
else
|
||||
render @top_form.current_step_view
|
||||
end
|
||||
when 'summary'
|
||||
@form = EmployerSetupForm.new(session[:employer_setup_data])
|
||||
if @form.save
|
||||
session.delete(:employer_setup_data)
|
||||
redirect_to root_path, notice: "Employer setup successfully!"
|
||||
else
|
||||
render @top_form.current_step_view
|
||||
end
|
||||
end
|
||||
# case @top_form.current_step
|
||||
# when 'general_information'
|
||||
# @form = EmployerSetupGeneralInformationForm.new(general_information_params)
|
||||
# if @form.valid?
|
||||
# session[:employer_setup_data]['general_information_data'] = general_information_params
|
||||
# session[:employer_setup_data]['current_step'] = @top_form.next_step
|
||||
# redirect_to new_employer_setup_path
|
||||
# else
|
||||
# render @top_form.current_step_view
|
||||
# end
|
||||
# when 'plans'
|
||||
# @form = EmployerSetupPlansForm.new(plans_params)
|
||||
# if @form.valid?
|
||||
# session[:employer_setup_data]['plans_data'] = plans_params
|
||||
# session[:employer_setup_data]['current_step'] = @top_form.next_step
|
||||
# redirect_to new_employer_setup_path
|
||||
# else
|
||||
# render @top_form.current_step_view
|
||||
# end
|
||||
# when 'network_exceptions'
|
||||
# @form = EmployerSetupNetworkExceptionsForm.new(network_exceptions_params)
|
||||
# if @form.valid?
|
||||
# session[:employer_setup_data]['network_exceptions_data'] = network_exceptions_params
|
||||
# session[:employer_setup_data]['current_step'] = @top_form.next_step
|
||||
# redirect_to new_employer_setup_path
|
||||
# else
|
||||
# render @top_form.current_step_view
|
||||
# end
|
||||
# when 'summary'
|
||||
# @form = EmployerSetupForm.new(session[:employer_setup_data])
|
||||
# if @form.save
|
||||
# session.delete(:employer_setup_data)
|
||||
# redirect_to root_path, notice: "Employer setup successfully!"
|
||||
# else
|
||||
# render @top_form.current_step_view
|
||||
# end
|
||||
# end
|
||||
end
|
||||
|
||||
def update
|
||||
@@ -85,70 +101,89 @@ class EmployerSetupController < ApplicationController
|
||||
|
||||
private
|
||||
|
||||
def general_information_params
|
||||
params.require(:employer_setup_general_information_form).permit(
|
||||
:name,
|
||||
:employer_logo,
|
||||
:group_number,
|
||||
:dental,
|
||||
:pl_plan_key,
|
||||
:effect_date,
|
||||
:number_of_plans,
|
||||
:network,
|
||||
:number_of_additional_network_logos
|
||||
)
|
||||
end
|
||||
# def general_information_params
|
||||
# params.require(:employer_setup_general_information_form).permit(
|
||||
# :name,
|
||||
# :employer_logo,
|
||||
# :group_number,
|
||||
# :dental,
|
||||
# :pl_plan_key,
|
||||
# :effect_date,
|
||||
# :number_of_plans,
|
||||
# :network,
|
||||
# :number_of_additional_network_logos
|
||||
# )
|
||||
# end
|
||||
|
||||
def plans_params
|
||||
params.require(:employer_setup_plans_form).permit(
|
||||
plans: permited_plans_keys,
|
||||
benefit_descs: benefit_sequence_keys
|
||||
)
|
||||
end
|
||||
# def plans_params
|
||||
# params.require(:employer_setup_plans_form).permit(
|
||||
# plans: permited_plans_keys,
|
||||
# benefit_descs: benefit_sequence_keys
|
||||
# )
|
||||
# end
|
||||
|
||||
def network_exceptions_params
|
||||
params.require(:employer_setup_network_exceptions_form).permit(
|
||||
network_exceptions: [:network_logo, exceptions: [:type, :value]],
|
||||
)
|
||||
# def network_exceptions_params
|
||||
# params.require(:employer_setup_network_exceptions_form).permit(
|
||||
# network_exceptions: [:network_logo, exceptions: [:type, :value]],
|
||||
# )
|
||||
# end
|
||||
|
||||
def form_for_step
|
||||
step_name = @top_form.current_step
|
||||
form_method = "EmployerSetup#{step_name.camelize}Form".constantize
|
||||
form_method.new()
|
||||
end
|
||||
|
||||
def process_step(step_name)
|
||||
form_name = "employer_setup_#{step_name}_form".camelize.constantize
|
||||
form_params_name = "#{step_name}_params".to_sym
|
||||
allowed_params = [:general_information_params, :plans_params, :network_exceptions_params]
|
||||
if allowed_params.include?(form_params_name)
|
||||
form_params = send(form_params_name)
|
||||
@form = form_name.new(form_params)
|
||||
if @form.valid?
|
||||
session[:employer_setup_data]["#{step_name}_data"] = form_params
|
||||
true
|
||||
else
|
||||
false
|
||||
end
|
||||
@form_method = "EmployerSetup#{step_name.camelize}Form".constantize
|
||||
session_data_name = "#{step_name}_data"
|
||||
puts "1--------------params----"
|
||||
puts params
|
||||
puts "8--------------session----"
|
||||
puts session[:employer_setup_data]
|
||||
@form = @form_method.new(params)
|
||||
if @form.pl_plan_key.blank?
|
||||
@form.pl_plan_key = session[:employer_setup_data]['pl_plan_key']
|
||||
end
|
||||
false
|
||||
end
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
session[:employer_setup_data]['current_step'] = @top_form.next_step
|
||||
redirect_to new_employer_setup_path
|
||||
if @form.valid? && @form.save
|
||||
pl_plan_key = @top_form.pl_plan_key || @form.pl_plan_key
|
||||
session[:employer_setup_data] = {current_step: step_name, pl_plan_key: pl_plan_key}
|
||||
# form_fields = @form.attributes.merge!(global_params(step_name))
|
||||
# session[:employer_setup_data][session_data_name] = form_fields
|
||||
# session[:employer_setup_data].merge!(global_params(step_name))
|
||||
# puts session[:employer_setup_data][session_data_name]
|
||||
true
|
||||
else
|
||||
render @top_form.current_step_view
|
||||
false
|
||||
end
|
||||
end
|
||||
|
||||
when 'general_information'
|
||||
@form = EmployerSetupGeneralInformationForm.new(general_information_params)
|
||||
if @form.valid?
|
||||
session[:employer_setup_data]['general_information_data'] = general_information_params
|
||||
session[:employer_setup_data]['current_step'] = @top_form.next_step
|
||||
redirect_to new_employer_setup_path
|
||||
else
|
||||
render @top_form.current_step_view
|
||||
end
|
||||
def step_params(step_name)
|
||||
form_name_sym = "employer_setup_#{step_name}_form".to_sym
|
||||
params.require(form_name_sym).permit(@form_method.permitted_params)
|
||||
end
|
||||
|
||||
def global_params(step_name)
|
||||
form_name_sym = "employer_setup_#{step_name}_form".to_sym
|
||||
params.require(form_name_sym).permit(EmployerSetupForm.permitted_params)
|
||||
end
|
||||
|
||||
# def process_step(step_name)
|
||||
# form_name = "employer_setup_#{step_name}_form".camelize.constantize
|
||||
# form_params_name = "#{step_name}_params".to_sym
|
||||
# allowed_params = [:general_information_params, :plans_params, :network_exceptions_params]
|
||||
# if allowed_params.include?(form_params_name)
|
||||
# form_params = send(form_params_name)
|
||||
# @form = form_name.new(form_params)
|
||||
# if @form.valid?
|
||||
# session[:employer_setup_data]["#{step_name}_data"] = form_params
|
||||
# true
|
||||
# else
|
||||
# false
|
||||
# end
|
||||
# end
|
||||
# false
|
||||
# end
|
||||
|
||||
# def employer_setup_params
|
||||
# params.require(:employer_setup_form).permit(
|
||||
@@ -167,13 +202,13 @@ class EmployerSetupController < ApplicationController
|
||||
# )
|
||||
# end
|
||||
|
||||
def benefit_sequence_keys
|
||||
(1..14).map { |i| i.to_s.to_sym }
|
||||
end
|
||||
# def benefit_sequence_keys
|
||||
# (1..14).map { |i| i.to_s.to_sym }
|
||||
# end
|
||||
|
||||
def permited_plans_keys
|
||||
benefit_sequence_keys.push(:plan_id)
|
||||
end
|
||||
# def permited_plans_keys
|
||||
# benefit_sequence_keys.push(:plan_id)
|
||||
# end
|
||||
|
||||
# def plans_params
|
||||
# plans_keys = params[:plans]&.keys || []
|
||||
|
||||
Reference in New Issue
Block a user