decidim-forms 0.26.3 → 0.27.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (79) hide show
  1. checksums.yaml +4 -4
  2. data/app/commands/decidim/forms/admin/update_questionnaire.rb +13 -8
  3. data/app/commands/decidim/forms/answer_questionnaire.rb +1 -1
  4. data/app/controllers/decidim/forms/admin/concerns/has_questionnaire.rb +2 -2
  5. data/app/forms/decidim/forms/admin/display_condition_form.rb +3 -3
  6. data/app/models/decidim/forms/answer.rb +2 -2
  7. data/app/models/decidim/forms/display_condition.rb +1 -1
  8. data/app/models/decidim/forms/questionnaire.rb +7 -0
  9. data/app/packs/src/decidim/forms/admin/forms.js +0 -3
  10. data/app/presenters/decidim/forms/admin/questionnaire_answer_presenter.rb +10 -2
  11. data/app/presenters/decidim/forms/admin/questionnaire_participant_presenter.rb +5 -3
  12. data/app/presenters/decidim/forms/admin_log/questionnaire_presenter.rb +35 -0
  13. data/app/queries/decidim/forms/questionnaire_participant.rb +1 -1
  14. data/app/queries/decidim/forms/questionnaire_participants.rb +1 -1
  15. data/app/queries/decidim/forms/questionnaire_user_answers.rb +1 -1
  16. data/app/views/decidim/forms/questionnaires/show.html.erb +4 -2
  17. data/config/locales/am-ET.yml +1 -0
  18. data/config/locales/ar.yml +1 -0
  19. data/config/locales/bg.yml +1 -0
  20. data/config/locales/ca.yml +6 -3
  21. data/config/locales/cs.yml +6 -3
  22. data/config/locales/da.yml +1 -0
  23. data/config/locales/de.yml +1 -4
  24. data/config/locales/el.yml +1 -4
  25. data/config/locales/en.yml +5 -3
  26. data/config/locales/eo.yml +1 -0
  27. data/config/locales/es-MX.yml +6 -3
  28. data/config/locales/es-PY.yml +6 -3
  29. data/config/locales/es.yml +6 -3
  30. data/config/locales/et.yml +1 -0
  31. data/config/locales/eu.yml +1 -4
  32. data/config/locales/fi-plain.yml +6 -3
  33. data/config/locales/fi.yml +6 -3
  34. data/config/locales/fr-CA.yml +3 -3
  35. data/config/locales/fr.yml +3 -3
  36. data/config/locales/ga-IE.yml +1 -0
  37. data/config/locales/gl.yml +5 -0
  38. data/config/locales/hr.yml +1 -0
  39. data/config/locales/hu.yml +4 -0
  40. data/config/locales/id-ID.yml +1 -0
  41. data/config/locales/is-IS.yml +2 -1
  42. data/config/locales/it.yml +1 -4
  43. data/config/locales/ja.yml +6 -3
  44. data/config/locales/ko.yml +1 -0
  45. data/config/locales/lb.yml +1 -4
  46. data/config/locales/lt.yml +1 -188
  47. data/config/locales/lv.yml +1 -4
  48. data/config/locales/mt.yml +1 -0
  49. data/config/locales/nl.yml +1 -4
  50. data/config/locales/no.yml +1 -4
  51. data/config/locales/om-ET.yml +1 -0
  52. data/config/locales/pl.yml +1 -4
  53. data/config/locales/pt-BR.yml +2 -5
  54. data/config/locales/pt.yml +1 -4
  55. data/config/locales/ro-RO.yml +1 -4
  56. data/config/locales/ru.yml +1 -0
  57. data/config/locales/si-LK.yml +1 -0
  58. data/config/locales/sk.yml +1 -0
  59. data/config/locales/sl.yml +1 -0
  60. data/config/locales/so-SO.yml +1 -0
  61. data/config/locales/sr-CS.yml +1 -0
  62. data/config/locales/sv.yml +1 -4
  63. data/config/locales/sw-KE.yml +1 -0
  64. data/config/locales/ti-ER.yml +1 -0
  65. data/config/locales/tr-TR.yml +1 -4
  66. data/config/locales/uk.yml +1 -0
  67. data/config/locales/val-ES.yml +1 -0
  68. data/config/locales/vi.yml +1 -0
  69. data/config/locales/zh-CN.yml +1 -4
  70. data/config/locales/zh-TW.yml +1 -0
  71. data/lib/decidim/exporters/form_pdf.rb +2 -2
  72. data/lib/decidim/forms/{data_portability_user_answers_serializer.rb → download_your_data_user_answers_serializer.rb} +2 -2
  73. data/lib/decidim/forms/test/factories.rb +22 -13
  74. data/lib/decidim/forms/test/shared_examples/manage_questionnaires/update_questions.rb +2 -2
  75. data/lib/decidim/forms/user_answers_serializer.rb +2 -2
  76. data/lib/decidim/forms/version.rb +1 -1
  77. data/lib/decidim/forms.rb +1 -1
  78. metadata +14 -14
  79. data/config/locales/oc-FR.yml +0 -1
@@ -1,3 +1,4 @@
1
+ ---
1
2
  gl:
2
3
  activemodel:
3
4
  attributes:
@@ -62,6 +63,10 @@ gl:
62
63
  body: O corpo non pode estar en branco
63
64
  files:
64
65
  extension_allowlist: 'Formatos aceptados:'
66
+ images:
67
+ processors:
68
+ resize_and_pad: A imaxe axustarase para se encadrar a %{dimensions}.
69
+ resize_to_fit: A imaxe axustarase para se adaptar a %{dimensions}.
65
70
  question_types:
66
71
  long_answer: Resposta longa
67
72
  multiple_option: Múltipla opción
@@ -1 +1,2 @@
1
+ ---
1
2
  hr:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  hu:
2
3
  activemodel:
3
4
  attributes:
@@ -68,6 +69,9 @@ hu:
68
69
  body: A szövegtörzs nem lehet üres
69
70
  files:
70
71
  extension_allowlist: 'Elfogadott formátumok:'
72
+ images:
73
+ processors:
74
+ resize_to_fit: 'A kép át lesz méretezve erre a méretre: %{dimensions}.'
71
75
  question_types:
72
76
  long_answer: Hosszú válasz
73
77
  multiple_option: Több választási lehetőség
@@ -1,3 +1,4 @@
1
+ ---
1
2
  id:
2
3
  activemodel:
3
4
  attributes:
@@ -1 +1,2 @@
1
- is-IS:
1
+ ---
2
+ is:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  it:
2
3
  activemodel:
3
4
  attributes:
@@ -118,10 +119,6 @@ it:
118
119
  extension_allowlist: 'Formati accettati:'
119
120
  images:
120
121
  dimensions: "%{width} x %{height} px"
121
- dimensions_info: 'Questa immagine sarà:'
122
- processors:
123
- resize_and_pad: Ridimensionato e spaziato a
124
- resize_to_fit: Ridimensionato per adattarsi
125
122
  question_types:
126
123
  files: I file
127
124
  long_answer: Risposta lunga
@@ -1,3 +1,4 @@
1
+ ---
1
2
  ja:
2
3
  activemodel:
3
4
  attributes:
@@ -121,6 +122,9 @@ ja:
121
122
  update:
122
123
  invalid: フォームの保存に失敗しました。
123
124
  success: フォームを保存しました。
125
+ admin_log:
126
+ questionnaire:
127
+ update: "%{user_name} が %{resource_name} アンケートを更新しました"
124
128
  errors:
125
129
  answer:
126
130
  body: 本文は空白にできません
@@ -128,10 +132,9 @@ ja:
128
132
  extension_allowlist: '承認されたフォーマット:'
129
133
  images:
130
134
  dimensions: "%{width} x %{height} px"
131
- dimensions_info: 'この画像は次のようになります:'
132
135
  processors:
133
- resize_and_pad: リサイズおよびパッド先
134
- resize_to_fit: フィットするようにリサイズしました
136
+ resize_and_pad: この画像はリサイズされ、 %{dimensions} に合わされます。
137
+ resize_to_fit: この画像は %{dimensions} に合うようにリサイズされます。
135
138
  question_types:
136
139
  files: ファイル
137
140
  long_answer: 長い回答
@@ -1 +1,2 @@
1
+ ---
1
2
  ko:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  lb:
2
3
  activemodel:
3
4
  attributes:
@@ -118,10 +119,6 @@ lb:
118
119
  extension_allowlist: 'Gültige Formate:'
119
120
  images:
120
121
  dimensions: "%{width} x %{height} px"
121
- dimensions_info: 'Das Bild wird:'
122
- processors:
123
- resize_and_pad: in der Größe angepasst und gepolstert zu
124
- resize_to_fit: in der Größe verändert, damit es passt
125
122
  question_types:
126
123
  files: Dateien
127
124
  long_answer: Lange Antwort
@@ -1,189 +1,2 @@
1
+ ---
1
2
  lt:
2
- activemodel:
3
- attributes:
4
- answer:
5
- body: Atsakymas
6
- choices: Pasirinkimai
7
- selected_choices: Pasirinkti pasirinkimai
8
- question:
9
- max_choices: Maksimalus pasirinkimų skaičius
10
- question_type: Tipas
11
- questionnaire_question:
12
- mandatory: Privaloma
13
- max_characters: Simbolių limitas (palikti 0 jei limito nėra)
14
- errors:
15
- models:
16
- answer:
17
- attributes:
18
- add_documents:
19
- needs_to_be_reattached: Reikia pridėti iš naujo
20
- body:
21
- too_long: per ilgas
22
- choices:
23
- missing: nepilnas - trūksta elementų
24
- too_many: per daug
25
- questionnaire:
26
- request_invalid: Tvarkant prašymą įvyko klaida. Bandykite dar kartą
27
- decidim:
28
- forms:
29
- admin:
30
- models:
31
- components:
32
- description: Aprašymas
33
- tos: Paslaugų teikimo sąlygos
34
- questionnaires:
35
- actions:
36
- back: Grįžti į klausimus
37
- show: Rodyti atsakymus
38
- answer_option:
39
- answer_option: Atsakymo variantas
40
- free_text: Laisva forma
41
- remove: Pašalinti
42
- statement: Pareiškimas
43
- answers:
44
- actions:
45
- back: Grįžti į atsakymus
46
- export: Eksportuoti
47
- show: Rodyti atsakymus
48
- empty: Atsakymų dar nėra
49
- export:
50
- answer:
51
- title: 'Atsakymas #%{number}'
52
- export_response:
53
- title: apklausa_naudotoju_atsakymai_%{token}
54
- index:
55
- title: "%{total} iš viso atsakymų"
56
- show:
57
- title: 'Atsakymas #%{number}'
58
- display_condition:
59
- answer_option: Atsakymo variantas
60
- condition_question: Klausimas
61
- condition_type: Sąlyga
62
- condition_types:
63
- answered: Atsakyta
64
- equal: Lygu
65
- match: Įskaitant tekstą
66
- not_answered: Neatsakyta
67
- not_equal: Nelygu
68
- condition_value: Įskaitytas tekstas
69
- display_condition: Rodymo sąlyga
70
- mandatory: Ši sąlyga turi būti patenkinta visada, neatsižvelgiant į kitų sąlygų statusą
71
- remove: Pašalinti
72
- save_warning: Prieš konfigūruodami rodymo sąlygas, nepamirškite išsaugoti formos
73
- select_answer_option: Pasirinkite atsakymo variantą
74
- select_condition_question: Pasirinkite klausimą
75
- select_condition_type: Pasirinkti sąlygos tipą
76
- edit:
77
- save: Išsaugoti
78
- title: Redaguoti klausimyną
79
- form:
80
- add_question: Pridėti klausimą
81
- add_separator: Pridėti skyriklį
82
- add_title_and_description: Pridėti pavadinimą ir aprašymą
83
- already_answered_warning: Kai kurie naudotojai jau atsakė į formos klausimus, todėl jos klausimų keisti nebegalite.
84
- collapse: Suskleisti visus klausimus
85
- expand: Išskleisti visus klausimus
86
- preview: Peržiūra
87
- title: Taisyti %{questionnaire_for} formą
88
- unpublished_warning: Forma nepaskelbta. Galite keisti klausimus, tačiau tai darydami pašalinsite esamus atsakymus.
89
- matrix_row:
90
- matrix_row: Eilutė
91
- remove: Pašalinti
92
- statement: Pareiškimas
93
- question:
94
- add_answer_option: Pridėti atsakymo variantą
95
- add_display_condition: Pridėti rodymo sąlygą
96
- add_display_condition_info: Išsaugokite formą, kad galėtumėt konfiguruoti rodymo sąlygas
97
- add_matrix_row: Pridėti eilutę
98
- any: Bet koks
99
- collapse: Suskleisti
100
- description: Aprašymas
101
- down: Žemyn
102
- expand: Išplėsti
103
- question: Klausimas
104
- remove: Pašalinti
105
- statement: Pareiškimas
106
- up: Į viršų
107
- separator:
108
- down: Žemyn
109
- remove: Pašalinti
110
- separator: Skirtukas
111
- up: Į viršų
112
- title_and_description:
113
- collapse: Suskleisti
114
- description: Aprašymas
115
- down: Žemyn
116
- expand: Išplėsti
117
- remove: Pašalinti
118
- title: Pavadinimas
119
- title_and_description: Pavadinimas ir aprašymas
120
- up: Aukštyn
121
- update:
122
- invalid: Išsaugant šią formą iškilo problema.
123
- success: Forma sėkmingai išsaugota.
124
- errors:
125
- answer:
126
- body: Pagrindinė dalis negali būti tuščia
127
- files:
128
- extension_allowlist: 'Priimtini formatai:'
129
- images:
130
- dimensions: "%{width} x %{height} px"
131
- dimensions_info: 'Šis vaizdas bus:'
132
- processors:
133
- resize_and_pad: Pakeisto dydžio ir užpildytas iki
134
- resize_to_fit: Pakeistas dydis, kad tilptų
135
- question_types:
136
- files: Dokumentai
137
- long_answer: Ilgas atsakymas
138
- matrix_multiple: Matrica (su keliais variantais)
139
- matrix_single: Matrica (vienas variantas)
140
- multiple_option: Keli variantai
141
- short_answer: Trumpas atsakymas
142
- single_option: Vienas variantas
143
- sorting: Rūšiavimas
144
- title_and_description: Pavadinimas ir aprašymas
145
- questionnaires:
146
- answer:
147
- invalid: Atsakant į šią formą iškilo problema.
148
- max_choices_alert: Per daug pasirinktų variantų
149
- success: Į formos klausimus atsakyta.
150
- question:
151
- max_choices: 'Didžiausias pasirinkčių skaičius: %{n}'
152
- show:
153
- answer_questionnaire:
154
- anonymous_user_message: <a href="%{sign_in_link}">Prisijunkite su savo paskyra</a> arba <a href="%{sign_up_link}">užsiregistruokite</a> norėdami užpildyti formą.
155
- title: Atsakyti į formos klausimus
156
- current_step: Žingsnis %{step}
157
- of_total_steps: iš%{total_steps}
158
- questionnaire_answered:
159
- body: Jau atsakėte iš šios formos klausimus.
160
- title: Jau atsakyta
161
- questionnaire_closed:
162
- body: Forma uždaryta ir į ją atsakyti negalima.
163
- title: Forma uždaryta
164
- questionnaire_for_private_users:
165
- body: Forma pateikiama tik privatiems naudotojams
166
- title: Forma uždaryta
167
- questionnaire_js_disabled:
168
- body: Kai kurie šios formos funkcionalumai bus neaktyvūs. Kad pagerintumėte naudojimo patirtį, naršyklėje įjunkite „JavaScript“.
169
- title: '„JavaScript“ išjungta'
170
- questionnaire_not_published:
171
- body: Ši forma dar nepaskelbta.
172
- tos_agreement: Dalyvaudami sutinkate su paslaugos teikimo sąlygomis
173
- step_navigation:
174
- show:
175
- are_you_sure: Šio veiksmo atšaukti negalima ir savo atsakymų keisti negalėsite. Ar esate įsitikinę?
176
- back: Atgal
177
- continue: Tęsti
178
- submit: Pateikti
179
- user_answers_serializer:
180
- body: Atsakymas
181
- completion: Užbaigimas
182
- created_at: Atsakyta
183
- id: Atsakymo ID
184
- ip_hash: IP adreso "hash" kodas
185
- question: Klausimas
186
- registered: Užregistruota
187
- session_token: Naudotojo identifikatorius
188
- unregistered: Neregistruoti
189
- user_status: Naudotojo būsena
@@ -1,3 +1,4 @@
1
+ ---
1
2
  lv:
2
3
  activemodel:
3
4
  attributes:
@@ -69,10 +70,6 @@ lv:
69
70
  extension_allowlist: 'Pieņemtie formāti:'
70
71
  images:
71
72
  dimensions: "%{width} x %{height} pikseļi"
72
- dimensions_info: 'Attēlam būs:'
73
- processors:
74
- resize_and_pad: Mainīts lielums un izveidota robeža
75
- resize_to_fit: Mainīts, lai ietilptu
76
73
  question_types:
77
74
  long_answer: Garā atbilde
78
75
  matrix_multiple: Matrica (vairāki varianti)
@@ -1 +1,2 @@
1
+ ---
1
2
  mt:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  nl:
2
3
  activemodel:
3
4
  attributes:
@@ -122,10 +123,6 @@ nl:
122
123
  extension_allowlist: 'Geaccepteerde formaten:'
123
124
  images:
124
125
  dimensions: "%{width} x %{height} px"
125
- dimensions_info: 'Deze afbeelding zal zijn:'
126
- processors:
127
- resize_and_pad: Verkleind en verwijderd naar
128
- resize_to_fit: Vergrootst naar pasvorm
129
126
  question_types:
130
127
  long_answer: Lang antwoord
131
128
  matrix_multiple: Matrix (meerdere opties)
@@ -1,3 +1,4 @@
1
+ ---
1
2
  "no":
2
3
  activemodel:
3
4
  attributes:
@@ -128,10 +129,6 @@
128
129
  extension_allowlist: 'Aksepterte formater:'
129
130
  images:
130
131
  dimensions: "%{width} x %{height} px"
131
- dimensions_info: 'Dette bildet vil være:'
132
- processors:
133
- resize_and_pad: Endret størrelse og avstand til
134
- resize_to_fit: Endret størrelse for å passe
135
132
  question_types:
136
133
  files: Filer
137
134
  long_answer: Langt svar
@@ -1 +1,2 @@
1
+ ---
1
2
  om:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  pl:
2
3
  activemodel:
3
4
  attributes:
@@ -118,10 +119,6 @@ pl:
118
119
  extension_allowlist: 'Dozwolone formaty:'
119
120
  images:
120
121
  dimensions: "%{width} × %{height} px"
121
- dimensions_info: 'Rozmiar obrazu będzie wynosił:'
122
- processors:
123
- resize_and_pad: Zmieniony i dopełniony do
124
- resize_to_fit: Dopasowany
125
122
  question_types:
126
123
  files: Pliki
127
124
  long_answer: Długa odpowiedź
@@ -1,4 +1,5 @@
1
- pt-BR:
1
+ ---
2
+ pt:
2
3
  activemodel:
3
4
  attributes:
4
5
  answer:
@@ -118,10 +119,6 @@ pt-BR:
118
119
  extension_allowlist: 'Formatos aceitos:'
119
120
  images:
120
121
  dimensions: "%{width} x %{height} px"
121
- dimensions_info: 'Esta imagem será:'
122
- processors:
123
- resize_and_pad: Redimensionado e acolchoado para
124
- resize_to_fit: Redimensionado para caber
125
122
  question_types:
126
123
  files: Arquivos
127
124
  long_answer: Resposta longa
@@ -1,3 +1,4 @@
1
+ ---
1
2
  pt:
2
3
  activemodel:
3
4
  attributes:
@@ -118,10 +119,6 @@ pt:
118
119
  extension_allowlist: 'Formatos aceites:'
119
120
  images:
120
121
  dimensions: "%{width} x %{height} px"
121
- dimensions_info: 'Esta imagem será:'
122
- processors:
123
- resize_and_pad: Redimensionada e ajustada para
124
- resize_to_fit: Redimensionada para caber
125
122
  question_types:
126
123
  files: Ficheiros
127
124
  long_answer: Resposta longa
@@ -1,3 +1,4 @@
1
+ ---
1
2
  ro:
2
3
  activemodel:
3
4
  attributes:
@@ -128,10 +129,6 @@ ro:
128
129
  extension_allowlist: 'Formate acceptate:'
129
130
  images:
130
131
  dimensions: "%{width} x %{height} px"
131
- dimensions_info: 'Această imagine va fi:'
132
- processors:
133
- resize_and_pad: Redimensionat și padded la
134
- resize_to_fit: Redimensionată pentru a se potrivi
135
132
  question_types:
136
133
  files: Fișiere
137
134
  long_answer: Răspuns lung
@@ -1,3 +1,4 @@
1
+ ---
1
2
  ru:
2
3
  decidim:
3
4
  forms:
@@ -1 +1,2 @@
1
+ ---
1
2
  si:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  sk:
2
3
  activemodel:
3
4
  attributes:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  sl:
2
3
  activemodel:
3
4
  attributes:
@@ -1 +1,2 @@
1
+ ---
1
2
  so:
@@ -1 +1,2 @@
1
+ ---
1
2
  sr:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  sv:
2
3
  activemodel:
3
4
  attributes:
@@ -128,10 +129,6 @@ sv:
128
129
  extension_allowlist: 'Godkända format:'
129
130
  images:
130
131
  dimensions: "%{width} x %{height} px"
131
- dimensions_info: 'Denna bild kommer att vara:'
132
- processors:
133
- resize_and_pad: Anpassad och vadderad till
134
- resize_to_fit: Anpassad för att passa
135
132
  question_types:
136
133
  files: Filer
137
134
  long_answer: Långt svar
@@ -1 +1,2 @@
1
+ ---
1
2
  sw:
@@ -1 +1,2 @@
1
+ ---
1
2
  ti:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  tr:
2
3
  activemodel:
3
4
  attributes:
@@ -113,10 +114,6 @@ tr:
113
114
  extension_allowlist: 'Kabul edilen biçimler:'
114
115
  images:
115
116
  dimensions: "%{width} x %{height} px"
116
- dimensions_info: 'Bu resim:'
117
- processors:
118
- resize_and_pad: Yeniden boyutlandırıldı ve dolduruldu
119
- resize_to_fit: Sığacak şekilde yeniden boyutlandırıldı
120
117
  question_types:
121
118
  long_answer: Uzun cevap
122
119
  matrix_multiple: Matris (Çoklu seçenek)
@@ -1 +1,2 @@
1
+ ---
1
2
  uk:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  val:
2
3
  decidim:
3
4
  forms:
@@ -1 +1,2 @@
1
+ ---
1
2
  vi:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  zh-CN:
2
3
  activemodel:
3
4
  attributes:
@@ -112,10 +113,6 @@ zh-CN:
112
113
  extension_allowlist: '接受的格式:'
113
114
  images:
114
115
  dimensions: "%{width} x %{height} px"
115
- dimensions_info: '这张图片将是:'
116
- processors:
117
- resize_and_pad: 缩放并填充到
118
- resize_to_fit: 调整到适合的
119
116
  question_types:
120
117
  long_answer: 长答案
121
118
  matrix_multiple: 矩阵(多选项)
@@ -1 +1,2 @@
1
+ ---
1
2
  zh-TW:
@@ -15,11 +15,11 @@ module Decidim
15
15
  end
16
16
 
17
17
  def template
18
- "decidim/forms/admin/questionnaires/answers/export/pdf.html.erb"
18
+ "decidim/forms/admin/questionnaires/answers/export/pdf"
19
19
  end
20
20
 
21
21
  def layout
22
- "decidim/forms/admin/questionnaires/questionnaire_answers.html.erb"
22
+ "decidim/forms/admin/questionnaires/questionnaire_answers"
23
23
  end
24
24
 
25
25
  def locals
@@ -2,9 +2,9 @@
2
2
 
3
3
  module Decidim
4
4
  module Forms
5
- class DataPortabilityUserAnswersSerializer < Decidim::Exporters::Serializer
5
+ class DownloadYourDataUserAnswersSerializer < Decidim::Exporters::Serializer
6
6
  include Decidim::TranslationsHelper
7
- # Serializes an user answer for data portability
7
+ # Serializes an user answer for download your data
8
8
  def serialize
9
9
  {
10
10
  id: resource.id,
@@ -29,38 +29,47 @@ FactoryBot.define do
29
29
  end
30
30
 
31
31
  trait :with_all_questions do
32
- questions do
32
+ after(:build) do |questionaire, _evaluator|
33
33
  position = 0
34
- qs = %w(short_answer long_answer).collect do |text_question_type|
35
- q = build(:questionnaire_question, question_type: text_question_type, position: position)
34
+ %w(short_answer long_answer).collect do |text_question_type|
35
+ q = create(:questionnaire_question,
36
+ question_type: text_question_type,
37
+ position: position,
38
+ questionnaire: questionaire)
36
39
  position += 1
37
- q
40
+ questionaire.questions << q
38
41
  end
39
42
 
40
43
  %w(single_option multiple_option).each do |option_question_type|
41
- q = build(:questionnaire_question, :with_answer_options, question_type: option_question_type, position: position)
42
- position += 1
43
- qs << q
44
+ q = create(:questionnaire_question, :with_answer_options,
45
+ question_type: option_question_type,
46
+ position: position,
47
+ questionnaire: questionaire)
44
48
  q.display_conditions.build(
45
- condition_question: qs[q.position - 2],
49
+ condition_question: questionaire.questions[q.position - 1],
46
50
  question: q,
47
51
  condition_type: :answered,
48
52
  mandatory: true
49
53
  )
54
+ questionaire.questions << q
55
+ position += 1
50
56
  end
51
57
 
52
58
  %w(matrix_single matrix_multiple).collect do |matrix_question_type|
53
- q = build(:questionnaire_question, :with_answer_options, question_type: matrix_question_type, position: position, body: generate_localized_title)
54
- position += 1
55
- qs << q
59
+ q = build(:questionnaire_question, :with_answer_options,
60
+ question_type: matrix_question_type,
61
+ position: position,
62
+ body: generate_localized_title,
63
+ questionnaire: questionaire)
56
64
  q.display_conditions.build(
57
- condition_question: qs[q.position - 2],
65
+ condition_question: questionaire.questions[q.position - 1],
58
66
  question: q,
59
67
  condition_type: :answered,
60
68
  mandatory: true
61
69
  )
70
+ questionaire.questions << q
71
+ position += 1
62
72
  end
63
- qs
64
73
  end
65
74
  end
66
75
 
@@ -344,11 +344,11 @@ shared_examples_for "update questions" do
344
344
  end
345
345
 
346
346
  context "when a questionnaire has multiple existing questions" do
347
- let!(:question_1) do
347
+ let!(:question1) do
348
348
  create(:questionnaire_question, questionnaire: questionnaire, body: first_body, position: 0)
349
349
  end
350
350
 
351
- let!(:question_2) do
351
+ let!(:question2) do
352
352
  create(:questionnaire_question, questionnaire: questionnaire, body: second_body, position: 1)
353
353
  end
354
354
 
@@ -79,7 +79,7 @@ module Decidim
79
79
  end
80
80
 
81
81
  def normalize_matrix_choices(answer, choices)
82
- answer.question.matrix_rows.map do |matrix_row|
82
+ answer.question.matrix_rows.to_h do |matrix_row|
83
83
  row_body = translated_attribute(matrix_row.body)
84
84
 
85
85
  row_choices = answer.question.answer_options.map do |answer_option|
@@ -88,7 +88,7 @@ module Decidim
88
88
  end
89
89
 
90
90
  [row_body, row_choices]
91
- end.to_h
91
+ end
92
92
  end
93
93
 
94
94
  def answer_translated_attribute_name(attribute)
@@ -4,7 +4,7 @@ module Decidim
4
4
  # This holds the decidim-forms version.
5
5
  module Forms
6
6
  def self.version
7
- "0.26.3"
7
+ "0.27.0.rc1"
8
8
  end
9
9
  end
10
10
  end