Skip to content

Commit 5be460c

Browse files
committed
Converted District Partner form from legacy format.
1 parent 049b430 commit 5be460c

File tree

6 files changed

+168
-579
lines changed

6 files changed

+168
-579
lines changed

pegasus/forms/district_partner.rb

Lines changed: 102 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
require 'cdo/date'
2+
3+
class DistrictPartnerSubmission
4+
5+
def self.normalize(data)
6+
result = {}
7+
8+
# School district information
9+
result[:district_name_s] = required stripped data[:district_name_s]
10+
result[:district_partner_districts_s] = stripped data[:district_partner_districts_s]
11+
12+
# Commitments
13+
result[:commitment_program_director_b] = stripped data[:commitment_program_director_b]
14+
result[:commitment_identify_qualified_teacher_b] = stripped data[:commitment_identify_qualified_teacher_b]
15+
result[:commitment_district_hoc_b] = stripped data[:commitment_district_hoc_b]
16+
result[:commitment_technology_b] = stripped data[:commitment_technology_b]
17+
result[:commitment_term_sheet_b] = stripped data[:commitment_term_sheet_b]
18+
19+
# More district information
20+
result[:district_total_schools_i] = required stripped data[:district_total_schools_i]
21+
result[:district_high_schools_i] = required stripped data[:district_high_schools_i]
22+
result[:district_middle_schools_i] = required stripped data[:district_middle_schools_i]
23+
result[:district_elementary_schools_i] = required stripped data[:district_elementary_schools_i]
24+
result[:district_school_year_start_date_dt] = required stripped data[:district_school_year_start_date_dt]
25+
result[:district_school_year_end_date_dt] = required stripped data[:district_school_year_end_date_dt]
26+
result[:district_school_year_estimated_b] = stripped data[:district_school_year_estimated_b]
27+
28+
# Main district office
29+
result[:office_street_address_s] = required stripped data[:office_street_address_s]
30+
result[:office_street_address_2_s] = nil_if_empty stripped data[:office_street_address_2_s]
31+
result[:office_city_s] = required stripped data[:office_city_s]
32+
result[:office_state_s] = required stripped data[:office_state_s]
33+
result[:office_postal_code_s] = required stripped data[:office_postal_code_s]
34+
result[:office_phone_s] = required stripped data[:office_phone_s]
35+
result[:office_fax_s] = required stripped data[:office_fax_s]
36+
result[:office_website_s] = required stripped data[:office_website_s]
37+
38+
# Contact information
39+
roles.each do |role|
40+
result[:"#{role}_first_name_s"] = required stripped data[:"#{role}_first_name_s"]
41+
result[:"#{role}_last_name_s"] = required stripped data[:"#{role}_last_name_s"]
42+
result[:"#{role}_position_s"] = required stripped data[:"#{role}_position_s"]
43+
result[:"#{role}_street_address_s"] = required stripped data[:"#{role}_street_address_s"]
44+
result[:"#{role}_street_address_2_s"] = nil_if_empty stripped data[:"#{role}_street_address_2_s"]
45+
result[:"#{role}_city_s"] = required stripped data[:"#{role}_city_s"]
46+
result[:"#{role}_state_s"] = required stripped data[:"#{role}_state_s"]
47+
result[:"#{role}_postal_code_s"] = required stripped data[:"#{role}_postal_code_s"]
48+
result[:"#{role}_phone_s"] = required stripped data[:"#{role}_phone_s"]
49+
result[:"#{role}_fax_s"] = required stripped data[:"#{role}_fax_s"]
50+
result[:"#{role}_email_s"] = required email_address data[:"#{role}_email_s"]
51+
end
52+
53+
result[:coordinator_same_as_user_b] = required stripped data[:coordinator_same_as_user_b]
54+
55+
# Programs of interest
56+
result[:program_elementary_school_b] = stripped data[:program_elementary_school_b]
57+
result[:program_middle_school_b] = stripped data[:program_middle_school_b]
58+
result[:program_high_school_b] = stripped data[:program_high_school_b]
59+
60+
# Help
61+
result[:help_identify_high_schools_b] = stripped data[:help_identify_high_schools_b]
62+
result[:help_identify_high_schools_number_i] = stripped data[:help_identify_high_schools_number_i]
63+
result[:help_identify_middle_schools_b] = stripped data[:help_identify_middle_schools_b]
64+
result[:help_identify_middle_schools_number_i] = stripped data[:help_identify_middle_schools_number_i]
65+
result[:help_identify_elementary_schools_b] = stripped data[:help_identify_elementary_schools_b]
66+
result[:help_identify_elementary_schools_number_i] = stripped data[:help_identify_elementary_schools_number_i]
67+
68+
result[:email_s] = required email_address data[:user_email_s]
69+
70+
result
71+
end
72+
73+
def self.roles()
74+
roles_and_config.keys
75+
end
76+
77+
def self.roles_and_config()
78+
{'user'=>'Your information (person filling out form)', 'coordinator'=>'District coordinator of the Code.org program'}
79+
end
80+
81+
def self.process(data)
82+
main_district_address = [
83+
data['office_street_address_s'],
84+
data['office_street_address_2_s'],
85+
data['office_city_s'],
86+
data['office_state_s'],
87+
data['office_postal_code_s'],
88+
].join(' ')
89+
90+
{
91+
'location_p' => data['location_p'] || geocode_address(main_district_address)
92+
}
93+
end
94+
95+
def self.index(data)
96+
data['district_school_year_start_date_dt'] = Chronic.parse(data['district_school_year_start_date_dt']).strftime('%FT%TZ')
97+
data['district_school_year_end_date_dt'] = Chronic.parse(data['district_school_year_end_date_dt']).strftime('%FT%TZ')
98+
99+
data
100+
end
101+
102+
end

0 commit comments

Comments
 (0)