Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SIMPLE_FORMS] feat: update form 21-10210 with new pdf form and expiration date #18379

Open
wants to merge 7 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
148 changes: 105 additions & 43 deletions modules/simple_forms_api/app/form_mappings/vba_21_10210.json.erb
Original file line number Diff line number Diff line change
@@ -1,82 +1,144 @@
{
<%# Page 1 %>

<%# Section 1: Veteran's Identification Information %>

<%# 1. Veteran's Name %>
"vba210304[0].#subform[0].Veterans_First_Name[0]": "<%= form.data.dig('veteran_full_name', 'first') %>",
"vba210304[0].#subform[0].Middle_Initial1[0]": "<%= form.data.dig('veteran_full_name', 'middle') %>",
"vba210304[0].#subform[0].Last_Name[0]": "<%= form.data.dig('veteran_full_name', 'last') %>",
"vba210304[0].#subform[0].SocialSecurityNumber_FirstThreeNumbers[0]": "<%= form.data['veteran_ssn']&.[](0..2) %>",
"vba210304[0].#subform[0].SocialSecurityNumber_SecondTwoNumbers[0]": "<%= form.data['veteran_ssn']&.[](3..4) %>",
"vba210304[0].#subform[0].SocialSecurityNumber_LastFourNumbers[0]": "<%= form.data['veteran_ssn']&.[](5..8) %>",

<%# 2. Social Security Number %>
"vba210304[0].#subform[0].SSN1[0]": "<%= form.data['veteran_ssn']&.[](0..2) %>",
"vba210304[0].#subform[0].SSN2[0]": "<%= form.data['veteran_ssn']&.[](3..4) %>",
"vba210304[0].#subform[0].SSN3[0]": "<%= form.data['veteran_ssn']&.[](5..8) %>",

<%# 3. VA File Number %>
"vba210304[0].#subform[0].VA_File_Number_If_Applicable[0]": "<%= form.data['veteran_va_file_number'] %>",

<%# 4. Date of Birth %>
"vba210304[0].#subform[0].Month[1]": "<%= form.data['veteran_date_of_birth']&.[](5..6) %>",
"vba210304[0].#subform[0].Day[1]": "<%= form.data['veteran_date_of_birth']&.[](8..9) %>",
"vba210304[0].#subform[0].Year[1]": "<%= form.data['veteran_date_of_birth']&.[](0..3) %>",

<%# 5. VA Insurance File Number %>
"vba210304[0].#subform[0].VA_INSURANCE_FILE_NUMBER[0]": "<%= form.data['veteran_va_insurance_file_number'] %>",
"vba210304[0].#subform[0].DOByear[0]": "<%= form.data['veteran_date_of_birth']&.[](0..3) %>",
"vba210304[0].#subform[0].DOBmonth[0]": "<%= form.data['veteran_date_of_birth']&.[](5..6) %>",
"vba210304[0].#subform[0].DOBday[0]": "<%= form.data['veteran_date_of_birth']&.[](8..9) %>",
"vba210304[0].#subform[0].CurrentMailingAddress_Country[0]": "<%= form.data.dig('veteran_mailing_address', 'country') %>",

<%# 6. Current Mailing Address %>
"vba210304[0].#subform[0].CurrentMailingAddress_NumberAndStreet[0]": "<%= form.data.dig('veteran_mailing_address', 'street') %>",
"vba210304[0].#subform[0].CurrentMailingAddress_ApartmentOrUnitNumber[0]": "<%= form.data.dig('veteran_mailing_address', 'street2')&.gsub(/\D/, '') %>",
"vba210304[0].#subform[0].CurrentMailingAddress_City[0]": "<%= form.data.dig('veteran_mailing_address', 'city') %>",
"vba210304[0].#subform[0].CurrentMailingAddress_StateOrProvince[0]": "<%= form.data.dig('veteran_mailing_address', 'state') %>",
"vba210304[0].#subform[0].CurrentMailingAddress_Country[0]": "<%= form.data.dig('veteran_mailing_address', 'country') %>",
"vba210304[0].#subform[0].CurrentMailingAddress_ZIPOrPostalCode_FirstFiveNumbers[0]": "<%= form.data.dig('veteran_mailing_address', 'postal_code')&.[](0..4) %>",
"vba210304[0].#subform[0].CurrentMailingAddress_ZIPOrPostalCode_LastFourNumbers[0]": "<%= form.data.dig('veteran_mailing_address', 'postal_code')&.[](5..8) %>",
"vba210304[0].#subform[0].TelephoneNumber_FirstThreeNumbers[0]": "<%= form.data['veteran_phone']&.gsub('-', '')&.[](0..2) %>",
"vba210304[0].#subform[0].TelephoneNumber_SecondThreeNumbers[0]": "<%= form.data['veteran_phone']&.gsub('-', '')&.[](3..5) %>",
"vba210304[0].#subform[0].TelephoneNumber_LastFourNumbers[0]": "<%= form.data['veteran_phone']&.gsub('-', '')&.[](6..9) %>",

<%# 7. Telephone Number %>
"vba210304[0].#subform[0].AreaCode[0]": "<%= form.data['veteran_phone']&.gsub('-', '')&.[](0..2) %>",
"vba210304[0].#subform[0].FirstThreeNumbers[0]": "<%= form.data['veteran_phone']&.gsub('-', '')&.[](3..5) %>",
"vba210304[0].#subform[0].LastFourNumbers[0]": "<%= form.data['veteran_phone']&.gsub('-', '')&.[](6..9) %>",
"vba210304[0].#subform[0].International_Phone_Number[0]": "<%= %>",

<%# 8. E-Mail Address %>
"vba210304[0].#subform[0].CheckBox1[0]": "<%= (form.data['claimant_type'] == 'veteran' && form.data['claim_ownership'] == 'self') ? 1 : 0 %>",
"vba210304[0].#subform[0].EMAIL_ADDRESS[0]": "<%= form.data['veteran_email']&.[](0..19) %>",
"vba210304[0].#subform[0].EMAIL_ADDRESS[1]": "<%= form.data['veteran_email']&.[](20..39) %>",
"vba210304[0].#subform[0].CheckBox1[0]": "<%= (form.data['claimant_type'] == 'veteran' && form.data['claim_ownership'] == 'self') ? 1 : 0 %>",
"vba210304[0].#subform[0].International_Phone_Number[0]": "<%= %>",

"vba210304[0].#subform[0].Claimants_First_Name[0]": "<%= form.data.dig('claimant_full_name', 'first') %>",
<%# Section 2: Claimant's Identification Information %>

<%# 9. Claimant's Name %>
"vba210304[0].#subform[0].Veterans_First_Name[1]": "<%= form.data.dig('claimant_full_name', 'first') %>",
"vba210304[0].#subform[0].Middle_Initial1[1]": "<%= form.data.dig('claimant_full_name', 'middle') %>",
"vba210304[0].#subform[0].Last_Name[1]": "<%= form.data.dig('claimant_full_name', 'last') %>",
"vba210304[0].#subform[0].Claimants_SocialSecurityNumber_FirstThreeNumbers[0]": "<%= form.data['claimant_ssn']&.[](0..2) %>",
"vba210304[0].#subform[0].Claimants_SocialSecurityNumber_SecondTwoNumbers[0]": "<%= form.data['claimant_ssn']&.[](3..4) %>",
"vba210304[0].#subform[0].Claimants_SocialSecurityNumber_LastFourNumbers[0]": "<%= form.data['claimant_ssn']&.[](5..8) %>",

<%# 10. Social Security Number %>
"vba210304[0].#subform[0].FirstThreeNumbers[1]": "<%= form.data['claimant_ssn']&.[](0..2) %>",
"vba210304[0].#subform[0].SecondTwoNumbers[1]": "<%= form.data['claimant_ssn']&.[](3..4) %>",
"vba210304[0].#subform[0].LastFourNumbers[1]": "<%= form.data['claimant_ssn']&.[](5..8) %>",

<%# 11. VA File Number %>
"vba210304[0].#subform[0].VA_File_Number_If_Applicable[1]": "<%= form.data['claimant_va_file_number'] %>",

<%# 12. Date of Birth %>
"vba210304[0].#subform[0].Year[3]": "<%= form.data['claimant_date_of_birth']&.[](0..3) %>",
"vba210304[0].#subform[0].Month[3]": "<%= form.data['claimant_date_of_birth']&.[](5..6) %>",
"vba210304[0].#subform[0].Day[3]": "<%= form.data['claimant_date_of_birth']&.[](8..9) %>",

<%# 13. VA Insurance File Number %>
"vba210304[0].#subform[0].VA_INSURANCE_FILE_NUMBER[1]": "<%= form.data['claimant_va_insurance_file_number'] %>",
"vba210304[0].#subform[0].DOByear[1]": "<%= form.data['claimant_date_of_birth']&.[](0..3) %>",
"vba210304[0].#subform[0].DOBmonth[1]": "<%= form.data['claimant_date_of_birth']&.[](5..6) %>",
"vba210304[0].#subform[0].DOBday[1]": "<%= form.data['claimant_date_of_birth']&.[](8..9) %>",
"vba210304[0].#subform[0].CurrentMailingAddress_Country[1]": "<%= form.data.dig('claimant_mailing_address', 'country') %>",

<%# 14. Current Mailing Address %>
"vba210304[0].#subform[0].CurrentMailingAddress_NumberAndStreet[1]": "<%= form.data.dig('claimant_mailing_address', 'street') %>",
"vba210304[0].#subform[0].CurrentMailingAddress_ApartmentOrUnitNumber[1]": "<%= form.data.dig('claimant_mailing_address', 'street2')&.gsub(/\D/, '') %>",
"vba210304[0].#subform[0].CurrentMailingAddress_City[1]": "<%= form.data.dig('claimant_mailing_address', 'city') %>",
"vba210304[0].#subform[0].CurrentMailingAddress_StateOrProvince[1]": "<%= form.data.dig('claimant_mailing_address', 'state') %>",
"vba210304[0].#subform[0].CurrentMailingAddress_Country[1]": "<%= form.data.dig('claimant_mailing_address', 'country') %>",
"vba210304[0].#subform[0].CurrentMailingAddress_ZIPOrPostalCode_FirstFiveNumbers[1]": "<%= form.data.dig('claimant_mailing_address', 'postal_code')&.[](0..4) %>",
"vba210304[0].#subform[0].CurrentMailingAddress_ZIPOrPostalCode_LastFourNumbers[1]": "<%= form.data.dig('claimant_mailing_address', 'postal_code')&.[](5..8) %>",
"vba210304[0].#subform[0].TelephoneNumber_FirstThreeNumbers[1]": "<%= form.data['claimant_phone']&.gsub('-', '')&.[](0..2) %>",
"vba210304[0].#subform[0].TelephoneNumber_SecondThreeNumbers[1]": "<%= form.data['claimant_phone']&.gsub('-', '')&.[](3..5) %>",
"vba210304[0].#subform[0].TelephoneNumber_LastFourNumbers[1]": "<%= form.data['claimant_phone']&.gsub('-', '')&.[](6..9) %>",
"vba210304[0].#subform[0].EMAIL_ADDRESS[3]": "<%= form.data['claimant_email']&.[](0..19) %>",
"vba210304[0].#subform[0].EMAIL_ADDRESS[2]": "<%= form.data['claimant_email']&.[](20..39) %>",
"vba210304[0].#subform[0].I_AGREE_TO_RECEIVE_ELECTRONIC_CORRESPONDENCE_FROM_VA_IN_REGARDS_TO_MY_CLAIM[0]": "<%= (form.data['claimant_type'] == 'non-veteran' && form.data['claim_ownership'] == 'self') ? 1 : 0 %>",

<%# 15. Telephone Number %>
"vba210304[0].#subform[0].AreaCode[1]": "<%= form.data['claimant_phone']&.gsub('-', '')&.[](0..2) %>",
"vba210304[0].#subform[0].FirstThreeNumbers[2]": "<%= form.data['claimant_phone']&.gsub('-', '')&.[](3..5) %>",
"vba210304[0].#subform[0].LastFourNumbers[2]": "<%= form.data['claimant_phone']&.gsub('-', '')&.[](6..9) %>",
"vba210304[0].#subform[0].International_Phone_Number[1]": "<%= %>",

<%# 16. E-Mail Address %>
"vba210304[0].#subform[0].CheckBox1[1]": "<%= (form.data['claimant_type'] == 'non-veteran' && form.data['claim_ownership'] == 'self') ? 1 : 0 %>",
"vba210304[0].#subform[0].EMAIL_ADDRESS[2]": "<%= form.data['claimant_email']&.[](0..19) %>",
"vba210304[0].#subform[0].EMAIL_ADDRESS[3]": "<%= form.data['claimant_email']&.[](20..39) %>",

<%# Page 2 %>

<%# HEADER: Social Security Number %>
"vba210304[0].#subform[1].SSN1[1]": "<%= form.data['veteran_ssn']&.[](0..2) %>",
"vba210304[0].#subform[1].SSN2[1]": "<%= form.data['veteran_ssn']&.[](3..4) %>",
"vba210304[0].#subform[1].SSN3[1]": "<%= form.data['veteran_ssn']&.[](5..8) %>",

<%# Section 3: Statement %>

<%# 17. Statement %>
"vba210304[0].#subform[1].TextField1[0]": "<%= form.data['statement']&.[](0..5554) %>",

<%# Page 3 %>

<%# HEADER: Social Security Number %>
"vba210304[0].#subform[2].SSN1[2]": "<%= form.data['veteran_ssn']&.[](0..2) %>",
"vba210304[0].#subform[2].SSN2[2]": "<%= form.data['veteran_ssn']&.[](3..4) %>",
"vba210304[0].#subform[2].SSN3[2]": "<%= form.data['veteran_ssn']&.[](5..8) %>",

<%# Section 3: Statement (Continued) %>

<%# 17. Statement %>
"vba210304[0].#subform[2].TextField1[1]": "<%= form.data['statement']&.[](5555..) %>",

"vba210304[0].#subform[1].SocialSecurityNumber_FirstThreeNumbers[1]": "<%= form.data['veteran_ssn']&.[](0..2) %>",
"vba210304[0].#subform[1].SocialSecurityNumber_SecondTwoNumbers[1]": "<%= form.data['veteran_ssn']&.[](3..4) %>",
"vba210304[0].#subform[1].SocialSecurityNumber_LastFourNumbers[1]": "<%= form.data['veteran_ssn']&.[](5..8) %>",
"vba210304[0].#subform[2].SocialSecurityNumber_FirstThreeNumbers[2]": "<%= form.data['veteran_ssn']&.[](0..2) %>",
"vba210304[0].#subform[2].SocialSecurityNumber_SecondTwoNumbers[2]": "<%= form.data['veteran_ssn']&.[](3..4) %>",
"vba210304[0].#subform[2].SocialSecurityNumber_LastFourNumbers[2]": "<%= form.data['veteran_ssn']&.[](5..8) %>",
"vba210304[0].#subform[1].STATEMENT[0]": "<%= form.data['statement']&.[](0..5554) %>",
"vba210304[0].#subform[2].STATEMENT[1]": "<%= form.data['statement']&.[](5555..) %>",
<%# Section 4: Witness Contact Information %>

<%# 18. Witness Name %>
"vba210304[0].#subform[2].WITNESS_FIRST_NAME[0]": "<%= form.data.dig('witness_full_name', 'first') %>",
"vba210304[0].#subform[2].Middle_Initial1[2]": "<%= form.data.dig('witness_full_name', 'middle') %>",
"vba210304[0].#subform[2].Last_Name[2]": "<%= form.data.dig('witness_full_name', 'last') %>",
"vba210304[0].#subform[2].TelephoneNumber_FirstThreeNumbers[2]": "<%= form.data['witness_phone']&.gsub('-', '')&.[](0..2) %>",
"vba210304[0].#subform[2].TelephoneNumber_SecondThreeNumbers[2]": "<%= form.data['witness_phone']&.gsub('-', '')&.[](3..5) %>",
"vba210304[0].#subform[2].TelephoneNumber_LastFourNumbers[2]": "<%= form.data['witness_phone']&.gsub('-', '')&.[](6..9) %>",
"vba210304[0].#subform[2].EMAIL_ADDRESS[4]": "<%= form.data['witness_email']&.[](0..19) %>",
"vba210304[0].#subform[2].EMAIL_ADDRESS[5]": "<%= form.data['witness_email']&.[](20..39) %>",
"vba210304[0].#subform[2].International_Phone_Number[2]": "<%= %>",

<%# 19. Relationship to Veteran/Claimant %>
"vba210304[0].#subform[2].SERVED_WITH_CLAIMANT[0]": "<%= form.data.dig('witness_relationship_to_claimant', 'served_with') ? 1 : 0 %>",
"vba210304[0].#subform[2].FAMILY_OR_FRIEND_OF_CLAIMANT[0]": "<%= form.data.dig('witness_relationship_to_claimant', 'family_or_friend') ? 1 : 0 %>",
"vba210304[0].#subform[2].COWORKER_OR_SUPERVISOR_OF_CLAIMANT[0]": "<%= form.data.dig('witness_relationship_to_claimant', 'coworker_or_supervisor') ? 1 : 0 %>",
"vba210304[0].#subform[2].OTHER_Specify[1]": "<%= form.data['witness_other_relationship_to_claimant'] ? 1 : 0 %>",
"vba210304[0].#subform[2].OTHER_Specify[0]": "<%= form.data['witness_other_relationship_to_claimant'] %>",

"vba210304[0].#subform[2].Date_Signed_Year[0]": "<%= Time.current.in_time_zone('America/Chicago').strftime('%Y') %>",
"vba210304[0].#subform[2].Date_Signed_Month[0]": "<%= Time.current.in_time_zone('America/Chicago').strftime('%m') %>",
"vba210304[0].#subform[2].Date_Signed_Day[0]": "<%= Time.current.in_time_zone('America/Chicago').strftime('%d') %>"
<%# 20. Telephone Number %>
"vba210304[0].#subform[2].AreaCode[2]": "<%= form.data['witness_phone']&.gsub('-', '')&.[](0..2) %>",
"vba210304[0].#subform[2].FirstThreeNumbers[3]": "<%= form.data['witness_phone']&.gsub('-', '')&.[](3..5) %>",
"vba210304[0].#subform[2].LastFourNumbers[3]": "<%= form.data['witness_phone']&.gsub('-', '')&.[](6..9) %>",
"vba210304[0].#subform[2].International_Phone_Number[2]": "<%= %>",

<%# 21. E-Mail Address %>
"vba210304[0].#subform[2].EMAIL_ADDRESS[4]": "<%= form.data['witness_email']&.[](0..19) %>",
"vba210304[0].#subform[2].EMAIL_ADDRESS[5]": "<%= form.data['witness_email']&.[](20..39) %>",

<%# Section 5: Certification of Statement and Signature %>

<%# 22B. Date Signed %>
"vba210304[0].#subform[2].Year[5]": "<%= Time.current.in_time_zone('America/Chicago').strftime('%Y') %>",
"vba210304[0].#subform[2].Month[5]": "<%= Time.current.in_time_zone('America/Chicago').strftime('%m') %>",
"vba210304[0].#subform[2].Day[5]": "<%= Time.current.in_time_zone('America/Chicago').strftime('%d') %>"
}
Original file line number Diff line number Diff line change
Expand Up @@ -34,19 +34,19 @@ def words_to_remove
end

def desired_stamps
[{ coords: [50, 160], text: data['statement_of_truth_signature'], page: 2 }]
[{ coords: [50, 195], text: data['statement_of_truth_signature'], page: 2 }]
pennja marked this conversation as resolved.
Show resolved Hide resolved
end

def submission_date_stamps(timestamp = Time.current)
[
{
coords: [460, 710],
coords: [452, 690],
text: 'Application Submitted:',
page: 0,
font_size: 12
},
{
coords: [460, 690],
coords: [452, 670],
text: timestamp.in_time_zone('UTC').strftime('%H:%M %Z %D'),
page: 0,
font_size: 12
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -24,5 +24,6 @@
},
"living_situation": {
"is_in_care_facility": false
}
}
},
"statement_of_truth_signature": "Veteran Surname"
}
Original file line number Diff line number Diff line change
Expand Up @@ -59,5 +59,6 @@
"postal_code": "54890"
}
},
"remarks": "Lengthy remarks here \nabout what is needed\tand such"
"remarks": "Lengthy remarks here about what is needed and such",
"statement_of_truth_signature": "Veteran Surname"
}
25 changes: 21 additions & 4 deletions modules/simple_forms_api/spec/services/pdf_filler_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,21 @@

describe SimpleFormsApi::PdfFiller do
forms = %w[
vba_26_4555 vba_26_4555-min vba_21_4138 vba_21_4138-min vba_21_4142 vba_21_4142-min vba_21_10210 vba_21_10210-min
vba_21p_0847 vba_21p_0847-min vba_21_0972 vba_21_0972-min vba_21_0966 vba_21_0966-min vba_40_0247 vba_40_0247
vba_21_0966
vba_21_0966-min
vba_21_0972
vba_21_0972-min
vba_21_10210
vba_21_10210-min
vba_21_4138
vba_21_4138-min
vba_21_4142
vba_21_4142-min
vba_21p_0847
vba_21p_0847-min
vba_26_4555
vba_26_4555-min
vba_40_0247
vba_40_0247-min
]

Expand Down Expand Up @@ -76,8 +89,12 @@
end

def read_form_mapping(form_number)
pennja marked this conversation as resolved.
Show resolved Hide resolved
test_file = File.read("modules/simple_forms_api/app/form_mappings/#{form_number}.json.erb")
JSON.parse(test_file)
form_name = form_number.gsub('-min', '')
data = JSON.parse(File.read("modules/simple_forms_api/spec/fixtures/form_json/#{form_name}.json"))
form = "SimpleFormsApi::#{form_number.titleize.gsub(' ', '')}".constantize.new(data) # Used in ERB binding
erb_content = File.read("modules/simple_forms_api/app/form_mappings/#{form_number}.json.erb")
rendered_erb = ERB.new(erb_content).result(binding) # Rendering as ERB strips out comments
JSON.parse(rendered_erb)
end
end
end
Binary file modified modules/simple_forms_api/templates/vba_21_10210.pdf
Binary file not shown.
Loading