49 lines
1.3 KiB
Ruby
49 lines
1.3 KiB
Ruby
class EmployerSetupPlansForm
|
|
include ActiveModel::Model
|
|
include ActiveModel::Attributes
|
|
|
|
attribute :plans, array: true, default: -> { [] }
|
|
# attribute :benefit_descs, :hash, default: -> { {} }
|
|
|
|
attr_accessor :id_card_templates
|
|
attr_accessor :id_card_template_benefits
|
|
attr_accessor :benefit_descs
|
|
|
|
validates :plans, presence: true
|
|
# validates :benefit_descs, presence: true
|
|
|
|
|
|
def initialize(params = {})
|
|
super(params)
|
|
|
|
@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 benefit_descs
|
|
# @benefit_descs ||= {}
|
|
# end
|
|
|
|
def save(pl_plan_key)
|
|
# Implement logic to save data to models after all steps are complete
|
|
# For example, create a User record with the collected data
|
|
if valid?
|
|
plans.each do |plan|
|
|
plan_id = plan.delete(:plan_id)
|
|
plan.each do |key, value|
|
|
Vhcs::HLEgglestonCardBenefit.create(
|
|
plan_id: plan_id,
|
|
benefit_desc: benefit_descs["#{key}"],
|
|
benefit: value,
|
|
sequence: key,
|
|
plan_key: pl_plan_key
|
|
)
|
|
end
|
|
end
|
|
true
|
|
else
|
|
false
|
|
end
|
|
end
|
|
|
|
end |