Employer table broken up and new idcard module setup
This commit is contained in:
@@ -1,4 +1,6 @@
|
||||
class EmployersController < ApplicationController
|
||||
|
||||
# View Methods
|
||||
def index
|
||||
@employers = Employer.all
|
||||
end
|
||||
@@ -12,16 +14,6 @@ class EmployersController < ApplicationController
|
||||
render :new
|
||||
end
|
||||
|
||||
def import
|
||||
word_doc = params[:employer][:import_from_word]
|
||||
if word_doc.present? && word_doc.is_a?(ActionDispatch::Http::UploadedFile)
|
||||
@employer = BenefitsWordDocProcessor.new(word_doc.tempfile).call
|
||||
else
|
||||
@employer = Employer.new
|
||||
end
|
||||
render :new
|
||||
end
|
||||
|
||||
# def import_old
|
||||
# word_doc = params[:employer][:import_from_word]
|
||||
# @plan_templates = IdCardBenefitsTemplate.where.not(title: "BLANK")
|
||||
@@ -74,6 +66,18 @@ class EmployersController < ApplicationController
|
||||
# redirect_to resources_url, notice: 'Resource was successfully destroyed.'
|
||||
end
|
||||
|
||||
# API Methods
|
||||
|
||||
def import
|
||||
word_doc = params[:employer][:import_from_word]
|
||||
if word_doc.present? && word_doc.is_a?(ActionDispatch::Http::UploadedFile)
|
||||
@employer = BenefitsWordDocProcessor.new(word_doc.tempfile).call
|
||||
else
|
||||
@employer = Employer.new
|
||||
end
|
||||
render :new
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
# def process_logos(employer_setup_process_params)
|
||||
|
||||
@@ -1,56 +1,61 @@
|
||||
class IdCard::EmployerLogosController < ApplicationController
|
||||
module IdCard
|
||||
class EmployerLogosController < ApplicationController
|
||||
|
||||
def index
|
||||
end
|
||||
|
||||
def show
|
||||
end
|
||||
|
||||
def image
|
||||
logo_file = IdCard::EmployerLogo.find(params[:id])
|
||||
puts params[:id]
|
||||
logo_binary = logo_file.image_data
|
||||
logo_filename = logo_file.filename
|
||||
|
||||
send_data logo_binary,
|
||||
filename: logo_filename,
|
||||
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)
|
||||
|
||||
employerlogo = IdCard::EmployerLogo.create(
|
||||
filename: filename,
|
||||
image_data: binary_data,
|
||||
content_type: meme_type
|
||||
)
|
||||
|
||||
render json: employerlogo, only: [:id], status: :ok
|
||||
# View Methods
|
||||
def index
|
||||
end
|
||||
|
||||
def show
|
||||
end
|
||||
|
||||
def new
|
||||
end
|
||||
|
||||
def create
|
||||
file = logo_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)
|
||||
|
||||
employerlogo = IdCard::EmployerLogo.create(
|
||||
filename: filename,
|
||||
image_data: binary_data,
|
||||
content_type: meme_type
|
||||
)
|
||||
|
||||
render json: employerlogo, only: [:id], status: :ok
|
||||
end
|
||||
end
|
||||
|
||||
def edit
|
||||
end
|
||||
|
||||
def update
|
||||
end
|
||||
|
||||
def destroy
|
||||
end
|
||||
|
||||
# API Methods
|
||||
|
||||
def image
|
||||
logo_file = IdCard::EmployerLogo.find(params[:id])
|
||||
puts params[:id]
|
||||
logo_binary = logo_file.image_data
|
||||
logo_filename = logo_file.filename
|
||||
|
||||
send_data logo_binary,
|
||||
filename: logo_filename,
|
||||
disposition: 'inline'
|
||||
end
|
||||
|
||||
private
|
||||
|
||||
def logo_params
|
||||
params.require(:id_card_employer_logo).permit(:logo_file)
|
||||
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,236 +1,242 @@
|
||||
class IdCard::SetupController < ApplicationController
|
||||
module IdCard
|
||||
class SetupController < ApplicationController
|
||||
|
||||
def new
|
||||
@employer = Employer.find_by(slug: params[:employer])
|
||||
@setup = @employer.id_card_setup.new
|
||||
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
|
||||
# View Methods
|
||||
def new
|
||||
@employer = Employer.find_by(slug: params[:employer])
|
||||
@setup = @employer.create_id_card_setup
|
||||
render :new
|
||||
end
|
||||
end
|
||||
|
||||
def edit
|
||||
@employer = Employer.find_by(slug: params[:id])
|
||||
render :edit
|
||||
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
|
||||
def create
|
||||
xyz
|
||||
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
|
||||
end
|
||||
end
|
||||
|
||||
def edit
|
||||
@employer = Employer.find_by(slug: params[:id])
|
||||
render :edit
|
||||
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
|
||||
|
||||
# API Methods
|
||||
|
||||
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
|
||||
|
||||
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
|
||||
|
||||
@@ -1,43 +1,43 @@
|
||||
import { Controller } from "@hotwired/stimulus"
|
||||
|
||||
export default class extends Controller {
|
||||
static targets = ["dependentField"]
|
||||
|
||||
connect() {
|
||||
}
|
||||
|
||||
toggleFields() {
|
||||
console.log("--- in toggle --- ")
|
||||
const selector = this.element.querySelector('[data-action*="change->general-form#toggleFields"]');
|
||||
if (selector) {
|
||||
const selectedValue = selector.value
|
||||
this.field_match = false;
|
||||
this.dependentFieldTargets.forEach((field) => {
|
||||
// Check a data attribute on the field to see if it matches the selected value
|
||||
if (field.dataset.parentValue === selectedValue) {
|
||||
if (selectedValue == "network_logo") {
|
||||
field.parentElement.parentElement.classList.remove("hidden");
|
||||
} else {
|
||||
field.parentElement.classList.remove("hidden");
|
||||
}
|
||||
this.field_match = true;
|
||||
console.log("- ", selectedValue)
|
||||
console.log("-- ", this.field_match)
|
||||
} else {
|
||||
if (field.dataset.parentValue == "network_logo") {
|
||||
field.parentElement.parentElement.classList.add("hidden");
|
||||
} else {
|
||||
field.parentElement.classList.add("hidden");
|
||||
}
|
||||
}
|
||||
});
|
||||
if (!this.field_match) {
|
||||
console.log("--- ", this.field_match)
|
||||
const defaultOption = this.dependentFieldTargets.find(target => {
|
||||
return target.dataset.parentValue === 'default';
|
||||
});
|
||||
defaultOption.parentElement.classList.remove("hidden");
|
||||
}
|
||||
}
|
||||
}
|
||||
import { Controller } from "@hotwired/stimulus"
|
||||
|
||||
export default class extends Controller {
|
||||
static targets = ["dependentField"]
|
||||
|
||||
connect() {
|
||||
}
|
||||
|
||||
toggleFields() {
|
||||
console.log("--- in toggle --- ")
|
||||
const selector = this.element.querySelector('[data-action*="change->general-form#toggleFields"]');
|
||||
if (selector) {
|
||||
const selectedValue = selector.value
|
||||
this.field_match = false;
|
||||
this.dependentFieldTargets.forEach((field) => {
|
||||
// Check a data attribute on the field to see if it matches the selected value
|
||||
if (field.dataset.parentValue === selectedValue) {
|
||||
if (selectedValue == "network_logo") {
|
||||
field.parentElement.parentElement.classList.remove("hidden");
|
||||
} else {
|
||||
field.parentElement.classList.remove("hidden");
|
||||
}
|
||||
this.field_match = true;
|
||||
console.log("- ", selectedValue)
|
||||
console.log("-- ", this.field_match)
|
||||
} else {
|
||||
if (field.dataset.parentValue == "network_logo") {
|
||||
field.parentElement.parentElement.classList.add("hidden");
|
||||
} else {
|
||||
field.parentElement.classList.add("hidden");
|
||||
}
|
||||
}
|
||||
});
|
||||
if (!this.field_match) {
|
||||
console.log("--- ", this.field_match)
|
||||
const defaultOption = this.dependentFieldTargets.find(target => {
|
||||
return target.dataset.parentValue === 'default';
|
||||
});
|
||||
defaultOption.parentElement.classList.remove("hidden");
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,16 +1,16 @@
|
||||
import { Controller } from "@hotwired/stimulus"
|
||||
|
||||
export default class extends Controller {
|
||||
static targets = [ "name", "output" ]
|
||||
|
||||
connect() {
|
||||
// this.element.textContent = "Hello World!"
|
||||
console.log('Hello World hello_controller.js');
|
||||
}
|
||||
|
||||
greet() {
|
||||
console.log('greet');
|
||||
this.outputTarget.textContent =
|
||||
`Hello, ${this.nameTarget.value}!`
|
||||
}
|
||||
}
|
||||
import { Controller } from "@hotwired/stimulus"
|
||||
|
||||
export default class extends Controller {
|
||||
static targets = [ "name", "output" ]
|
||||
|
||||
connect() {
|
||||
// this.element.textContent = "Hello World!"
|
||||
console.log('Hello World hello_controller.js');
|
||||
}
|
||||
|
||||
greet() {
|
||||
console.log('greet');
|
||||
this.outputTarget.textContent =
|
||||
`Hello, ${this.nameTarget.value}!`
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,12 +4,12 @@ export default class extends Controller {
|
||||
static values = {
|
||||
logoType: String,
|
||||
employerName: String
|
||||
}
|
||||
static targets = ["preview", "previewContainer", "logoSelect", "logofield", "initialLogoFile"];
|
||||
}
|
||||
static targets = ["preview", "previewContainer", "logoSelect", "logoField", "initialLogoFile"];
|
||||
|
||||
async connect() {
|
||||
console.log('in connect');
|
||||
const initValue = this.logofieldTarget.value
|
||||
const initValue = this.logoFieldTarget.value
|
||||
console.log(initValue)
|
||||
if (initValue) {
|
||||
const response = await fetch(`/id_card/${this.logoTypeValue}_logos/${initValue}/image`); // Fetch the binary data
|
||||
@@ -25,41 +25,49 @@ export default class extends Controller {
|
||||
uploadLogo(event) {
|
||||
console.log('in uploadLogo');
|
||||
event.preventDefault()
|
||||
const file = event.target.files[0];
|
||||
if (!file) return;
|
||||
let logoFile = event.target.files[0];
|
||||
if (!logoFile) return;
|
||||
|
||||
const logoType = this.logoTypeValue
|
||||
|
||||
let newFileName = file.name
|
||||
let newFileName = logoFile.name
|
||||
if (logoType == "network") {
|
||||
console.log("n " + newFileName);
|
||||
newFileName = this.determineNetworkFilename(file)
|
||||
newFileName = this.determineNetworkFilename(logoFile)
|
||||
this.addOptionToSelect(newFileName)
|
||||
logoFile = new File([logoFile], newFileName)
|
||||
} else if (logoType == "employer") {
|
||||
newFileName = this.determineEmployerFilename(file)
|
||||
file.name = newFileName
|
||||
newFileName = this.determineEmployerFilename(logoFile)
|
||||
logoFile = new File([logoFile], newFileName)
|
||||
}
|
||||
|
||||
this.previewFile(file);
|
||||
this.uploadLogoToServer(file);
|
||||
|
||||
this.logofieldTarget.value = newFileName;
|
||||
|
||||
this.uploadLogoToServer(logoFile)
|
||||
.then((result) => {
|
||||
console.log(result);
|
||||
const logoId = result.id
|
||||
this.previewFile(logoFile);
|
||||
this.logoFieldTarget.value = logoId;
|
||||
})
|
||||
.catch((error) => {
|
||||
// Handle any errors that occurred
|
||||
console.error(error);
|
||||
});
|
||||
}
|
||||
|
||||
previewFile(file) {
|
||||
previewFile(logoFile) {
|
||||
console.log('in previewFile');
|
||||
const reader = new FileReader();
|
||||
reader.onload = (e) => {
|
||||
this.previewTarget.src = e.target.result;
|
||||
this.previewContainerTarget.classList.remove("hidden");
|
||||
};
|
||||
reader.readAsDataURL(file);
|
||||
reader.readAsDataURL(logoFile);
|
||||
}
|
||||
|
||||
async uploadLogoToServer(file) {
|
||||
async uploadLogoToServer(logoFile) {
|
||||
console.log('in uploadLogoToServer');
|
||||
const formData = new FormData();
|
||||
formData.append(`id_card_${this.logoTypeValue}_logo[logo_file]`, file);
|
||||
formData.append(`id_card_${this.logoTypeValue}_logo[logo_file]`, logoFile);
|
||||
|
||||
const csrfToken = document.querySelector("meta[name='csrf-token']").content;
|
||||
|
||||
@@ -74,11 +82,14 @@ export default class extends Controller {
|
||||
|
||||
if (response.ok) {
|
||||
console.log('Upload successful!')
|
||||
const data = await response.json();
|
||||
return data;
|
||||
} else {
|
||||
console.error("Failed to track event.");
|
||||
throw new Error(`HTTP error! status: ${response.status}`);
|
||||
}
|
||||
} catch (error) {
|
||||
console.error("Network error:", error);
|
||||
throw new Error("Network error:", error);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -86,17 +97,17 @@ export default class extends Controller {
|
||||
const blankOptionIndex = 0;
|
||||
const newOption = new Option(name, name, true, true)
|
||||
|
||||
if (this.logofieldTarget.options.length > blankOptionIndex + 1) {
|
||||
this.logofieldTarget.insertBefore(newOption, this.logofieldTarget.options[blankOptionIndex + 1]);
|
||||
if (this.logoFieldTarget.options.length > blankOptionIndex + 1) {
|
||||
this.logoFieldTarget.insertBefore(newOption, this.logoFieldTarget.options[blankOptionIndex + 1]);
|
||||
} else {
|
||||
this.logofieldTarget.appendChild(newOption);
|
||||
this.logoFieldTarget.appendChild(newOption);
|
||||
}
|
||||
|
||||
this.logofieldTarget.value = name;
|
||||
this.logoFieldTarget.value = name;
|
||||
}
|
||||
|
||||
determineNetworkFilename(file) {
|
||||
const fileExtension = file.name.split('.').pop();
|
||||
determineNetworkFilename(logoFile) {
|
||||
const fileExtension = logoFile.name.split('.').pop();
|
||||
const primaryNetworkName = prompt("Enter the name for the primary network (Usually 'Cigna' or 'MedCost':");
|
||||
const secondaryNetworkName = prompt("Enter the name for the primary network (ex: Health Partners):");
|
||||
const logoFilename = this.titleizeText(primaryNetworkName).concat(this.titleizeText(secondaryNetworkName)).concat("Logo.").concat(fileExtension).replaceAll(' ', '');
|
||||
@@ -104,8 +115,8 @@ export default class extends Controller {
|
||||
return logoFilename
|
||||
}
|
||||
|
||||
determineEmployerFilename(file) {
|
||||
const fileExtension = file.name.split('.').pop();
|
||||
determineEmployerFilename(logoFile) {
|
||||
const fileExtension = logoFile.name.split('.').pop();
|
||||
const employerName = this.employerNameValue
|
||||
const logoFilename = this.titleizeText(employerName).concat("Logo.").concat(fileExtension).replaceAll(' ', '');
|
||||
|
||||
@@ -120,3 +131,4 @@ export default class extends Controller {
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
class Employer < ApplicationRecord
|
||||
has_many :members
|
||||
has_one :id_card_setup, class_name: 'IdCard::Setup'
|
||||
has_one :id_card_setup, class_name: 'IdCard::Setup', dependent: :destroy
|
||||
|
||||
scope :active, -> { where(active: true) }
|
||||
scope :inactive, -> { where(active: false) }
|
||||
|
||||
@@ -1,14 +1,16 @@
|
||||
class IdCard::EmployerLogo < ApplicationRecord
|
||||
before_save :calculate_aspect_ratio, if: :image_data_changed?
|
||||
module IdCard
|
||||
class EmployerLogo < ApplicationRecord
|
||||
before_save :calculate_aspect_ratio, if: :image_data_changed?
|
||||
|
||||
private
|
||||
private
|
||||
|
||||
def calculate_aspect_ratio
|
||||
image_io = StringIO.new(self.image_data)
|
||||
width, height = FastImage.size(image_io)
|
||||
image_ratio = width.to_f / height
|
||||
if image_ratio
|
||||
self.aspect_ratio = image_ratio.round(2)
|
||||
def calculate_aspect_ratio
|
||||
image_io = StringIO.new(self.image_data)
|
||||
width, height = FastImage.size(image_io)
|
||||
image_ratio = width.to_f / height
|
||||
if image_ratio
|
||||
self.aspect_ratio = image_ratio.round(2)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,10 +1,12 @@
|
||||
class IdCard::Exception < ApplicationRecord
|
||||
belongs_to :id_card_setup
|
||||
has_many :id_card_exception_items
|
||||
accepts_nested_attributes_for :id_card_exception_items, allow_destroy: true, reject_if: :all_blank
|
||||
module IdCard
|
||||
class Exception < ApplicationRecord
|
||||
belongs_to :setup
|
||||
has_many :exception_items
|
||||
accepts_nested_attributes_for :exception_items, allow_destroy: true, reject_if: :all_blank
|
||||
|
||||
VALID_TYPES = ['zipcode', 'state', 'family_id']
|
||||
VALID_TYPES = ['zipcode', 'state', 'family_id']
|
||||
|
||||
validates :type, inclusion: { in: VALID_TYPES,
|
||||
message: "%{value} is not a valid exception type" }
|
||||
validates :type, inclusion: { in: VALID_TYPES,
|
||||
message: "%{value} is not a valid exception type" }
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,25 +1,27 @@
|
||||
class IdCard::ExceptionItem < ApplicationRecord
|
||||
belongs_to :id_card_exception
|
||||
belongs_to :id_card_network_logo, optional: true
|
||||
belongs_to :id_card_provider_section, optional: true
|
||||
module IdCard
|
||||
class ExceptionItem < ApplicationRecord
|
||||
belongs_to :exception
|
||||
belongs_to :network_logo, optional: true
|
||||
belongs_to :provider_section, optional: true
|
||||
|
||||
validate :only_one_exception_field_present
|
||||
validate :only_one_exception_field_present
|
||||
|
||||
FIELDS_TO_VALIDATE = [:field_value, :card_logo_file_id, :card_provider_id].freeze
|
||||
FIELDS_TO_VALIDATE = [:field_value, :card_logo_file_id, :card_provider_id].freeze
|
||||
|
||||
VALID_FIELD_NAMES = ['network_logo', 'provider_section', 'effective_date']
|
||||
VALID_FIELD_NAMES = ['network_logo', 'provider_section', 'effective_date']
|
||||
|
||||
validates :field_name, inclusion: { in: VALID_FIELD_NAMES,
|
||||
message: "%{value} is not a valid Id Card Field Name" }
|
||||
validates :field_name, inclusion: { in: VALID_FIELD_NAMES,
|
||||
message: "%{value} is not a valid Id Card Field Name" }
|
||||
|
||||
|
||||
private
|
||||
private
|
||||
|
||||
def only_one_exception_field_present
|
||||
present_fields = FIELDS_TO_VALIDATE.count { |field| self[field].present? }
|
||||
def only_one_exception_field_present
|
||||
present_fields = FIELDS_TO_VALIDATE.count { |field| self[field].present? }
|
||||
|
||||
if present_fields != 1
|
||||
errors.add(:base, "Only one exception field can be present at a time")
|
||||
if present_fields != 1
|
||||
errors.add(:base, "Only one exception field can be present at a time")
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,11 +1,13 @@
|
||||
class IdCard::NetworkLogo < ApplicationRecord
|
||||
before_save :round_aspect_ratio
|
||||
module IdCard
|
||||
class NetworkLogo < ApplicationRecord
|
||||
before_save :round_aspect_ratio
|
||||
|
||||
private
|
||||
private
|
||||
|
||||
def round_aspect_ratio
|
||||
if self.aspect_ratio.present?
|
||||
self.aspect_ratio = self.aspect_ratio.round(2)
|
||||
def round_aspect_ratio
|
||||
if self.aspect_ratio.present?
|
||||
self.aspect_ratio = self.aspect_ratio.round(2)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
+26
-24
@@ -1,33 +1,35 @@
|
||||
class IdCard::Plan < ApplicationRecord
|
||||
belongs_to :id_card_setup
|
||||
has_many :id_card_plan_benefits, dependent: :destroy
|
||||
accepts_nested_attributes_for :id_card_plan_benefits, allow_destroy: true, reject_if: :all_blank
|
||||
module IdCard
|
||||
class Plan < ApplicationRecord
|
||||
belongs_to :setup
|
||||
has_many :plan_benefits, dependent: :destroy
|
||||
accepts_nested_attributes_for :plan_benefits, allow_destroy: true, reject_if: :all_blank
|
||||
|
||||
# after_initialize :create_default_benefits, if: :new_record?
|
||||
# after_initialize :create_default_benefits, if: :new_record?
|
||||
|
||||
|
||||
def self.permitted_params(params)
|
||||
params.require(:id_card_plan).permit(
|
||||
:title,
|
||||
:pb_product_key,
|
||||
:pl_plan_key,
|
||||
:_destroy,
|
||||
id_card_plan_benefits_attributes: [
|
||||
:id,
|
||||
:benefit_desc,
|
||||
:benefit,
|
||||
:sequence,
|
||||
def self.permitted_params(params)
|
||||
params.require(:id_card_plan).permit(
|
||||
:title,
|
||||
:pb_product_key,
|
||||
:pl_plan_key,
|
||||
:_destroy,
|
||||
]
|
||||
)
|
||||
end
|
||||
id_card_plan_benefits_attributes: [
|
||||
:id,
|
||||
:benefit_desc,
|
||||
:benefit,
|
||||
:sequence,
|
||||
:_destroy,
|
||||
]
|
||||
)
|
||||
end
|
||||
|
||||
private
|
||||
private
|
||||
|
||||
def build_and_create_default_benefits
|
||||
benefits = IdCardBenefitsTemplate.find_by(title: "BLANK").id_card_benefits.sort_by(&:sequence)
|
||||
benefits.each do |ben|
|
||||
id_card_plan_benefits.new(benefit_desc: ben.benefit_desc, sequence: ben.sequence)
|
||||
def build_and_create_default_benefits
|
||||
benefits = IdCardBenefitsTemplate.find_by(title: "BLANK").id_card_benefits.sort_by(&:sequence)
|
||||
benefits.each do |ben|
|
||||
id_card_plan_benefits.new(benefit_desc: ben.benefit_desc, sequence: ben.sequence)
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -1,3 +1,5 @@
|
||||
class IdCard::PlanBenefit < ApplicationRecord
|
||||
belongs_to :id_card_plan
|
||||
end
|
||||
module IdCard
|
||||
class PlanBenefit < ApplicationRecord
|
||||
belongs_to :plan
|
||||
end
|
||||
end
|
||||
@@ -1,14 +1,15 @@
|
||||
class IdCard::PrintData < ApplicationRecord
|
||||
module IdCard
|
||||
class PrintData < ApplicationRecord
|
||||
|
||||
STRING_ATTRIBUTES = %w[provider_line_1 provider_line_2 provider_line_3 provider_line_4 provider_line_5 provider_line_6 provider_line_7 provider_line_8 provider_line_9 provider_line_10 provider_line_11 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 dependent_1 dependent_2 dependent_3 dependent_4 dependent_5 dependent_6 dependent_7 dependent_8]
|
||||
STRING_ATTRIBUTES = %w[provider_line_1 provider_line_2 provider_line_3 provider_line_4 provider_line_5 provider_line_6 provider_line_7 provider_line_8 provider_line_9 provider_line_10 provider_line_11 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 dependent_1 dependent_2 dependent_3 dependent_4 dependent_5 dependent_6 dependent_7 dependent_8]
|
||||
|
||||
before_validation :assign_blank_strings_to_unassigned_params
|
||||
before_validation :assign_blank_strings_to_unassigned_params
|
||||
|
||||
def assign_blank_strings_to_unassigned_params
|
||||
STRING_ATTRIBUTES.each do |attr|
|
||||
# Use the blank? method which checks for nil, false, empty, or whitespace strings
|
||||
self[attr] = "" if self[attr].blank?
|
||||
def assign_blank_strings_to_unassigned_params
|
||||
STRING_ATTRIBUTES.each do |attr|
|
||||
# Use the blank? method which checks for nil, false, empty, or whitespace strings
|
||||
self[attr] = "" if self[attr].blank?
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
end
|
||||
@@ -1,3 +1,5 @@
|
||||
class IdCard::ProviderSection < ApplicationRecord
|
||||
module IdCard
|
||||
class ProviderSection < ApplicationRecord
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -1,3 +1,5 @@
|
||||
class IdCard::RxSection < ApplicationRecord
|
||||
module IdCard
|
||||
class RxSection < ApplicationRecord
|
||||
|
||||
end
|
||||
end
|
||||
end
|
||||
+25
-21
@@ -1,27 +1,31 @@
|
||||
class IdCard::Setup < ApplicationRecord
|
||||
belongs_to :employer
|
||||
belongs_to :id_card_employer_logo
|
||||
belongs_to :id_card_network_logo
|
||||
belongs_to :id_card_provider_section
|
||||
belongs_to :id_card_rx_section
|
||||
module IdCard
|
||||
class Setup < ApplicationRecord
|
||||
belongs_to :employer, class_name: 'Employer'
|
||||
belongs_to :employer_logo, optional: true
|
||||
belongs_to :network_logo, optional: true
|
||||
belongs_to :provider_section, optional: true
|
||||
belongs_to :rx_section, optional: true
|
||||
|
||||
has_many :card_exceptions, dependent: :destroy
|
||||
has_many :plans, dependent: :destroy
|
||||
|
||||
# def employer_logo_filename
|
||||
# self.id_card_employer_logo.filename
|
||||
# end
|
||||
has_many :exceptions, dependent: :destroy
|
||||
|
||||
# def network_logo_filename
|
||||
# self.id_card_network_logo.filename
|
||||
# end
|
||||
# def employer_logo_filename
|
||||
# self.employer_logo.filename
|
||||
# end
|
||||
|
||||
def self.permitted_params(params)
|
||||
params.require(:id_card_setup).permit(
|
||||
:print_name,
|
||||
:network_provider,
|
||||
:card_template,
|
||||
:rx_group_number,
|
||||
:id_card_employer_logo_id
|
||||
)
|
||||
# def network_logo_filename
|
||||
# self.network_logo.filename
|
||||
# end
|
||||
|
||||
def self.permitted_params(params)
|
||||
params.require(:id_card_setup).permit(
|
||||
:print_name,
|
||||
:network_provider,
|
||||
:card_template,
|
||||
:rx_group_number,
|
||||
:id_card_employer_logo_id
|
||||
)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -1,14 +1,14 @@
|
||||
class CallStoredProc
|
||||
def initialize(procedure_name, args = {})
|
||||
@procedure_name = procedure_name
|
||||
@args = args
|
||||
end
|
||||
|
||||
def call
|
||||
params_sql = @args.map { |key, value| "@#{key} = :#{key}" }.join(', ')
|
||||
sql_template = "EXEC #{@procedure_name} #{params_sql}"
|
||||
sanitized_sql = VhcsRecord.send(:sanitize_sql_array, [sql_template, @args])
|
||||
|
||||
VhcsRecord.connection.exec_query(sanitized_sql)
|
||||
end
|
||||
end
|
||||
class CallStoredProc
|
||||
def initialize(procedure_name, args = {})
|
||||
@procedure_name = procedure_name
|
||||
@args = args
|
||||
end
|
||||
|
||||
def call
|
||||
params_sql = @args.map { |key, value| "@#{key} = :#{key}" }.join(', ')
|
||||
sql_template = "EXEC #{@procedure_name} #{params_sql}"
|
||||
sanitized_sql = VhcsRecord.send(:sanitize_sql_array, [sql_template, @args])
|
||||
|
||||
VhcsRecord.connection.exec_query(sanitized_sql)
|
||||
end
|
||||
end
|
||||
|
||||
@@ -15,13 +15,17 @@ module BenefitsWordDoc
|
||||
plan_lines = @word_doc_section.slice(plan_index + 1, 14)
|
||||
plan_lines.each_with_index do |line, i|
|
||||
field_mapping = mapping_array[i]
|
||||
field_regex = field_mapping[:doc_to_employer_regex]
|
||||
if line.match(field_regex)
|
||||
field_value = line.match(field_regex)[0].strip
|
||||
elsif line.match(default_benefit_regex(field_mapping[:employer_benefit_desc_field]))
|
||||
field_value = line.match(default_benefit_regex(field_mapping[:employer_benefit_desc_field]))[0].strip
|
||||
if line.match(/:.*/)
|
||||
field_value = line.match(/:.*/)[0].strip
|
||||
else
|
||||
field_value = line
|
||||
field_regex = field_mapping[:doc_to_employer_regex]
|
||||
if line.match(field_regex)
|
||||
field_value = line.match(field_regex)[0].strip
|
||||
elsif line.match(default_benefit_regex(field_mapping[:employer_benefit_desc_field]))
|
||||
field_value = line.match(default_benefit_regex(field_mapping[:employer_benefit_desc_field]))[0].strip
|
||||
else
|
||||
field_value = line
|
||||
end
|
||||
end
|
||||
employer_benefit_desc_field = field_mapping[:employer_benefit_desc_field]
|
||||
new_benefit = new_plan.plan_benefits[i]
|
||||
|
||||
@@ -21,7 +21,7 @@ class ImageProcessor
|
||||
filename: filename,
|
||||
image_data: binary_data,
|
||||
content_type: meme_type,
|
||||
logo_type: "network"
|
||||
logo_type: "employer"
|
||||
)
|
||||
end
|
||||
end
|
||||
@@ -23,7 +23,7 @@ module SampleCard
|
||||
def set_employer_fields
|
||||
selected_attributes = {
|
||||
employer_name: @employer.name,
|
||||
group_number: @employer.group_number || "999999",
|
||||
group_number: @employer.group_number.present? ? @employer.group_number : "999999",
|
||||
medical_eff_date: @employer.effective_date
|
||||
}
|
||||
|
||||
@@ -49,7 +49,7 @@ module SampleCard
|
||||
selected_attributes = {
|
||||
full_name: "JANE DOE",
|
||||
primary_mb_member_key: "888888",
|
||||
rx_group: @employer.group_number || "999999"
|
||||
rx_group: @employer.group_number.present? ? @employer.group_number : "999999"
|
||||
}
|
||||
|
||||
@sample_card.assign_attributes(selected_attributes)
|
||||
|
||||
@@ -1,32 +1,32 @@
|
||||
<div class="flex space-x-5 items-center mt-4">
|
||||
<div class="flex flex-col items-start w-full">
|
||||
<div class="flex items-end w-full">
|
||||
<div class="flex flex-col">
|
||||
<%= f.select :network_logo, options_for_select(CardLogoFile.where(logo_type: 'network').pluck(:filename).map { |fn| [fn, fn]}), { include_blank: "Select or Add Network Logo", class: "rounded-r-none" }, { data: { logo_upload_target: "logoSelect" }} %>
|
||||
</div>
|
||||
<div class="flex items-center justify-center cursor-pointer bg-NEXT_COLOR hover:bg-deepcove border-2 border-NEXT_COLOR text-platinum font-bold px-3 rounded-r h-10 transition duration-100">
|
||||
<label for="file_upload_input_NEW_RECORD" class="text-center cursor-pointer">
|
||||
<%= icon "image-plus", library: "lucide" %>
|
||||
</label>
|
||||
</div>
|
||||
<div class="hidden flex justify-center ml-4 rounded-lg border-4 border-NEXT_COLOR" data-logo-upload-target="previewContainer">
|
||||
<img data-logo-upload-target="preview" src="#" alt="Network Logo preview" class="max-h-[100px] max-w-[133px] m-1 bg-platinum"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<%= network_fields.file_field :network_logo_file, class: "hidden", id: "file_upload_input_NEW_RECORD", data: { add_alt_network_logo_target: "networkLogo", logo_upload_type_param: "network", action: "change->logo-upload#uploadLogo" }, direct_upload: true %>
|
||||
</div>
|
||||
<div class="flex items-end space-x-6 w-full">
|
||||
<div class="w-full">
|
||||
<%= network_fields.select :exception_type, options_for_select(["Zip","State"]), label: { text: "Exception Type" }, prompt: "Select Type", class: "w-full" %>
|
||||
</div>
|
||||
<div class="w-full">
|
||||
<%= network_fields.text_field :exception_value, label: { text: "Exception Value" }, class: "w-full" %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex justify-center items-end w-full">
|
||||
<div class="w-1/2">
|
||||
<%= network_fields.hidden_field :_destroy %>
|
||||
<%= button_tag "Remove", class: "cursor-pointer bg-deepcove hover:bg-brightlava text-xl font-bold text-NEXT_SECONDARY_COLOR hover:text-platinum py-1 px-2 font-semibold leading-tight rounded-lg border-3 border-NEXT_SECONDARY_COLOR w-full", data: { action: "add-alt-network-logo#remove" } %>
|
||||
</div>
|
||||
<div class="flex space-x-5 items-center mt-4">
|
||||
<div class="flex flex-col items-start w-full">
|
||||
<div class="flex items-end w-full">
|
||||
<div class="flex flex-col">
|
||||
<%= f.select :network_logo, options_for_select(CardLogoFile.where(logo_type: 'network').pluck(:filename).map { |fn| [fn, fn]}), { include_blank: "Select or Add Network Logo", class: "rounded-r-none" }, { data: { logo_upload_target: "logoSelect" }} %>
|
||||
</div>
|
||||
<div class="flex items-center justify-center cursor-pointer bg-NEXT_COLOR hover:bg-deepcove border-2 border-NEXT_COLOR text-platinum font-bold px-3 rounded-r h-10 transition duration-100">
|
||||
<label for="file_upload_input_NEW_RECORD" class="text-center cursor-pointer">
|
||||
<%= icon "image-plus", library: "lucide" %>
|
||||
</label>
|
||||
</div>
|
||||
<div class="hidden flex justify-center ml-4 rounded-lg border-4 border-NEXT_COLOR" data-logo-upload-target="previewContainer">
|
||||
<img data-logo-upload-target="preview" src="#" alt="Network Logo preview" class="max-h-[100px] max-w-[133px] m-1 bg-platinum"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<%= network_fields.file_field :network_logo_file, class: "hidden", id: "file_upload_input_NEW_RECORD", data: { add_alt_network_logo_target: "networkLogo", logo_upload_type_param: "network", action: "change->logo-upload#uploadLogo" }, direct_upload: true %>
|
||||
</div>
|
||||
<div class="flex items-end space-x-6 w-full">
|
||||
<div class="w-full">
|
||||
<%= network_fields.select :exception_type, options_for_select(["Zip","State"]), label: { text: "Exception Type" }, prompt: "Select Type", class: "w-full" %>
|
||||
</div>
|
||||
<div class="w-full">
|
||||
<%= network_fields.text_field :exception_value, label: { text: "Exception Value" }, class: "w-full" %>
|
||||
</div>
|
||||
</div>
|
||||
<div class="flex justify-center items-end w-full">
|
||||
<div class="w-1/2">
|
||||
<%= network_fields.hidden_field :_destroy %>
|
||||
<%= button_tag "Remove", class: "cursor-pointer bg-deepcove hover:bg-brightlava text-xl font-bold text-NEXT_SECONDARY_COLOR hover:text-platinum py-1 px-2 font-semibold leading-tight rounded-lg border-3 border-NEXT_SECONDARY_COLOR w-full", data: { action: "add-alt-network-logo#remove" } %>
|
||||
</div>
|
||||
</div>
|
||||
@@ -1,9 +1,10 @@
|
||||
<div class="bg-deepcove h-full w-full flex flex-col">
|
||||
<div class="flex justify-between my-5 font-bold text-4xl">
|
||||
<div class="flex space-x-6 my-5 font-bold text-4xl">
|
||||
<h1 class="text-platinum">New ID Card Setup:</h1>
|
||||
<h1 class="text-verdigris">(<%= @employer.name %>)</h1>
|
||||
</div>
|
||||
<%= form_with model: @setup, local: true, multipart: true do |f| %>
|
||||
<%= form_with model: @employer, url: import_employers_path, data: { turbo: false }, local: true, multipart: true do |form| %>
|
||||
<div class="flex flex-col space-y-6 pb-10">
|
||||
<div class="flex w-full items-end" data-controller="logo-upload" data-logo-upload-logo-type-value="employer" data-logo-upload-employer-name-value=<%= @employer.name %>>
|
||||
<div class="flex flex-col space-y-6 w-2/5">
|
||||
@@ -25,7 +26,7 @@
|
||||
</div>
|
||||
<div class="flex items-end">
|
||||
<div class="flex">
|
||||
<div class="text-platinum">Employer Logo</div>
|
||||
<div class="text-platinum text-lg">Employer Logo</div>
|
||||
<div class="flex items-center justify-center self-end cursor-pointer bg-atmosphere hover:bg-deepcove border-2 border-atmosphere text-platinum font-bold px-3 rounded-r h-10 transition duration-100">
|
||||
<label for="employer_logo_file" class="text-center cursor-pointer">
|
||||
<%= icon "image-plus", library: "lucide" %>
|
||||
@@ -35,13 +36,13 @@
|
||||
<div class="hidden flex justify-center ml-15 rounded-lg border-4 border-atmosphere" data-logo-upload-target="previewContainer">
|
||||
<img data-logo-upload-target="preview" src="#" alt="Employer Logo preview" class="max-h-[100px] max-w-[133px] bg-platinum m-1"/>
|
||||
</div>
|
||||
<%= f.hidden_field :id_card_employer_logo_id, data: { logo_upload_target: "logofield", logo_upload_target: "employer" } %>
|
||||
<%= f.file_field :add_or_update_logo, class: "hidden", id: "employer_logo_file", data: { logo_upload_target: "previewContainer", parent_value: "network_logo", action: "change->logo-upload#uploadLogo" }, direct_upload: true %>
|
||||
<%= f.hidden_field :employer_logo_id, label: { text: "Employer Logo" }, data: { logo_upload_target: "logoField" } %>
|
||||
<%= f.file_field :logo_file, class: "hidden", id: "employer_logo_file", data: { logo_upload_target: "previewContainer", parent_value: "network_logo", action: "change->logo-upload#uploadLogo" }, direct_upload: true %>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="py-8">
|
||||
<%= f.submit "Create New Employer" %>
|
||||
<%= f.submit "Create ID Card Setup" %>
|
||||
</div>
|
||||
</div>
|
||||
<% end %>
|
||||
Reference in New Issue
Block a user