Employers working - onboarding to card print
This commit is contained in:
@@ -0,0 +1,57 @@
|
||||
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
|
||||
@@ -0,0 +1,70 @@
|
||||
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
|
||||
@@ -0,0 +1,70 @@
|
||||
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
|
||||
@@ -1,24 +1,54 @@
|
||||
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 'employer_setup/employer_information'
|
||||
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 = BenefitsWordDocProcessor.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 'employer_setup/employer_information'
|
||||
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)
|
||||
|
||||
@@ -31,8 +61,69 @@ class EmployerSetupController < ApplicationController
|
||||
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,
|
||||
|
||||
@@ -0,0 +1,259 @@
|
||||
class EmployersController < ApplicationController
|
||||
def index
|
||||
@employers = Employer.all
|
||||
end
|
||||
|
||||
def show
|
||||
@employer = Employer.find_by(slug: params[:id])
|
||||
end
|
||||
|
||||
def new
|
||||
@employer = Employer.new
|
||||
@employer.build_plan_with_default_benefits
|
||||
@plan_templates = IdCardBenefitsTemplate.where.not(title: "BLANK")
|
||||
render :new
|
||||
end
|
||||
|
||||
def import
|
||||
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 = BenefitsWordDocProcessor.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
|
||||
@plan_templates = IdCardBenefitsTemplate.where.not(title: "BLANK")
|
||||
render :new
|
||||
end
|
||||
end
|
||||
|
||||
def edit
|
||||
@employer = Employer.find_by(slug: params[:id])
|
||||
@plan_templates = IdCardBenefitsTemplate.where.not(title: "BLANK")
|
||||
render :edit
|
||||
# @resource = Resource.find(params[:id])
|
||||
end
|
||||
|
||||
def update
|
||||
puts "~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"
|
||||
employer_params = Employer.permitted_params(params)
|
||||
@employer = Employer.find(params[:id])
|
||||
|
||||
if @employer.update(employer_params)
|
||||
puts "sucess"
|
||||
redirect_to employer_path(@employer.slug), notice: 'Employer was successfully updated.'
|
||||
else
|
||||
puts "fail"
|
||||
render :edit, status: :unprocessable_entity
|
||||
end
|
||||
|
||||
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.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
|
||||
@@ -0,0 +1,25 @@
|
||||
class SampleIdCardsController < ApplicationController
|
||||
|
||||
|
||||
def generate_sample
|
||||
@employer = Employer.find_by(slug: params[:employer_slug])
|
||||
sample_cards_pdf = SampleCardGenerator.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'
|
||||
|
||||
end
|
||||
|
||||
def generate_print
|
||||
@employer = Employer.find_by(slug: params[:employer_slug])
|
||||
sample_cards_pdf = EmployerCardsGenerator.new(@employer).call
|
||||
|
||||
send_data sample_cards_pdf.to_pdf,
|
||||
filename: "#{@employer.name.parameterize(separator: "_")}_print_cards_#{Date.today}.pdf",
|
||||
type: "application/pdf",
|
||||
disposition: 'attachment'
|
||||
|
||||
end
|
||||
end
|
||||
Reference in New Issue
Block a user