Browse Source

Udate form and form handler

pull/863/head
Kat 3 years ago committed by baarkerlounger
parent
commit
34f6ff5b12
  1. 15
      app/models/form.rb
  2. 2
      app/models/form_handler.rb
  3. 2
      spec/models/form_spec.rb

15
app/models/form.rb

@ -7,21 +7,22 @@ class Form
def initialize(form_path, name, sections_in_form = [], type = "lettings") def initialize(form_path, name, sections_in_form = [], type = "lettings")
if type == "sales" if type == "sales"
# @form_definition = sections.map do |s|
# s.new(nil, nil, self)
# end
@name = name @name = name
# @setup_sections = [Form::Setup::Sections::Setup.new(nil, nil, self)] @setup_sections = [Form::Sales::Setup::Sections::Setup.new(nil, nil, self)]
# @form_definition = JSON.parse(File.open(form_path).read)
@form_sections = sections_in_form.map { |sec| sec.new(nil, nil, self) } @form_sections = sections_in_form.map { |sec| sec.new(nil, nil, self) }
@type = "sales" @type = "sales"
@sections = form_sections @sections = setup_sections + form_sections
@subsections = sections.flat_map(&:subsections) @subsections = sections.flat_map(&:subsections)
@pages = subsections.flat_map(&:pages) @pages = subsections.flat_map(&:pages)
@questions = pages.flat_map(&:questions) @questions = pages.flat_map(&:questions)
@start_date = Time.zone.local(name[0..3], 4, 1) @start_date = Time.zone.local(name[0..3], 4, 1)
@end_date = Time.zone.local(start_date.year + 1, 4, 1) @end_date = Time.zone.local(start_date.year + 1, 4, 1)
@form_definition = {
"form_type" => type,
"start_date" => start_date,
"end_date" => end_date,
"sections" => sections,
}
else else
raise "No form definition file exists for given year".freeze unless File.exist?(form_path) raise "No form definition file exists for given year".freeze unless File.exist?(form_path)

2
app/models/form_handler.rb

@ -15,7 +15,7 @@ class FormHandler
end end
def sales_forms def sales_forms
sales_sections = [Form::Sales::Setup::Sections::Setup] sales_sections = [] # Add section classes here e.g. Form::Sales::Property::Sections::PropertyInformation
{ "2022_2023_sales" => Form.new(nil, "2022_2023_sales", sales_sections, "sales") } { "2022_2023_sales" => Form.new(nil, "2022_2023_sales", sales_sections, "sales") }
end end

2
spec/models/form_spec.rb

@ -208,7 +208,7 @@ RSpec.describe Form, type: :model do
describe "when creating a sales log" do describe "when creating a sales log" do
it "creates a valid sales form" do it "creates a valid sales form" do
sections = [Form::Sales::Setup::Sections::Setup] sections = []
form = described_class.new(nil, "2022_23_sales", sections, "sales") form = described_class.new(nil, "2022_23_sales", sections, "sales")
expect(form.type).to eq("sales") expect(form.type).to eq("sales")
expect(form.name).to eq("2022_23_sales") expect(form.name).to eq("2022_23_sales")

Loading…
Cancel
Save