Init dump
This commit is contained in:
@@ -0,0 +1,191 @@
|
||||
class EmployerSetupController < ApplicationController
|
||||
def new
|
||||
@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'
|
||||
@form = @top_form
|
||||
end
|
||||
render @top_form.current_step_view
|
||||
end
|
||||
|
||||
def create
|
||||
@top_form = EmployerSetupForm.new(session[:employer_setup_data])
|
||||
if @top_form.current_step != 'summary'
|
||||
if process_step(@top_form.current_step)
|
||||
session[:employer_setup_data]['current_step'] = @top_form.next_step
|
||||
redirect_to new_employer_setup_path
|
||||
else
|
||||
render @top_form.current_step_view
|
||||
end
|
||||
else
|
||||
if @top_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
|
||||
@form = RegistrationForm.new(registration_params)
|
||||
|
||||
if params[:back_button]
|
||||
@form.current_step = @form.previous_step
|
||||
elsif params[:skip_newsletter]
|
||||
@form.current_step = @form.next_step # Skip newsletter step
|
||||
end
|
||||
|
||||
render :new
|
||||
end
|
||||
|
||||
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 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]],
|
||||
)
|
||||
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
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
session[:employer_setup_data]['current_step'] = @top_form.next_step
|
||||
redirect_to new_employer_setup_path
|
||||
else
|
||||
render @top_form.current_step_view
|
||||
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 employer_setup_params
|
||||
# params.require(:employer_setup_form).permit(
|
||||
# :current_step,
|
||||
# :name,
|
||||
# :employer_logo,
|
||||
# :group_number,
|
||||
# :pl_plan_key,
|
||||
# :effect_date,
|
||||
# :number_of_plans,
|
||||
# :network,
|
||||
# :number_of_additional_network_logos,
|
||||
# network_exceptions: [:network_logo, exceptions: [:type, :value]],
|
||||
# plans: permited_plans_keys,
|
||||
# benefit_descs: benefit_sequence_keys
|
||||
# )
|
||||
# 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 plans_params
|
||||
# plans_keys = params[:plans]&.keys || []
|
||||
|
||||
# plans_keys.each_with_object({}) do |key, hash|
|
||||
# if key == 'benefit_descs' || key.match?(/^plan_\d$/)
|
||||
# hash[key.to_sym] = permited_plan_param_list
|
||||
# end
|
||||
# end
|
||||
# end
|
||||
|
||||
# def permited_plan_param_list
|
||||
# (1..14).map { |i| i.to_s.to_sym }.push(:plan_id)
|
||||
# end
|
||||
end
|
||||
@@ -0,0 +1,109 @@
|
||||
class EmployerSetupController < ApplicationController
|
||||
def new
|
||||
@employer_data = session[:employer_data] || {}
|
||||
# @id_card_templates = IdCardTemplate.where.not(title: "BLANK")
|
||||
# @id_card_template_benefits = IdCardTemplate.find_by(title: "BLANK").id_card_template_benefits.sort_by(&:sequence)
|
||||
end
|
||||
|
||||
def create_employer
|
||||
@employer_data = {employer: {}}
|
||||
@employer_data[:employer].merge!(params.require(:employer).permit(
|
||||
:name,
|
||||
:group_number,
|
||||
:pl_plan_key,
|
||||
:effect_date
|
||||
))
|
||||
@employer_data[:employer].merge!(params.permit(:number_of_plans))
|
||||
|
||||
session[:employer_data] = @employer_data
|
||||
puts session[:employer_data]
|
||||
redirect_to action: :plans
|
||||
end
|
||||
|
||||
def plans
|
||||
@employer_data = session[:employer_data] || {}
|
||||
@id_card_templates = IdCardBenefitsTemplate.where.not(title: "BLANK")
|
||||
@id_card_template_benefits = IdCardBenefitsTemplate.find_by(title: "BLANK").id_card_benefits.sort_by(&:sequence)
|
||||
end
|
||||
|
||||
def create_plans
|
||||
@employer_data = session[:employer_data] || {}
|
||||
@employer_data.merge!(params.require(:plans).permit(plans_params))
|
||||
session[:employer_data] = @employer_data
|
||||
redirect_to action: :networks
|
||||
end
|
||||
|
||||
def networks
|
||||
@employer_data = session[:employer_data] || {}
|
||||
|
||||
end
|
||||
|
||||
def create_provider_networks
|
||||
@employer_data = session[:employer_data] || {}
|
||||
@employer_data.merge!(params.require(:plans).permit(plans_params))
|
||||
session[:employer_data] = @employer_data
|
||||
redirect_to action: :networks
|
||||
end
|
||||
|
||||
|
||||
def process_bad_name
|
||||
@final_data = session[:employer_data]
|
||||
|
||||
# Vhcs::HlPlanCode.create(
|
||||
# group_number: @final_data['employer']['name'],
|
||||
# medical_number: @final_data['employer']['group_number'],
|
||||
# dental_number: ' ',
|
||||
# plan_key: @final_data['employer']['pl_plan_key'],
|
||||
# effect_date: @final_data['employer']['effect_date']
|
||||
# )
|
||||
|
||||
# default = Vhcs::HLRXCrosRef.find_by(pl_plan_key: 52)
|
||||
|
||||
# Vhcs::HLRXCrosRef.create(
|
||||
# group_no: @final_data['employer']['group_number'],
|
||||
# rx_group_id: @final_data['employer']['group_number'],
|
||||
# help_desk: default.help_desk,
|
||||
# customer_service: default.customer_service,
|
||||
# web_url: default.web_url,
|
||||
# pl_plan_key: @final_data['employer']['pl_plan_key']
|
||||
# )
|
||||
|
||||
# plans_data = @final_data['plans']
|
||||
# benefit_descs = plans_data.delete('benefit_descs')
|
||||
|
||||
# plans_data.each do |key, value|
|
||||
# plan_id = value.delete('plan_id')
|
||||
# value.each do |key2, value2|
|
||||
# Vhcs::HLEgglestonCardBenefit.create(
|
||||
# plan_id: plan_id,
|
||||
# benefit_desc: benefit_descs[key2],
|
||||
# benefit: value2,
|
||||
# sequence: key2,
|
||||
# plan_key: @final_data['employer']['pl_plan_key']
|
||||
# )
|
||||
# end
|
||||
|
||||
# end
|
||||
|
||||
# Create or update your model with @final_data
|
||||
# Clear the session data after successful save
|
||||
session[:employer_data] = nil
|
||||
# Redirect to a success page
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def plans_params
|
||||
plans_keys = params[:plans]&.keys || []
|
||||
|
||||
plans_keys.each_with_object({}) do |key, hash|
|
||||
if key == 'benefit_descs' || key.match?(/^plan_\d$/)
|
||||
hash[key.to_sym] = permited_plan_param_list
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def permited_plan_param_list
|
||||
(1..14).map { |i| i.to_s.to_sym }.push(:plan_id)
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,89 @@
|
||||
class EmployerSetupController < ApplicationController
|
||||
def new
|
||||
# session.delete(:employer_setup_data)
|
||||
@form = EmployerSetupForm.new(session[:employer_setup_data])
|
||||
if @form.current_step == "plans"
|
||||
@id_card_templates = IdCardBenefitsTemplate.where.not(title: "BLANK")
|
||||
@id_card_template_benefits = IdCardBenefitsTemplate.find_by(title: "BLANK").id_card_benefits.sort_by(&:sequence)
|
||||
end
|
||||
puts session[:employer_setup_data]
|
||||
render "employer_setup/#{@form.current_step}" # Renders the view for the current step
|
||||
end
|
||||
|
||||
def create
|
||||
filtered_params = employer_setup_params.except(:validation_context)
|
||||
@form = EmployerSetupForm.new(filtered_params)
|
||||
|
||||
if @form.current_step == "general" && @form.valid?(:general_info)
|
||||
# @form.current_step = "plans"
|
||||
@form.current_step = "networks" # TESTING, Change Back
|
||||
session[:employer_setup_data] = @form.attributes.slice("current_step", "name", "employer_logo", "group_number", "pl_plan_key", "effect_date", "number_of_plans", "network", "number_of_additional_network_logos")
|
||||
redirect_to new_employer_setup_path # Redirect to the next step
|
||||
elsif @form.current_step == "plans" && @form.valid?(:plan_info)
|
||||
if @form.number_of_additional_network_logos == 0
|
||||
next_step = "summary"
|
||||
else
|
||||
next_step = "networks"
|
||||
end
|
||||
@form.current_step = next_step
|
||||
session[:employer_setup_data].merge!(@form.attributes.slice("current_step", "plans", "benefit_descs"))
|
||||
redirect_to new_employer_setup_path
|
||||
# @form = UserOnboardingForm.new(session[:employer_setup_data]) # Re-initialize with all data
|
||||
elsif @form.current_step == "networks" && @form.valid?(:network_info)
|
||||
@form.current_step = "summary"
|
||||
session[:employer_setup_data].merge!(@form.attributes.slice("current_step", "network_exceptions"))
|
||||
redirect_to new_employer_setup_path
|
||||
elsif @form.current_step == "summary"
|
||||
puts @form.attributes
|
||||
if @form.save
|
||||
session.delete(:employer_setup_data) # Clear session data after successful save
|
||||
redirect_to root_path, notice: "Employer setup successfully!"
|
||||
else
|
||||
render "employer_setup/summary" # Render step two again with errors
|
||||
end
|
||||
else
|
||||
render "employer_setup/#{@form.current_step}" # Render the current step again with errors
|
||||
end
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def employer_setup_params
|
||||
params.require(:employer_setup_form).permit(
|
||||
:current_step,
|
||||
:name,
|
||||
:employer_logo,
|
||||
:group_number,
|
||||
:pl_plan_key,
|
||||
:effect_date,
|
||||
:number_of_plans,
|
||||
:network,
|
||||
:number_of_additional_network_logos,
|
||||
network_exceptions: [:network_logo, exceptions: [:type, :value]],
|
||||
plans: permited_plans_keys,
|
||||
benefit_descs: benefit_sequence_keys
|
||||
)
|
||||
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 plans_params
|
||||
plans_keys = params[:plans]&.keys || []
|
||||
|
||||
plans_keys.each_with_object({}) do |key, hash|
|
||||
if key == 'benefit_descs' || key.match?(/^plan_\d$/)
|
||||
hash[key.to_sym] = permited_plan_param_list
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def permited_plan_param_list
|
||||
(1..14).map { |i| i.to_s.to_sym }.push(:plan_id)
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,89 @@
|
||||
class IdCardBenefitsTemplatesController < ApplicationController
|
||||
skip_before_action :verify_authenticity_token
|
||||
|
||||
def new_id_card_template
|
||||
@id_card_templates = IdCardTemplate.where.not(title: "BLANK")
|
||||
@id_card_template_benefits = IdCardTemplate.find_by(title: "BLANK").id_card_template_benefits.sort_by(&:sequence)
|
||||
end
|
||||
|
||||
def create_id_card_template
|
||||
@id_card_template = IdCardTemplate.create(title: params[:title])
|
||||
|
||||
params[:benefits].each do |key, value|
|
||||
IdCardTemplateBenefit.create(
|
||||
sequence: key,
|
||||
benefit_desc: value["desc"],
|
||||
benefit: value["value"],
|
||||
id_card_template: @id_card_template
|
||||
)
|
||||
|
||||
end
|
||||
|
||||
respond_to do |format|
|
||||
if @id_card_template.save && @id_card_template.id_card_template_benefits.length == 14
|
||||
format.html { redirect_to '/dev_tools/new_id_card_setup', notice: "Template was successfully created." }
|
||||
# format.json { render :show, status: :created, location: @employer }
|
||||
else
|
||||
format.html { render :new_id_card_template, status: :unprocessable_entity }
|
||||
# format.json { render json: @employer.errors, status: :unprocessable_entity }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
def new_id_card_setup
|
||||
@id_card_templates = IdCardTemplate.where.not(title: "BLANK")
|
||||
@id_card_template_benefits = IdCardTemplate.find_by(title: "BLANK").id_card_template_benefits
|
||||
end
|
||||
|
||||
def get_templates_benefits
|
||||
@id_card_benefits = IdCardBenefitsTemplate.find(params[:id]).id_card_benefits
|
||||
render json: @id_card_benefits.as_json
|
||||
end
|
||||
|
||||
def create_id_card_setup
|
||||
employer_general = params['general']
|
||||
hl_plan_code = Vhcs::HlPlanCode.new(
|
||||
group_number: employer_general['group_number'],
|
||||
medical_number: employer_general['group_number'],
|
||||
dental_number: '',
|
||||
plan_key: employer_general['pl_plan_key'],
|
||||
effect_date: employer_general['effect_date']
|
||||
)
|
||||
|
||||
# Replace fairos_info with template like for benefits
|
||||
fairos_info = Vhcs::HLRXCrosRef.where(pl_plan_key: 52).first
|
||||
hlrx_cros_ref = Vhcs::HLRXCrosRef.new(
|
||||
group_no: employer_general['group_number'],
|
||||
rx_group_id: employer_general['group_number'],
|
||||
help_desk: fairos_info.help_desk,
|
||||
customer_service: fairos_info.customer_service,
|
||||
web_url: fairos_info.web_url,
|
||||
pl_plan_key: employer_general['pl_plan_key']
|
||||
)
|
||||
|
||||
number_of_plans = params[:number_of_plans].to_i
|
||||
|
||||
number_of_plans.each do |i|
|
||||
value['benefits'].each do |ben_key, ben_value|
|
||||
Vhcs::HLEgglestonCardBenefit.create(
|
||||
plan_id: value['plan_id'],
|
||||
benefit_desc: ben_value["desc"],
|
||||
benefit: ben_value["value"],
|
||||
sequence: ben_key,
|
||||
plan_key: employer_general['pl_plan_key']
|
||||
)
|
||||
end
|
||||
end
|
||||
|
||||
respond_to do |format|
|
||||
if hl_plan_code.save && hlrx_cros_ref.save
|
||||
format.html { redirect_to '/dev_tools/new_id_card_setup', notice: "Card setup was successfully created." }
|
||||
# format.json { render :show, status: :created, location: @employer }
|
||||
else
|
||||
format.html { render :new_id_card_setup, status: :unprocessable_entity }
|
||||
# format.json { render json: @employer.errors, status: :unprocessable_entity }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
Reference in New Issue
Block a user