110 lines
3.3 KiB
Ruby
110 lines
3.3 KiB
Ruby
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
|