create_forms.rb 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162
  1. require "google_drive"
  2. def type(arg)
  3. case
  4. when arg.start_with?("Text")
  5. "text"
  6. when arg == "Datum"
  7. "date"
  8. when arg == "Integer"
  9. "number"
  10. end
  11. end
  12. session = GoogleDrive::Session.from_config("config.json")
  13. key = "1-QkYYrbFtj_MIz9wsfsoKW6UzVJslrjAhXt18VMcF_8"
  14. ary = []
  15. session.spreadsheet_by_key(key).worksheets.each do |w|
  16. title = w.title
  17. w.rows.each do |r|
  18. next if r[6] != "x"
  19. ary[r[7].to_i] = <<-HEREDOC
  20. .form-group.form-group-lg class=("has-error" if keys.include?("#{title+"["+r[2]+"]"}"))
  21. label.control-label for="#{title+"["+r[2]+"]"}"
  22. |#{r[1]}
  23. input.form-control id="#{title+"["+r[2]+"]"}" name="#{title+"["+r[2]+"]"}" type="#{type(r[3])}"
  24. HEREDOC
  25. end
  26. end
  27. panel_daten = <<-HEREDOC
  28. .panel.panel-default
  29. .panel-heading Persönliche Angaben
  30. .panel-body
  31. HEREDOC
  32. panel_erzieher = <<-HEREDOC
  33. .panel.panel-default
  34. .panel-heading Angaben Erziehungsberechtigte
  35. .panel-body
  36. HEREDOC
  37. schule_beruf = <<-HEREDOC
  38. .form-group.form-group-lg class=("has-error" if keys.include?("Taetigkeit"))
  39. label.control-label for="Taetigkeit"
  40. |Geben Sie bitte den Namen Ihrer derzeitigen Schule oder Einrichtung an
  41. textarea.form-control name="Taetigkeit" rows="3"
  42. HEREDOC
  43. ary[0] = panel_daten
  44. ary[5] = " ==partial :geschlecht, :keys => keys"
  45. ary[11] = " ==partial :nationalitaet, :keys => keys"
  46. ary[12] = " ==partial :konfession, :keys => keys"
  47. ary[13] = " ==partial :schulform, :keys => keys"
  48. ary[16] = " ==partial :anrede, {:keys => keys, :i => 1}"
  49. ary[19] = " ==partial :anrede, {:keys => keys, :i => 2}"
  50. ary.insert(15, schule_beruf, panel_erzieher)
  51. File.open("views/form_inputs.slim", 'w') do |f|
  52. f.puts ary
  53. end