Halfway through table redesign, saving to revert to working version

This commit is contained in:
Jason Jordan
2026-03-05 11:30:24 -05:00
parent ea07afb751
commit b5a1517330
86 changed files with 1286 additions and 884 deletions
+16
View File
@@ -0,0 +1,16 @@
class AlternateNetworkLogo < ApplicationRecord
belongs_to :employer
# before_save :process_network_logo
def process_network_logo
if self.network_logo.present? && !self.network_logo.is_a?(String)
self.employer_setup_process.card_logo_files.new(
filename: self.network_logo.filename,
logo_type: 'network',
image: self.network_logo.data,
pl_plan_key: self.employer_setup_process.pl_plan_key || ""
)
end
end
end
+14
View File
@@ -0,0 +1,14 @@
class CardLogoFile < ApplicationRecord
has_many :employer_card_logos, dependent: :destroy
has_many :employers, through: :employer_card_logos
before_save :round_aspect_ratio
private
def round_aspect_ratio
if self.aspect_ratio.present?
self.aspect_ratio = self.aspect_ratio.round(2)
end
end
end
+5
View File
@@ -0,0 +1,5 @@
class EmployerCardLogo < ApplicationRecord
belongs_to :employer
belongs_to :card_logo_file
end
+106
View File
@@ -0,0 +1,106 @@
class EmployerSetupProcess < ApplicationRecord
has_many :plans, dependent: :destroy
accepts_nested_attributes_for :plans, allow_destroy: true, reject_if: :all_blank
has_many :alternate_network_logos, dependent: :destroy
accepts_nested_attributes_for :alternate_network_logos, allow_destroy: true, reject_if: :all_blank
has_many :card_logo_files
# before_save :process_employer_logo
before_save :create_slug, if: :new_record?
def process_employer_logo
if self.employer_logo.present? && !self.employer_logo.is_a?(String)
self.card_logo_files.new(
filename: self.employer_logo.filename,
logo_type: 'employer',
image: self.employer_logo.data,
pl_plan_key: self.pl_plan_key || ""
)
end
end
def create_slug
self.slug = employer_trimmed_name.parameterize
end
def employer_name_to_logo_filename(extension)
self.employer_trimmed_name.titleize.gsub(/\s+/, '').concat('Logo').concat(extension.downcase)
end
def employer_trimmed_name
regex_source = Regexp.union(["health", "plan", "the", "inc", "llc"]).source
case_insensitive_regex = Regexp.new(regex_source, "i")
self.employer_name.gsub(case_insensitive_regex, "").squish
end
def self.permitted_params(params)
params.require(:employer_setup_process).permit(
:employer_name,
:group_number,
:pl_plan_key,
:effective_date,
:employer_logo,
:network_provider,
plans_attributes: [
:id,
:title,
:plan_id,
:_destroy,
plan_benefits_attributes: [
:id,
:benefit_desc,
:benefit,
:sequence,
:_destroy,
]
],
alternate_network_logos_attributes: [
:id,
:network_logo,
:exception_type,
:exception_value,
:_destroy
]
)
end
def save_to_prod
VhcsRecord.transaction do
Vhcs::HlPlanCode.create!(
group_number: self.group_number,
medical_number: self.group_number,
dental_number: '',
plan_key: self.pl_plan_key,
effect_date: self.effective_date
)
# Replace fairos_info with template like for benefits
fairos_info = Vhcs::HlrxCrosRef.where(pl_plan_key: 52).first
Vhcs::HlrxCrosRef.cdarreate!(
group_no: self.group_number,
rx_group_id: self.group_number,
help_desk: fairos_info.help_desk,
customer_service: fairos_info.customer_service,
web_url: fairos_info.web_url,
pl_plan_key: self.pl_plan_key
)
self.plans.each_with_index do |plan, i|
plan.plan_benefits.each do |bene|
Vhcs::HlEgglestonCardBenefit.create!(
plan_id: plan.plan_id,
benefit_desc: bene.benefit_desc,
benefit: bene.benefit,
sequence: bene.sequence,
plan_key: self.pl_plan_key
)
end
end
end
end
end
+3
View File
@@ -0,0 +1,3 @@
class IdCardBenefit < ApplicationRecord
belongs_to :id_card_benefits_template
end
@@ -0,0 +1,5 @@
class IdCardBenefitsTemplate < ApplicationRecord
has_many :id_card_benefits, dependent: :destroy
end