form_schema.php 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517
  1. <?php
  2. declare(strict_types=1);
  3. return [
  4. 'steps' => [
  5. [
  6. 'title' => 'Persönliche Daten',
  7. 'description' => 'Bitte geben Sie Ihre persönlichen Daten ein.',
  8. 'fields' => [
  9. [
  10. 'key' => 'vorname',
  11. 'label' => 'Vorname',
  12. 'type' => 'text',
  13. 'required' => true,
  14. 'max_length' => 100
  15. ],
  16. [
  17. 'key' => 'nachname',
  18. 'label' => 'Nachname',
  19. 'type' => 'text',
  20. 'required' => true,
  21. 'max_length' => 100
  22. ],
  23. [
  24. 'key' => 'geburtsdatum',
  25. 'label' => 'Geburtsdatum',
  26. 'type' => 'date',
  27. 'required' => true
  28. ],
  29. [
  30. 'key' => 'strasse',
  31. 'label' => 'Straße und Hausnummer',
  32. 'type' => 'text',
  33. 'required' => true,
  34. 'max_length' => 200
  35. ],
  36. [
  37. 'key' => 'plz',
  38. 'label' => 'PLZ',
  39. 'type' => 'number',
  40. 'required' => true,
  41. 'max_length' => 5
  42. ],
  43. [
  44. 'key' => 'ort',
  45. 'label' => 'Ort',
  46. 'type' => 'text',
  47. 'required' => true,
  48. 'max_length' => 100
  49. ],
  50. [
  51. 'key' => 'telefon',
  52. 'label' => 'Telefon (Mobil)',
  53. 'type' => 'number',
  54. 'required' => true,
  55. 'max_length' => 15
  56. ],
  57. [
  58. 'key' => 'job',
  59. 'label' => 'Beruf, Tätigkeit(auch Schüler/Student)',
  60. 'type' => 'text',
  61. 'required' => true,
  62. 'max_length' => 100
  63. ],
  64. [
  65. 'key' => 'pate',
  66. 'label' => 'Pate (optional)',
  67. 'type' => 'text',
  68. 'required' => false,
  69. 'max_length' => 100
  70. ],
  71. ],
  72. ],
  73. [
  74. 'title' => 'Mitgliedschaft',
  75. 'description' => 'Angaben zur gewünschten Mitgliedschaft.',
  76. 'fields' => [
  77. [
  78. 'key' => 'mitgliedsart',
  79. 'label' => 'Mitgliedsart',
  80. 'type' => 'select',
  81. 'required' => true,
  82. 'options' => [
  83. [
  84. 'value' => 'Aktiv',
  85. 'label' => 'Aktiv',
  86. 'hidden_if' => [
  87. 'field' => 'is_minor',
  88. 'equals' => '1',
  89. ],
  90. ],
  91. [
  92. 'value' => 'Jugend',
  93. 'label' => 'Jugend',
  94. 'hidden_if' => [
  95. 'field' => 'is_minor',
  96. 'equals' => '0',
  97. ],
  98. ],
  99. [
  100. 'value' => 'Spielmannszug',
  101. 'label' => 'Spielmannszug',
  102. ],
  103. ],
  104. ],
  105. [
  106. 'key' => 'Erziehungsberechtigte',
  107. 'label' => 'Name Erziehungsberechtigte 1(bei mehreren Erziehungsberechtigten, zuerst eine Person eingeben)',
  108. 'type' => 'text',
  109. 'required_if' => [
  110. 'field' => 'is_minor',
  111. 'equals' => '1',
  112. ],
  113. 'max_length' => 120,
  114. 'visible_if' => [
  115. 'field' => 'is_minor',
  116. 'equals' => '1',
  117. ],
  118. ],
  119. [
  120. 'key' => 'Erziehungsberechtigte_telefon',
  121. 'label' => 'Telefon Erziehungsberechtigte 1 (Mobil)',
  122. 'type' => 'number',
  123. 'required_if' => [
  124. 'field' => 'is_minor',
  125. 'equals' => '1',
  126. ],
  127. 'max_length' => 50,
  128. 'visible_if' => [
  129. 'field' => 'is_minor',
  130. 'equals' => '1',
  131. ],
  132. ],
  133. [
  134. 'key' => 'Erziehungsberechtigte_email',
  135. 'label' => 'E-Mail Erziehungsberechtigte 1',
  136. 'type' => 'email',
  137. 'required_if' => [
  138. 'field' => 'is_minor',
  139. 'equals' => '1',
  140. ],
  141. 'max_length' => 100,
  142. 'visible_if' => [
  143. 'field' => 'is_minor',
  144. 'equals' => '1',
  145. ],
  146. ],
  147. [
  148. 'key' => 'Erziehungsberechtigte_adresse',
  149. 'label' => 'Adresse Erziehungsberechtigte 1(Straße, Hausnummer, PLZ, Ort)',
  150. 'type' => 'address',
  151. 'required_if' => [
  152. 'field' => 'is_minor',
  153. 'equals' => '1',
  154. ],
  155. 'visible_if' => [
  156. 'field' => 'is_minor',
  157. 'equals' => '1',
  158. ],
  159. ],
  160. [
  161. 'key' => 'weitere_erziehungsberechtigte',
  162. 'label' => 'Weitere Erziehungsberechtigte Person angeben',
  163. 'type' => 'checkbox',
  164. 'required' => false,
  165. 'visible_if' => [
  166. 'field' => 'is_minor',
  167. 'equals' => '1',
  168. ],
  169. ],
  170. [
  171. 'key' => 'Erziehungsberechtigte_2',
  172. 'label' => 'Name Erziehungsberechtigte 2(bei mehreren Erziehungsberechtigten, zweite Person eingeben)',
  173. 'type' => 'text',
  174. 'required_if' => [
  175. 'field' => 'weitere_erziehungsberechtigte',
  176. 'equals' => '1',
  177. ],
  178. 'max_length' => 120,
  179. 'visible_if' => [
  180. 'field' => 'weitere_erziehungsberechtigte',
  181. 'equals' => '1',
  182. ],
  183. ],
  184. [
  185. 'key' => 'Erziehungsberechtigte_telefon_2',
  186. 'label' => 'optional: Telefon Erziehungsberechtigte 2 (Mobil)',
  187. 'type' => 'number',
  188. 'max_length' => 50,
  189. 'visible_if' => [
  190. 'field' => 'weitere_erziehungsberechtigte',
  191. 'equals' => '1',
  192. ],
  193. ],
  194. [
  195. 'key' => 'Erziehungsberechtigte_email_2',
  196. 'label' => 'E-Mail Erziehungsberechtigte 2(wenn abweichend)',
  197. 'type' => 'email',
  198. 'max_length' => 100,
  199. 'visible_if' => [
  200. 'field' => 'weitere_erziehungsberechtigte',
  201. 'equals' => '1',
  202. ],
  203. ],
  204. [
  205. 'key' => 'Erziehungsberechtigte_adresse_2',
  206. 'label' => 'Adresse Erziehungsberechtigte 2(Straße, Hausnummer, PLZ, Ort, wenn abweichend)',
  207. 'type' => 'address',
  208. 'visible_if' => [
  209. 'field' => 'weitere_erziehungsberechtigte',
  210. 'equals' => '1',
  211. ],
  212. ],
  213. [
  214. 'key' => 'bestätigung_fotos',
  215. 'label' => 'Ich erkläre, dass das Einverständnis zu den Datenschutzbestimmungen und zur Veröffentlichung von Fotos und Filmaufnahmen auch über das 18. Lebensjahr hinaus mit dem Erwerb der Vollmitgliedschaft in der Freiwilligen Feuerwehr weiter gilt.',
  216. 'type' => 'checkbox',
  217. 'visible_if' => [
  218. 'field' => 'is_minor',
  219. 'equals' => '1',
  220. ],
  221. ],
  222. [
  223. 'key' => 'qualifikation_vorhanden',
  224. 'label' => 'Feuerwehr-Qualifikationen bereits vorhanden?',
  225. 'type' => 'select',
  226. 'required' => true,
  227. 'options' => [
  228. [
  229. 'value' => 'nein',
  230. 'label' => 'Nein',
  231. ],
  232. [
  233. 'value' => 'ja',
  234. 'label' => 'Ja',
  235. ],
  236. ],
  237. ],
  238. [
  239. 'key' => 'führerschein_vorhanden',
  240. 'label' => 'Führerschein vorhanden?',
  241. 'type' => 'select',
  242. 'required' => true,
  243. 'visible_if' => [
  244. 'field' => 'is_minor',
  245. 'equals' => '0'
  246. ],
  247. 'options' => [
  248. [
  249. 'value' => 'nein',
  250. 'label' => 'Nein',
  251. ],
  252. [
  253. 'value' => 'b',
  254. 'label' => 'B (bis 3,5t)',
  255. ],
  256. [
  257. 'value' => 'be',
  258. 'label' => 'BE (bis 3,5t und Anhänger)',
  259. ],
  260. [
  261. 'value' => 'c1',
  262. 'label' => 'C1 (LKW bis 7,5t)',
  263. ],
  264. [
  265. 'value' => 'c',
  266. 'label' => 'C (LKW über 7,5t)',
  267. ],
  268. [
  269. 'value' => 'c1e',
  270. 'label' => 'C1E (LKW bis 7,5t und Anhänger)',
  271. ],
  272. [
  273. 'value' => 'ce',
  274. 'label' => 'CE (LKW über 7,5t und Anhänger)',
  275. ]
  276. ],
  277. ],
  278. [
  279. 'key' => 'führerschein_nachweis',
  280. 'label' => 'Optional: Weitere Qualifikationen',
  281. 'type' => 'text',
  282. 'subtext' => 'z.B. Ladekran, Stapler, Feuerwehrführerschein, etc.',
  283. ],
  284. [
  285. 'key' => 'bisherige_dienstzeiten',
  286. 'label' => 'Bisherige Dienstzeiten in Hilfsorganisationen',
  287. 'type' => 'table',
  288. 'rows' => 4,
  289. 'columns' => [
  290. [
  291. 'label' => 'Feuerwehr/Hilfsorganisation',
  292. 'type' => 'text',
  293. ],
  294. [
  295. 'label' => 'von',
  296. 'type' => 'date',
  297. ],
  298. [
  299. 'label' => 'bis',
  300. 'type' => 'date',
  301. ],
  302. ],
  303. 'required_if' => [
  304. 'field' => 'qualifikation_vorhanden',
  305. 'equals' => 'ja',
  306. ],
  307. 'visible_if' => [
  308. 'field' => 'qualifikation_vorhanden',
  309. 'equals' => 'ja',
  310. ],
  311. ],
  312. [
  313. 'key' => 'letzter_dienstgrad',
  314. 'label' => 'Letzter Dienstgrad',
  315. 'type' => 'text',
  316. 'visible_if' => [
  317. 'field' => 'qualifikation_vorhanden',
  318. 'equals' => 'ja',
  319. ],
  320. ],
  321. [
  322. 'key' => 'basismodul',
  323. 'label' => 'Abgeschlossenes MTA Basismodul',
  324. 'type' => 'checkbox',
  325. 'visible_if' => [
  326. 'field' => 'qualifikation_vorhanden',
  327. 'equals' => 'ja',
  328. ],
  329. ],
  330. [
  331. 'key' => 'truppführer',
  332. 'label' => 'Abgeschlossenes Truppführermodul',
  333. 'type' => 'checkbox',
  334. 'visible_if' => [
  335. 'field' => 'qualifikation_vorhanden',
  336. 'equals' => 'ja',
  337. ],
  338. ],
  339. [
  340. 'key' => 'gruppenführer',
  341. 'label' => 'Gruppenführer',
  342. 'type' => 'checkbox',
  343. 'visible_if' => [
  344. 'field' => 'qualifikation_vorhanden',
  345. 'equals' => 'ja',
  346. ],
  347. ],
  348. [
  349. 'key' => 'atemschutzgeräteträger',
  350. 'label' => 'Atemschutzgeräteträger',
  351. 'type' => 'checkbox',
  352. 'visible_if' => [
  353. 'field' => 'qualifikation_vorhanden',
  354. 'equals' => 'ja',
  355. ],
  356. ],
  357. [
  358. 'key' => 'gültige_g26',
  359. 'label' => 'Ich verfüge über eine aktuell gültige Tauglichkeitsbescheinigung nach G26.3 (Atemschutzgeräteträger).',
  360. 'type' => 'checkbox',
  361. 'visible_if' => [
  362. 'field' => 'atemschutzgeräteträger',
  363. 'equals' => '1',
  364. ],
  365. ],
  366. [
  367. 'key' => 'motorsägenführer',
  368. 'label' => 'Motorsägenführer',
  369. 'type' => 'checkbox',
  370. 'visible_if' => [
  371. 'field' => 'qualifikation_vorhanden',
  372. 'equals' => 'ja',
  373. ],
  374. ],
  375. [
  376. 'key' => 'feuerwehrsanitäter',
  377. 'label' => 'Feuerwehrsanitäter',
  378. 'type' => 'checkbox',
  379. 'visible_if' => [
  380. 'field' => 'qualifikation_vorhanden',
  381. 'equals' => 'ja',
  382. ],
  383. ],
  384. [
  385. 'key' => 'weitere_lehrgaenge',
  386. 'label' => 'Weitere Lehrgänge und Ausbildungen',
  387. 'type' => 'text',
  388. 'visible_if' => [
  389. 'field' => 'qualifikation_vorhanden',
  390. 'equals' => 'ja',
  391. ],
  392. ],
  393. [
  394. 'key' => 'abzeichen_lösch',
  395. 'label' => 'Leistungsabzeichen Einheiten im Löscheinsatz Stufe',
  396. 'type' => 'number',
  397. 'visible_if' => [
  398. 'field' => 'qualifikation_vorhanden',
  399. 'equals' => 'ja',
  400. ],
  401. 'subtext' => 'nur wenn vorhanden',
  402. ],
  403. [
  404. 'key' => 'abzeichen_thl',
  405. 'label' => 'Leistungsabzeichen Technische Hilfe Stufe',
  406. 'type' => 'number',
  407. 'visible_if' => [
  408. 'field' => 'qualifikation_vorhanden',
  409. 'equals' => 'ja',
  410. ],
  411. 'subtext' => 'nur wenn vorhanden',
  412. ],
  413. [
  414. 'key' => 'musikalische_vorerfahrung',
  415. 'label' => 'Musikalische Vorerfahrung(optional, wenn vorhanden)',
  416. 'type' => 'textarea',
  417. 'visible_if' => [
  418. 'field' => 'mitgliedsart',
  419. 'equals' => 'Spielmannszug',
  420. ],
  421. ],
  422. ],
  423. ],
  424. [
  425. 'title' => 'Uploads',
  426. 'description' => 'Bitte laden Sie die erforderlichen Unterlagen hoch.',
  427. 'fields' => [
  428. [
  429. 'key' => 'portraitfoto',
  430. 'label' => 'Portraitfoto',
  431. 'type' => 'file',
  432. 'required' => true,
  433. 'accept' => '.jpg,.jpeg,.png,.webp',
  434. 'description' => 'Bitte ein aktuelles, gut erkennbares Foto hochladen.',
  435. ],
  436. [
  437. 'key' => 'qualifikationsnachweise',
  438. 'label' => 'Qualifikationsnachweise',
  439. 'type' => 'file',
  440. 'required' => false,
  441. 'required_if' => [
  442. 'field' => 'qualifikation_vorhanden',
  443. 'equals' => 'ja',
  444. ],
  445. 'visible_if' => [
  446. 'field' => 'qualifikation_vorhanden',
  447. 'equals' => 'ja',
  448. ],
  449. 'accept' => '.pdf,.jpg,.jpeg,.png',
  450. 'description' => 'Nachweise deiner Feuerwehr-Qualifikationen. Bitte Nachweise aller Lehrgänge und Beförderungen. Ohne Nachweis können wir die Qualifikation nicht anerkennen. Ein gutes Foto der Nachweise ist ausreichend.',
  451. ],
  452. [
  453. 'key' => 'einverstaendniserklaerung',
  454. 'label' => 'Einverständniserklärung Erziehungsberechtigte',
  455. 'type' => 'file',
  456. 'required' => false,
  457. 'visible_if' => [
  458. 'field' => 'mitgliedsart',
  459. 'equals' => 'Jugend',
  460. ],
  461. 'accept' => '.pdf,.jpg,.jpeg,.png',
  462. 'description' => 'Wird bei Mitgliedsart Jugend angezeigt.',
  463. ],
  464. [
  465. 'key' => 'zusatzunterlagen',
  466. 'label' => 'Zusatzunterlagen (optional)',
  467. 'type' => 'file',
  468. 'required' => false,
  469. 'accept' => '.pdf,.jpg,.jpeg,.png,.webp',
  470. 'description' => 'Optional: weitere relevante Unterlagen.',
  471. ],
  472. ],
  473. ],
  474. [
  475. 'title' => 'Einwilligung & Abschluss',
  476. 'description' => 'Bitte bestätigen Sie die Angaben und reichen Sie den Antrag ein.',
  477. 'fields' => [
  478. [
  479. 'key' => 'freier_kommentar',
  480. 'label' => 'Freier Kommentar (optional)',
  481. 'type' => 'textarea',
  482. 'required' => false,
  483. 'max_length' => 2000,
  484. ],
  485. [
  486. 'key' => 'körperliche_eignung',
  487. 'label' => 'Körperliche Eignung',
  488. 'type' => 'checkbox',
  489. 'required' => true,
  490. 'subtext' => 'Ich bestätige, körperlich und geistig für den Feuerwehrdienst geeignet zu sein. ',
  491. ],
  492. [
  493. 'key' => 'schwimmer',
  494. 'label' => 'Ich bin Schwimmer',
  495. 'type' => 'checkbox',
  496. 'required' => false,
  497. ],
  498. [
  499. 'key' => 'einwilligung_datenschutz',
  500. 'label' => 'Ich stimme der Verarbeitung meiner Daten zu.',
  501. 'type' => 'checkbox',
  502. 'required' => true,
  503. 'subtext' => 'Ich willige ein, dass der oben genannte Verein als verantwortliche Stelle, die im Aufnahmeantrag erhobenen personenbezogenen Daten ausschließlich zum Zwecke der Mitgliederverwaltung und der Übermittlung von Vereinsinformationen durch den Verein, insbesondere der Weitergabe an die Stadt Freising als Träger der kommunalen Feuerwehr und für alle in der Satzung genannten Zwecke verarbeitet und genutzt werden. Eine Übermittlung von Daten an Dritte außerhalb des Vereins findet nur im Rahmen der in der Satzung festgelegten Zwecke statt. Diese Datenübermittlungen sind notwendig zum Zwecke des Vereins. Eine Datennutzung für Werbezwecke findet nicht statt. Bei Beendigung der Mitgliedschaft werden die personenbezogenen Daten gelöscht, soweit sie nicht entsprechend der gesetzlichen Vorgaben aufbewahrt werden müssen. Jedes Mitglied hat im Rahmen der Vorgaben der Datenschutzgrundverordnung (DSGVO) und des Bundesdatenschutzgesetzes n.F. (DSAnpUG EU) das Recht auf Auskunft über die personenbezogenen Daten, die zu seiner Person bei der verantwortlichen Stelle gespeichert sind. Außerdem hat das Mitglied, im Falle von fehlerhaften Daten, ein Korrekturrecht. Beschwerdestelle ist das Bayerische Landesamt für Datenschutzaufsicht (BayLDA) Promenade 27 91522 Ansbach ',
  504. ],
  505. [
  506. 'key' => 'einwilligung_bildrechte',
  507. 'label' => 'Einverständniserklärung zur Veröffentlichung von Fotos und Filmaufnahmen',
  508. 'type' => 'checkbox',
  509. 'required' => false,
  510. 'subtext' => 'Ich willige ein, dass im Rahmen von Veranstaltungen und Einsätzen angefertigte Foto- und Filmaufnahmen für Veröffentlichungen, Berichte, in Printmedien, Neuen Medien und auf der Internetseite des Vereines und seinen übergeordneten Verbänden unentgeltlich verwendet werden dürfen. Eine Verwendung der Aufnahmen für andere als die beschriebenen Zwecke oder ein Inverkehrbringen durch Überlassung der Aufnahme an Dritte außer der Dachorganisation des Vereins ist unzulässig. Diese Einwilligung ist freiwillig. Durch eine nicht erteilte Einwilligung entstehen mir als Mitglied keine Nachteile. Die Einwilligung kann jederzeit mit Wirkung für die Zukunft widerrufen werden.',
  511. ],
  512. ],
  513. ],
  514. ],
  515. ];