Prod build process

This commit is contained in:
Jason Jordan
2026-05-06 13:28:16 -04:00
parent 1d9025276d
commit e0101be567
223 changed files with 1861 additions and 7105 deletions
+11
View File
@@ -1,4 +1,15 @@
# frozen_string_literal: true
class ApplicationController < ActionController::Base
include Pundit::Authorization
before_action :authenticate_user!
def after_sign_in_path_for(resource)
stored_location_for(resource) || dashboard_path
end
def after_sign_out_path_for(resource_or_scope)
root_path
end
end
-69
View File
@@ -1,69 +0,0 @@
class ArticlesController < ApplicationController
before_action :set_article, only: %i[ show edit update destroy ]
# GET /articles or /articles.json
def index
@articles = Article.all
end
# GET /articles/1 or /articles/1.json
def show
end
# GET /articles/new
def new
@article = Article.new
end
# GET /articles/1/edit
def edit
end
# POST /articles or /articles.json
def create
@article = Article.new(article_params)
respond_to do |format|
if @article.save
format.html { redirect_to @article, notice: "Article was successfully created." }
format.json { render :show, status: :created, location: @article }
else
format.html { render :new, status: :unprocessable_entity }
format.json { render json: @article.errors, status: :unprocessable_entity }
end
end
end
# PATCH/PUT /articles/1 or /articles/1.json
def update
respond_to do |format|
if @article.update(article_params)
format.html { redirect_to @article, notice: "Article was successfully updated." }
format.json { render :show, status: :ok, location: @article }
else
format.html { render :edit, status: :unprocessable_entity }
format.json { render json: @article.errors, status: :unprocessable_entity }
end
end
end
# DELETE /articles/1 or /articles/1.json
def destroy
@article.destroy
respond_to do |format|
format.html { redirect_to articles_url, notice: "Article was successfully destroyed." }
format.json { head :no_content }
end
end
private
# Use callbacks to share common setup or constraints between actions.
def set_article
@article = Article.find(params[:id])
end
# Only allow a list of trusted parameters through.
def article_params
params.require(:article).permit(:title, :content)
end
end
@@ -1,57 +0,0 @@
class CardLogoFilesController < ApplicationController
def index
end
def show
end
def image
logo_file = CardLogoFile.find_by(filename: params[:id])
puts params[:id]
logo_binary = logo_file.image_data
logo_filename = logo_file.filename
logo_file_type = logo_file.content_type
send_data logo_binary,
filename: logo_filename,
# type: logo_file_type,
disposition: 'inline'
end
def new
end
def create
file = card_logo_file_params["logo_file"]
if file.present? && file.is_a?(ActionDispatch::Http::UploadedFile)
filename = file.original_filename
# binary_data = file.read
binary_data = File.binread(file)
meme_type = Marcel::MimeType.for(file)
CardLogoFile.create(
filename: filename,
image_data: binary_data,
content_type: meme_type,
logo_type: card_logo_file_params["logo_type"]
)
end
end
def edit
end
def update
end
def destroy
end
private
def card_logo_file_params
params.require(:card_logo_file).permit(:logo_file, :logo_type)
end
end
@@ -1,70 +0,0 @@
class CardProvidersController < ApplicationController
before_action :set_card_provider, only: %i[ show edit update destroy ]
# GET /card_providers or /card_providers.json
def index
@card_providers = CardProvider.all
end
# GET /card_providers/1 or /card_providers/1.json
def show
end
# GET /card_providers/new
def new
@card_provider = CardProvider.new
end
# GET /card_providers/1/edit
def edit
end
# POST /card_providers or /card_providers.json
def create
@card_provider = CardProvider.new(card_provider_params)
respond_to do |format|
if @card_provider.save
format.html { redirect_to @card_provider, notice: "Card provider was successfully created." }
format.json { render :show, status: :created, location: @card_provider }
else
format.html { render :new, status: :unprocessable_entity }
format.json { render json: @card_provider.errors, status: :unprocessable_entity }
end
end
end
# PATCH/PUT /card_providers/1 or /card_providers/1.json
def update
respond_to do |format|
if @card_provider.update(card_provider_params)
format.html { redirect_to @card_provider, notice: "Card provider was successfully updated.", status: :see_other }
format.json { render :show, status: :ok, location: @card_provider }
else
format.html { render :edit, status: :unprocessable_entity }
format.json { render json: @card_provider.errors, status: :unprocessable_entity }
end
end
end
# DELETE /card_providers/1 or /card_providers/1.json
def destroy
@card_provider.destroy!
respond_to do |format|
format.html { redirect_to card_providers_path, notice: "Card provider was successfully destroyed.", status: :see_other }
format.json { head :no_content }
end
end
private
# Use callbacks to share common setup or constraints between actions.
def set_card_provider
@card_provider = CardProvider.find(params[:id])
end
# Only allow a list of trusted parameters through.
def card_provider_params
params.require(:card_provider).permit(:provider_code, :provider_line_1, :provider_line_2, :provider_line_3, :provider_line_4, :provider_line_5, :mail_to, :mail_to_2, :contact_line_1, :contact_line_2, :contact_line_3, :group_number, :claim_to_1, :claim_to_2, :claim_to_3, :claim_to_4, :claim_to_5, :claim_to_6, :claim_to_7, :claim_to_8, :claim_to_9, :claim_to_10, :claim_to_11, :provider_line_6, :provider_line_7, :provider_line_8, :provider_line_9, :provider_line_10, :provider_line_11, :rx_group_id, :rx_contact, :provider_lookup_1, :provider_lookup_2, :precert_1, :precert_2, :precert_3, :precert_4, :precert_5, :precert_6, :provider_line_12, :claim_to_12)
end
end
-70
View File
@@ -1,70 +0,0 @@
class CardRxesController < ApplicationController
before_action :set_card_rx, only: %i[ show edit update destroy ]
# GET /card_rxes or /card_rxes.json
def index
@card_rxes = CardRx.all
end
# GET /card_rxes/1 or /card_rxes/1.json
def show
end
# GET /card_rxes/new
def new
@card_rx = CardRx.new
end
# GET /card_rxes/1/edit
def edit
end
# POST /card_rxes or /card_rxes.json
def create
@card_rx = CardRx.new(card_rx_params)
respond_to do |format|
if @card_rx.save
format.html { redirect_to @card_rx, notice: "Card rx was successfully created." }
format.json { render :show, status: :created, location: @card_rx }
else
format.html { render :new, status: :unprocessable_entity }
format.json { render json: @card_rx.errors, status: :unprocessable_entity }
end
end
end
# PATCH/PUT /card_rxes/1 or /card_rxes/1.json
def update
respond_to do |format|
if @card_rx.update(card_rx_params)
format.html { redirect_to @card_rx, notice: "Card rx was successfully updated.", status: :see_other }
format.json { render :show, status: :ok, location: @card_rx }
else
format.html { render :edit, status: :unprocessable_entity }
format.json { render json: @card_rx.errors, status: :unprocessable_entity }
end
end
end
# DELETE /card_rxes/1 or /card_rxes/1.json
def destroy
@card_rx.destroy!
respond_to do |format|
format.html { redirect_to card_rxes_path, notice: "Card rx was successfully destroyed.", status: :see_other }
format.json { head :no_content }
end
end
private
# Use callbacks to share common setup or constraints between actions.
def set_card_rx
@card_rx = CardRx.find(params[:id])
end
# Only allow a list of trusted parameters through.
def card_rx_params
params.require(:card_rx).permit(:help_desk, :customer_service, :web_url)
end
end
-13
View File
@@ -1,13 +0,0 @@
class CommentsController < ApplicationController
before_action :set_article
def create
@article.comments.create! params.required(:comment).permit(:content)
redirect_to @article
end
private
def set_article
@article = Article.find(params[:article_id])
end
end
+4
View File
@@ -0,0 +1,4 @@
class DashboardController < ApplicationController
def index
end
end
@@ -1,257 +0,0 @@
class EmployerSetupController < ApplicationController
def index
@employer_setups = EmployerSetupProcess.all
end
def show
end
def new
@employer_setup = EmployerSetupProcess.new
@employer_setup.plans.build
@plan_templates = IdCardBenefitsTemplate.where.not(title: "BLANK")
render :new
end
def import
word_doc = params[:employer_setup_process][:import_from_word]
@plan_templates = IdCardBenefitsTemplate.where.not(title: "BLANK")
if word_doc.present? && word_doc.is_a?(ActionDispatch::Http::UploadedFile)
@employer_setup = WordDocProcessor.new(word_doc.tempfile).call
render :edit
else
@employer_setup = EmployerSetupProcess.new
@employer_setup.plans.build
render :new
end
end
def create
employer_setup_process_params = EmployerSetupProcess.permitted_params(params)
puts "---Params---"
puts employer_setup_process_params
# post_image_processing_params = process_logos(employer_setup_process_params)
@employer_setup = EmployerSetupProcess.new(employer_setup_process_params)
if @employer_setup.save
# update_logos_with_employer_setup_information()
redirect_to @employer_setup, notice: 'Employer Setup Process initiated'
else
@plan_templates = IdCardBenefitsTemplate.where.not(title: "BLANK")
render :new
end
end
def edit
@employer_setup = EmployerSetupProcess.find_by(slug: params[:id])
@plan_templates = IdCardBenefitsTemplate.where.not(title: "BLANK")
render :edit
# @resource = Resource.find(params[:id])
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
def destroy
# @resource = Resource.find(params[:id])
# @resource.destroy
# redirect_to resources_url, notice: 'Resource was successfully destroyed.'
end
private
def process_logos(employer_setup_process_params)
@uploaded_logos = []
employer_logo = employer_setup_process_params["employer_logo"]
if employer_logo.present? && employer_logo.is_a?(ActionDispatch::Http::UploadedFile)
filename = employer_logo.original_filename
binary_data = employer_logo.read
meme_type = Marcel::MimeType.for(employer_logo)
CardLogoFile.create(
filename: filename,
image_data: binary_data,
content_type: meme_type,
logo_type: "employer"
)
@uploaded_logos.push(filename)
employer_setup_process_params["employer_logo"] = filename
end
network_logos = employer_setup_process_params["alternate_network_logos_attributes"]
if network_logos.present?
network_logos.each do |alt|
network_logo = alt.last["network_logo"]
if network_logo.present? && network_logo.is_a?(ActionDispatch::Http::UploadedFile)
filename = network_logo.original_filename
binary_data = network_logo.read
meme_type = Marcel::MimeType.for(network_logo)
CardLogoFile.create(
filename: filename,
image_data: binary_data,
content_type: meme_type,
logo_type: "network"
)
@uploaded_logos.push(filename)
end
alt.last["network_logo"] = @uploaded_logos.last
end
end
employer_setup_process_params
end
def update_logos_with_employer_setup_information()
@uploaded_logos.each do |logo|
logo_file = CardLogoFile.find_by(filename: logo)
if logo_file.present? && @employer_setup.present?
logo_file.employer_setup_process = @employer_setup
logo_file.save
end
end
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 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
# puts "/////\\\\\\||||||"
# puts session[:employer_setup_data]
# puts session[:employer_setup_data]['employer_setup_process_id']
puts form_method
form_method.new(session[:employer_setup_data]['employer_setup_process_id'])
end
def process_step(step_name)
@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]
employer_setup_process_id = session[:employer_setup_data]['employer_setup_process_id']
# puts session[:employer_setup_data]
puts "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
puts params
@form = @form_method.new(employer_setup_process_id, params)
if @form.pl_plan_key.blank?
@form.pl_plan_key = session[:employer_setup_data]['pl_plan_key']
end
if @form.valid? && @form.save
pl_plan_key = @top_form.pl_plan_key || @form.pl_plan_key
# session[:employer_setup_data].merge!({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
false
end
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(
# :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
@@ -1,244 +0,0 @@
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?
@process = EmployerSetupProcess.create(status: "form")
session[:employer_setup_data] = { "employer_setup_process_id" => @process.id }
end
puts "-S--------------------------------------"
puts session[:employer_setup_data]
# session[:employer_setup_data]['current_step'] = 'plans'
@top_form = EmployerSetupForm.new(session[:employer_setup_data])
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)
session[:employer_setup_data]['current_step'] = @top_form.next_step
puts "---------------------------------------"
puts "pass"
puts "next - #{@top_form.next_step}"
puts session[:employer_setup_data]
puts "---------------------------------------"
redirect_to new_employer_setup_path
else
puts "fail"
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 form_for_step
step_name = @top_form.current_step
form_method = "EmployerSetup#{step_name.camelize}Form".constantize
# puts "/////\\\\\\||||||"
# puts session[:employer_setup_data]
# puts session[:employer_setup_data]['employer_setup_process_id']
puts form_method
form_method.new(session[:employer_setup_data]['employer_setup_process_id'])
end
def process_step(step_name)
@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]
employer_setup_process_id = session[:employer_setup_data]['employer_setup_process_id']
# puts session[:employer_setup_data]
puts "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
puts params
@form = @form_method.new(employer_setup_process_id, params)
if @form.pl_plan_key.blank?
@form.pl_plan_key = session[:employer_setup_data]['pl_plan_key']
end
if @form.valid? && @form.save
pl_plan_key = @top_form.pl_plan_key || @form.pl_plan_key
# session[:employer_setup_data].merge!({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
false
end
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(
# :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
@@ -1,109 +0,0 @@
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,
:effective_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'],
# effective_date: @final_data['employer']['effective_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
@@ -1,89 +0,0 @@
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
+12 -206
View File
@@ -4,6 +4,9 @@ class EmployersController < ApplicationController
def index
@uninitialized = Employer.in_automation_initilization
@with_active_id_card_setup = Employer.with_active_id_card_setup
current_group_numbers = @with_active_id_card_setup.pluck(:group_number)
valid_group_numbers = ["62210","61986","42018","41283","0230643","43190","0230642","0230644","0230646","0233955","600102","0249127","0257902","0257947","600112","0260085","600114","0261611","600117","0261684","0261685","0261826","600121","0265450","600123","0267470","0268540","0268599"]
@beta_unassigned_group_numbers = valid_group_numbers - current_group_numbers
@deactivated = Employer.deactivated
end
@@ -16,29 +19,13 @@ class EmployersController < ApplicationController
render :new
end
# def import_old
# word_doc = params[:employer][:import_from_word]
# @plan_templates = IdCardBenefitsTemplate.where.not(title: "BLANK")
# if word_doc.present? && word_doc.is_a?(ActionDispatch::Http::UploadedFile)
# @employer = WordDocProcessor.new(word_doc.tempfile).call
# else
# @employer = Employer.new
# @employer.build_plan_with_default_benefits
# end
# render :new
# end
def create
employer_params = Employer.permitted_params(params)
puts "---Params---"
puts employer_params
# post_image_processing_params = process_logos(employer_setup_process_params)
@employer = Employer.new(employer_params)
if @employer.save
# update_logos_with_employer_setup_information()
redirect_to employer_path(@employer.slug), notice: 'Employer Saved'
else
render :new
render :new, status: :unprocessable_entity
end
end
@@ -48,7 +35,6 @@ class EmployersController < ApplicationController
end
def update
puts "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
employer_params = Employer.permitted_params(params)
@employer = Employer.find(params[:id])
@@ -63,9 +49,9 @@ class EmployersController < ApplicationController
end
def destroy
# @resource = Resource.find(params[:id])
# @resource.destroy
# redirect_to resources_url, notice: 'Resource was successfully destroyed.'
@employer = Employer.find(params[:id])
@employer.destroy
redirect_to employers_path, notice: "#{@employer.name} was successfully deleted."
end
@@ -83,6 +69,11 @@ class EmployersController < ApplicationController
redirect_to employer_path(@employer.slug)
end
def beta_automation_simulation
BetaAutomationSimulationService.new().call
redirect_to employers_path
end
def import
word_doc = params[:employer][:import_from_word]
if word_doc.present? && word_doc.is_a?(ActionDispatch::Http::UploadedFile)
@@ -97,189 +88,4 @@ class EmployersController < ApplicationController
private
# def process_logos(employer_setup_process_params)
# @uploaded_logos = []
# employer_logo = employer_setup_process_params["employer_logo"]
# if employer_logo.present? && employer_logo.is_a?(ActionDispatch::Http::UploadedFile)
# filename = employer_logo.original_filename
# binary_data = employer_logo.read
# meme_type = Marcel::MimeType.for(employer_logo)
# CardLogoFile.create(
# filename: filename,
# image_data: binary_data,
# content_type: meme_type,
# logo_type: "employer"
# )
# @uploaded_logos.push(filename)
# employer_setup_process_params["employer_logo"] = filename
# end
# network_logos = employer_setup_process_params["alternate_network_logos_attributes"]
# if network_logos.present?
# network_logos.each do |alt|
# network_logo = alt.last["network_logo"]
# if network_logo.present? && network_logo.is_a?(ActionDispatch::Http::UploadedFile)
# filename = network_logo.original_filename
# binary_data = network_logo.read
# meme_type = Marcel::MimeType.for(network_logo)
# CardLogoFile.create(
# filename: filename,
# image_data: binary_data,
# content_type: meme_type,
# logo_type: "network"
# )
# @uploaded_logos.push(filename)
# end
# alt.last["network_logo"] = @uploaded_logos.last
# end
# end
# employer_setup_process_params
# end
# def update_logos_with_employer_setup_information()
# @uploaded_logos.each do |logo|
# logo_file = CardLogoFile.find_by(filename: logo)
# if logo_file.present? && @employer.present?
# logo_file.employer_setup_process = @employer
# logo_file.save
# end
# end
# 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 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
# # puts "/////\\\\\\||||||"
# # puts session[:employer_setup_data]
# # puts session[:employer_setup_data]['employer_setup_process_id']
# puts form_method
# form_method.new(session[:employer_setup_data]['employer_setup_process_id'])
# end
# def process_step(step_name)
# @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]
# employer_setup_process_id = session[:employer_setup_data]['employer_setup_process_id']
# # puts session[:employer_setup_data]
# puts "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
# puts params
# @form = @form_method.new(employer_setup_process_id, params)
# if @form.pl_plan_key.blank?
# @form.pl_plan_key = session[:employer_setup_data]['pl_plan_key']
# end
# if @form.valid? && @form.save
# pl_plan_key = @top_form.pl_plan_key || @form.pl_plan_key
# # session[:employer_setup_data].merge!({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
# false
# end
# 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(
# :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
@@ -13,19 +13,19 @@ module IdCard
def create
file = logo_params["logo_file"]
if file.present? && file.is_a?(ActionDispatch::Http::UploadedFile)
employer_id = logo_params["employer_id"]
employer = Employer.find(employer_id)
setup = employer.id_card_setup
if setup.present? && file.present? && file.is_a?(ActionDispatch::Http::UploadedFile)
filename = file.original_filename
# binary_data = file.read
binary_data = File.binread(file)
meme_type = Marcel::MimeType.for(file)
employerlogo = IdCard::EmployerLogo.create(
filename: filename,
image_data: binary_data,
content_type: meme_type
)
employer_logo = IdCard::EmployerLogo.find_or_create_by(filename: filename, setup_id: setup.id)
employer_logo.update(image_data: binary_data)
render json: employerlogo, only: [:id], status: :ok
render json: employer_logo, only: [:id], status: :ok
end
end
@@ -54,7 +54,7 @@ module IdCard
private
def logo_params
params.require(:id_card_employer_logo).permit(:logo_file)
params.require(:id_card_employer_logo).permit(:logo_file, :employer_id)
end
end
+3 -8
View File
@@ -38,14 +38,9 @@ module IdCard
end
def generate_sample
if Integer(params[:id], exception: false).is_a?(Integer)
pl_plan_key = params[:id].to_s
@employer = Employer.find_by(pl_plan_key: pl_plan_key)
else
slug = params[:id]
@employer = Employer.find_by(slug: slug)
end
sample_cards_pdf = IdCardPrinterService::SampleCardsGenerator.new(@employer).call
employer_id = params[:id]
@employer = Employer.find(employer_id)
sample_cards_pdf = IdCardPrinterService::SampleCardsGenerator.new(@employer.id).call
send_data sample_cards_pdf.to_pdf,
filename: "#{@employer.name.parameterize(separator: "_")}_sample_cards_#{Date.today}.pdf",
@@ -1,49 +1,49 @@
module IdCard
class PrintDataController < ApplicationController
def generate_sample
@employer = Employer.find_by(slug: params[:employer_slug])
sample_cards_pdf = IdCardPrinterService::SampleCardsGenerator.new(@employer).call
# def generate_sample
# @employer = Employer.find_by(slug: params[:employer_slug])
# sample_cards_pdf = IdCardPrinterService::SampleCardsGenerator.new(@employer).call
send_data sample_cards_pdf.to_pdf,
filename: "#{@employer.name.parameterize(separator: "_")}_sample_cards_#{Date.today}.pdf",
type: "application/pdf",
disposition: 'attachment'
# send_data sample_cards_pdf.to_pdf,
# filename: "#{@employer.name.parameterize(separator: "_")}_sample_cards_#{Date.today}.pdf",
# type: "application/pdf",
# disposition: 'attachment'
end
# end
def generate_print
@employer = Employer.find_by(slug: params[:employer_slug])
cards_pdf = IdCardPrinterService::EmployerCardsGenerator.new(@employer, "PrintCard").call
# def generate_print
# @employer = Employer.find_by(slug: params[:employer_slug])
# cards_pdf = IdCardPrinterService::EmployerCardsGenerator.new(@employer, "PrintCard").call
send_data cards_pdf.to_pdf,
filename: "#{@employer.name.parameterize(separator: "_")}_print_cards_#{Date.today}.pdf",
type: "application/pdf",
disposition: 'attachment'
# send_data cards_pdf.to_pdf,
# filename: "#{@employer.name.parameterize(separator: "_")}_print_cards_#{Date.today}.pdf",
# type: "application/pdf",
# disposition: 'attachment'
end
# end
def generate_mobile_display
@employer = Employer.find_by(slug: params[:employer_slug])
cards_pdf = IdCardPrinterService::EmployerCardsGenerator.new(@employer, "MobileDisplayCard").call
# def generate_mobile_display
# @employer = Employer.find_by(slug: params[:employer_slug])
# cards_pdf = IdCardPrinterService::EmployerCardsGenerator.new(@employer, "MobileDisplayCard").call
send_data cards_pdf.to_pdf,
filename: "#{@employer.name.parameterize(separator: "_")}_mobile_display_cards_#{Date.today}.pdf",
type: "application/pdf",
disposition: 'attachment'
# send_data cards_pdf.to_pdf,
# filename: "#{@employer.name.parameterize(separator: "_")}_mobile_display_cards_#{Date.today}.pdf",
# type: "application/pdf",
# disposition: 'attachment'
end
# end
def generate_full_page
@employer = Employer.find_by(slug: params[:employer_slug])
cards_pdf = IdCardPrinterService::EmployerCardsGenerator.new(@employer, "FullPageCard", true).call
# def generate_full_page
# @employer = Employer.find_by(slug: params[:employer_slug])
# cards_pdf = IdCardPrinterService::EmployerCardsGenerator.new(@employer, "FullPageCard", true).call
cards_pdf.rewind
send_data cards_pdf.sysread,
filename: "#{@employer.name.parameterize(separator: "_")}_full_page_cards_#{Date.today}.zip",
type: 'application/zip',
disposition: 'attachment'
# cards_pdf.rewind
# send_data cards_pdf.sysread,
# filename: "#{@employer.name.parameterize(separator: "_")}_full_page_cards_#{Date.today}.zip",
# type: 'application/zip',
# disposition: 'attachment'
end
# end
end
end
+18 -217
View File
@@ -3,38 +3,17 @@ module IdCard
before_action :set_employer_and_setup
# View Methods
# def edit
# @employer = Employer.find_by(slug: params[:employer_id])
# if @employer.id_card_enabled?
# @setup = @employer.id_card_setup
# else
# @setup = @employer.create_id_card_setup
# end
# render :edit
# end
# def update
# setup_params = IdCard::Setup.permitted_params(params)
# @setup = IdCard::Setup.find(params[:id])
# if @setup.update(setup_params)
# puts "sucess"
# redirect_to employer_path(@setup.employer.slug), notice: 'ID Card Setup was successfully updated.'
# else
# puts "fail"
# render :edit, status: :unprocessable_entity
# end
# end
def index
provider_defaults = IdCard::ProviderSection.defaults
@provider_options = provider_defaults.map { |p| ["Default #{p.title}", p.id] }.concat(provider_defaults.map { |p| ["New #{p.title}", "new|#{p.id}"] })
if @setup.provider_section_id.present? && provider_defaults.map(&:id).exclude?(@setup.provider_section_id)
@provider_options.insert(0, ["#{@employer.name} Custom", @setup.provider_section_id])
if @setup.provider_section.present? && !@setup.provider_section.default
employer_custom_options = @setup.provider_section
else
employer_custom_options = IdCard::ProviderSection.new(title: "#{@employer.name} Custom")
end
@rx_options = IdCard::RxSection.all
@fairos_rx_id = IdCard::RxSection.find_by(title: "FairosRx").id
@provider_options = (IdCard::ProviderSection.where(default: true) + [employer_custom_options])
.compact.uniq.map { |option| [option.display_title, option.id || "99"] }
@rx_options = IdCard::RxSection.where.not(title: nil)
@rx_default = IdCard::RxSection.find_by(title: "FairosRx")
render :index
end
@@ -50,6 +29,15 @@ module IdCard
redirect_to employer_path(@employer.slug), notice: 'ID Card Setup was successfully updated.'
else
puts "fail"
if @setup.provider_section.present? && !@setup.provider_section.default
employer_custom_options = @setup.provider_section
else
employer_custom_options = IdCard::ProviderSection.new(title: "#{@employer.name} Custom")
end
@provider_options = (IdCard::ProviderSection.where(default: true) + [employer_custom_options])
.compact.uniq.map { |option| [option.display_title, option.id || "99"] }
@rx_options = IdCard::RxSection.all
@rx_default = IdCard::RxSection.find_by(title: "FairosRx")
render :index, status: :unprocessable_entity
end
end
@@ -66,6 +54,7 @@ module IdCard
redirect_to employer_path(@setup.employer.slug), notice: 'ID Card Plans successfully updated.'
else
puts "fail"
@plan_templates = IdCard::Plan.templates
render :plans, status: :unprocessable_entity
end
@@ -99,9 +88,6 @@ module IdCard
end
def destroy
# @resource = Resource.find(params[:id])
# @resource.destroy
# redirect_to resources_url, notice: 'Resource was successfully destroyed.'
end
# API Methods
@@ -117,190 +103,5 @@ module IdCard
end
end
# def process_logos(employer_setup_process_params)
# @uploaded_logos = []
# employer_logo = employer_setup_process_params["employer_logo"]
# if employer_logo.present? && employer_logo.is_a?(ActionDispatch::Http::UploadedFile)
# filename = employer_logo.original_filename
# binary_data = employer_logo.read
# meme_type = Marcel::MimeType.for(employer_logo)
# CardLogoFile.create(
# filename: filename,
# image_data: binary_data,
# content_type: meme_type,
# logo_type: "employer"
# )
# @uploaded_logos.push(filename)
# employer_setup_process_params["employer_logo"] = filename
# end
# network_logos = employer_setup_process_params["alternate_network_logos_attributes"]
# if network_logos.present?
# network_logos.each do |alt|
# network_logo = alt.last["network_logo"]
# if network_logo.present? && network_logo.is_a?(ActionDispatch::Http::UploadedFile)
# filename = network_logo.original_filename
# binary_data = network_logo.read
# meme_type = Marcel::MimeType.for(network_logo)
# CardLogoFile.create(
# filename: filename,
# image_data: binary_data,
# content_type: meme_type,
# logo_type: "network"
# )
# @uploaded_logos.push(filename)
# end
# alt.last["network_logo"] = @uploaded_logos.last
# end
# end
# employer_setup_process_params
# end
# def update_logos_with_employer_setup_information()
# @uploaded_logos.each do |logo|
# logo_file = CardLogoFile.find_by(filename: logo)
# if logo_file.present? && @employer.present?
# logo_file.employer_setup_process = @employer
# logo_file.save
# end
# end
# 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 network_field_exceptions_params
# params.require(:employer_setup_network_field_exceptions_form).permit(
# network_field_exceptions: [:network_logo, field_exceptions: [:type, :value]],
# )
# end
# def form_for_step
# step_name = @top_form.current_step
# form_method = "EmployerSetup#{step_name.camelize}Form".constantize
# # puts "/////\\\\\\||||||"
# # puts session[:employer_setup_data]
# # puts session[:employer_setup_data]['employer_setup_process_id']
# puts form_method
# form_method.new(session[:employer_setup_data]['employer_setup_process_id'])
# end
# def process_step(step_name)
# @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]
# employer_setup_process_id = session[:employer_setup_data]['employer_setup_process_id']
# # puts session[:employer_setup_data]
# puts "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
# puts params
# @form = @form_method.new(employer_setup_process_id, params)
# if @form.pl_plan_key.blank?
# @form.pl_plan_key = session[:employer_setup_data]['pl_plan_key']
# end
# if @form.valid? && @form.save
# pl_plan_key = @top_form.pl_plan_key || @form.pl_plan_key
# # session[:employer_setup_data].merge!({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
# false
# end
# 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_field_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(
# :current_step,
# :name,
# :employer_logo,
# :group_number,
# :pl_plan_key,
# :effect_date,
# :number_of_plans,
# :network,
# :number_of_additional_network_logos,
# network_field_exceptions: [:network_logo, field_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
end
@@ -1,89 +0,0 @@
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_template_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
@@ -1,57 +0,0 @@
class IdCardEmployerLogoController < ApplicationController
def index
end
def show
end
def image
logo_file = IdCard::EmployerLogo.find_by(filename: params[:id])
puts params[:id]
if logo_file
logo_binary = logo_file.image_data
logo_filename = logo_file.filename
send_data logo_binary,
filename: logo_filename,
disposition: 'inline'
end
end
def new
end
def create
file = card_logo_file_params["logo_file"]
if file.present? && file.is_a?(ActionDispatch::Http::UploadedFile)
filename = file.original_filename
# binary_data = file.read
binary_data = File.binread(file)
meme_type = Marcel::MimeType.for(file)
CardLogoFile.create(
filename: filename,
image_data: binary_data,
content_type: meme_type,
logo_type: card_logo_file_params["logo_type"]
)
end
end
def edit
end
def update
end
def destroy
end
private
def card_logo_file_params
params.require(:card_logo_file).permit(:logo_file, :logo_type)
end
end
-4
View File
@@ -1,4 +0,0 @@
class WelcomeController < ApplicationController
def index
end
end