decidim-forms 0.26.2 → 0.27.0.rc2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (62) 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 +3 -3
  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/forms/decidim/forms/answer_form.rb +4 -0
  7. data/app/models/decidim/forms/answer.rb +2 -2
  8. data/app/models/decidim/forms/display_condition.rb +1 -1
  9. data/app/models/decidim/forms/questionnaire.rb +7 -0
  10. data/app/packs/src/decidim/forms/admin/forms.js +3 -0
  11. data/app/presenters/decidim/forms/admin/questionnaire_answer_presenter.rb +10 -2
  12. data/app/presenters/decidim/forms/admin/questionnaire_participant_presenter.rb +5 -3
  13. data/app/presenters/decidim/forms/admin_log/questionnaire_presenter.rb +35 -0
  14. data/app/queries/decidim/forms/questionnaire_participant.rb +1 -1
  15. data/app/queries/decidim/forms/questionnaire_participants.rb +1 -1
  16. data/app/queries/decidim/forms/questionnaire_user_answers.rb +1 -1
  17. data/app/views/decidim/forms/questionnaires/show.html.erb +4 -2
  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/de.yml +6 -3
  23. data/config/locales/el.yml +1 -4
  24. data/config/locales/en.yml +5 -3
  25. data/config/locales/es-MX.yml +6 -3
  26. data/config/locales/es-PY.yml +6 -3
  27. data/config/locales/es.yml +6 -3
  28. data/config/locales/eu.yml +1 -4
  29. data/config/locales/fi-plain.yml +6 -3
  30. data/config/locales/fi.yml +6 -3
  31. data/config/locales/fr-CA.yml +6 -3
  32. data/config/locales/fr.yml +6 -3
  33. data/config/locales/ga-IE.yml +1 -0
  34. data/config/locales/gl.yml +5 -0
  35. data/config/locales/hu.yml +4 -0
  36. data/config/locales/id-ID.yml +1 -0
  37. data/config/locales/it.yml +1 -4
  38. data/config/locales/ja.yml +6 -3
  39. data/config/locales/lb.yml +1 -4
  40. data/config/locales/lt.yml +191 -0
  41. data/config/locales/lv.yml +1 -4
  42. data/config/locales/nl.yml +1 -4
  43. data/config/locales/no.yml +1 -4
  44. data/config/locales/pl.yml +1 -4
  45. data/config/locales/pt-BR.yml +1 -4
  46. data/config/locales/pt.yml +1 -4
  47. data/config/locales/ro-RO.yml +1 -4
  48. data/config/locales/ru.yml +1 -0
  49. data/config/locales/sk.yml +1 -0
  50. data/config/locales/sl.yml +1 -0
  51. data/config/locales/sv.yml +1 -4
  52. data/config/locales/tr-TR.yml +1 -4
  53. data/config/locales/val-ES.yml +1 -0
  54. data/config/locales/zh-CN.yml +1 -4
  55. data/lib/decidim/exporters/form_pdf.rb +2 -2
  56. data/lib/decidim/forms/{data_portability_user_answers_serializer.rb → download_your_data_user_answers_serializer.rb} +2 -2
  57. data/lib/decidim/forms/test/factories.rb +22 -13
  58. data/lib/decidim/forms/test/shared_examples/manage_questionnaires/update_questions.rb +2 -2
  59. data/lib/decidim/forms/user_answers_serializer.rb +2 -2
  60. data/lib/decidim/forms/version.rb +1 -1
  61. data/lib/decidim/forms.rb +1 -1
  62. metadata +14 -13
@@ -1,3 +1,4 @@
1
+ ---
1
2
  fr-CA:
2
3
  activemodel:
3
4
  attributes:
@@ -121,6 +122,9 @@ fr-CA:
121
122
  update:
122
123
  invalid: Il y a eu des erreurs lors de la sauvegarde du questionnaire.
123
124
  success: Le formulaire a bien été sauvegardé.
125
+ admin_log:
126
+ questionnaire:
127
+ update: "%{user_name} a modifié le questionnaire %{resource_name}"
124
128
  errors:
125
129
  answer:
126
130
  body: Le corps ne peut pas être vide
@@ -128,10 +132,9 @@ fr-CA:
128
132
  extension_allowlist: 'Formats acceptés :'
129
133
  images:
130
134
  dimensions: "%{width} x %{height} px"
131
- dimensions_info: 'Cette image sera :'
132
135
  processors:
133
- resize_and_pad: Redimensionné et ajustée à
134
- resize_to_fit: Redimensionnée pour s'adapter
136
+ resize_and_pad: Cette image sera redimensionnée et recadrée en %{dimensions}.
137
+ resize_to_fit: Cette image sera redimensionnée pour s'adapter à %{dimensions}.
135
138
  question_types:
136
139
  files: Fichiers
137
140
  long_answer: Longue réponse
@@ -1,3 +1,4 @@
1
+ ---
1
2
  fr:
2
3
  activemodel:
3
4
  attributes:
@@ -121,6 +122,9 @@ fr:
121
122
  update:
122
123
  invalid: Il y a eu des erreurs lors de la sauvegarde du questionnaire.
123
124
  success: Le questionnaire a bien été sauvegardé.
125
+ admin_log:
126
+ questionnaire:
127
+ update: "%{user_name} a modifié le questionnaire %{resource_name}"
124
128
  errors:
125
129
  answer:
126
130
  body: Le corps ne peut pas être vide
@@ -128,10 +132,9 @@ fr:
128
132
  extension_allowlist: 'Formats acceptés :'
129
133
  images:
130
134
  dimensions: "%{width} x %{height} px"
131
- dimensions_info: 'Cette image sera :'
132
135
  processors:
133
- resize_and_pad: Redimensionné et ajustée à
134
- resize_to_fit: Redimensionnée pour s'adapter
136
+ resize_and_pad: Cette image sera redimensionnée et recadrée en %{dimensions}.
137
+ resize_to_fit: Cette image sera redimensionnée pour s'adapter à %{dimensions}.
135
138
  question_types:
136
139
  files: Fichiers
137
140
  long_answer: Longue réponse
@@ -1,3 +1,4 @@
1
+ ---
1
2
  ga:
2
3
  activemodel:
3
4
  attributes:
@@ -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,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,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,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 +1,192 @@
1
+ ---
1
2
  lt:
3
+ activemodel:
4
+ attributes:
5
+ answer:
6
+ body: Atsakymas
7
+ choices: Pasirinkimai
8
+ selected_choices: Pasirinkti pasirinkimai
9
+ question:
10
+ max_choices: Maksimalus pasirinkimų skaičius
11
+ question_type: Tipas
12
+ questionnaire_question:
13
+ mandatory: Privaloma
14
+ max_characters: Simbolių limitas (palikti 0 jei limito nėra)
15
+ errors:
16
+ models:
17
+ answer:
18
+ attributes:
19
+ add_documents:
20
+ needs_to_be_reattached: Reikia pridėti iš naujo
21
+ body:
22
+ too_long: per ilgas
23
+ choices:
24
+ missing: nepilnas - trūksta elementų
25
+ too_many: per daug
26
+ questionnaire:
27
+ request_invalid: Tvarkant prašymą įvyko klaida. Bandykite dar kartą
28
+ decidim:
29
+ forms:
30
+ admin:
31
+ models:
32
+ components:
33
+ description: Aprašymas
34
+ tos: Paslaugų teikimo sąlygos
35
+ questionnaires:
36
+ actions:
37
+ back: Grįžti į klausimus
38
+ show: Rodyti atsakymus
39
+ answer_option:
40
+ answer_option: Atsakymo variantas
41
+ free_text: Laisva forma
42
+ remove: Pašalinti
43
+ statement: Pareiškimas
44
+ answers:
45
+ actions:
46
+ back: Grįžti į atsakymus
47
+ export: Eksportuoti
48
+ show: Rodyti atsakymus
49
+ empty: Atsakymų dar nėra
50
+ export:
51
+ answer:
52
+ title: 'Atsakymas #%{number}'
53
+ export_response:
54
+ title: apklausa_naudotoju_atsakymai_%{token}
55
+ index:
56
+ title: "%{total} iš viso atsakymų"
57
+ show:
58
+ title: 'Atsakymas #%{number}'
59
+ display_condition:
60
+ answer_option: Atsakymo variantas
61
+ condition_question: Klausimas
62
+ condition_type: Sąlyga
63
+ condition_types:
64
+ answered: Atsakyta
65
+ equal: Lygu
66
+ match: Įskaitant tekstą
67
+ not_answered: Neatsakyta
68
+ not_equal: Nelygu
69
+ condition_value: Įskaitytas tekstas
70
+ display_condition: Rodymo sąlyga
71
+ mandatory: Ši sąlyga turi būti patenkinta visada, neatsižvelgiant į kitų sąlygų statusą
72
+ remove: Pašalinti
73
+ save_warning: Prieš konfigūruodami rodymo sąlygas, nepamirškite išsaugoti formos
74
+ select_answer_option: Pasirinkite atsakymo variantą
75
+ select_condition_question: Pasirinkite klausimą
76
+ select_condition_type: Pasirinkti sąlygos tipą
77
+ edit:
78
+ save: Išsaugoti
79
+ title: Redaguoti klausimyną
80
+ form:
81
+ add_question: Pridėti klausimą
82
+ add_separator: Pridėti skyriklį
83
+ add_title_and_description: Pridėti pavadinimą ir aprašymą
84
+ already_answered_warning: Kai kurie naudotojai jau atsakė į formos klausimus, todėl jos klausimų keisti nebegalite.
85
+ collapse: Suskleisti visus klausimus
86
+ expand: Išskleisti visus klausimus
87
+ preview: Peržiūra
88
+ title: Taisyti %{questionnaire_for} formą
89
+ unpublished_warning: Forma nepaskelbta. Galite keisti klausimus, tačiau tai darydami pašalinsite esamus atsakymus.
90
+ matrix_row:
91
+ matrix_row: Eilutė
92
+ remove: Pašalinti
93
+ statement: Pareiškimas
94
+ question:
95
+ add_answer_option: Pridėti atsakymo variantą
96
+ add_display_condition: Pridėti rodymo sąlygą
97
+ add_display_condition_info: Išsaugokite formą, kad galėtumėt konfiguruoti rodymo sąlygas
98
+ add_matrix_row: Pridėti eilutę
99
+ any: Bet koks
100
+ collapse: Suskleisti
101
+ description: Aprašymas
102
+ down: Žemyn
103
+ expand: Išplėsti
104
+ question: Klausimas
105
+ remove: Pašalinti
106
+ statement: Pareiškimas
107
+ up: Į viršų
108
+ separator:
109
+ down: Žemyn
110
+ remove: Pašalinti
111
+ separator: Skirtukas
112
+ up: Į viršų
113
+ title_and_description:
114
+ collapse: Suskleisti
115
+ description: Aprašymas
116
+ down: Žemyn
117
+ expand: Išplėsti
118
+ remove: Pašalinti
119
+ title: Pavadinimas
120
+ title_and_description: Pavadinimas ir aprašymas
121
+ up: Aukštyn
122
+ update:
123
+ invalid: Išsaugant šią formą iškilo problema.
124
+ success: Forma sėkmingai išsaugota.
125
+ admin_log:
126
+ questionnaire:
127
+ update: "%{user_name} atnaujino %{resource_name} klausimyną"
128
+ errors:
129
+ answer:
130
+ body: Pagrindinė dalis negali būti tuščia
131
+ files:
132
+ extension_allowlist: 'Priimtini formatai:'
133
+ images:
134
+ dimensions: "%{width} x %{height} px"
135
+ processors:
136
+ resize_and_pad: Paveikslėlio dydis buvo pakeistas į %{dimensions}.
137
+ resize_to_fit: Paveikslėlio dydis buvo pakeistas į %{dimensions}.
138
+ question_types:
139
+ files: Dokumentai
140
+ long_answer: Ilgas atsakymas
141
+ matrix_multiple: Matrica (su keliais variantais)
142
+ matrix_single: Matrica (vienas variantas)
143
+ multiple_option: Keli variantai
144
+ short_answer: Trumpas atsakymas
145
+ single_option: Vienas variantas
146
+ sorting: Rūšiavimas
147
+ title_and_description: Pavadinimas ir aprašymas
148
+ questionnaires:
149
+ answer:
150
+ invalid: Atsakant į šią formą iškilo problema.
151
+ max_choices_alert: Per daug pasirinktų variantų
152
+ success: Į formos klausimus atsakyta.
153
+ question:
154
+ max_choices: 'Didžiausias pasirinkčių skaičius: %{n}'
155
+ show:
156
+ answer_questionnaire:
157
+ 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ą.
158
+ title: Atsakyti į formos klausimus
159
+ current_step: Žingsnis %{step}
160
+ of_total_steps: iš%{total_steps}
161
+ questionnaire_answered:
162
+ body: Jau atsakėte iš šios formos klausimus.
163
+ title: Jau atsakyta
164
+ questionnaire_closed:
165
+ body: Forma uždaryta ir į ją atsakyti negalima.
166
+ title: Forma uždaryta
167
+ questionnaire_for_private_users:
168
+ body: Forma pateikiama tik privatiems naudotojams
169
+ title: Forma uždaryta
170
+ questionnaire_js_disabled:
171
+ body: Kai kurie šios formos funkcionalumai bus neaktyvūs. Kad pagerintumėte naudojimo patirtį, naršyklėje įjunkite „JavaScript“.
172
+ title: '„JavaScript“ išjungta'
173
+ questionnaire_not_published:
174
+ body: Ši forma dar nepaskelbta.
175
+ tos_agreement: Dalyvaudami sutinkate su paslaugos teikimo sąlygomis
176
+ step_navigation:
177
+ show:
178
+ are_you_sure: Šio veiksmo atšaukti negalima ir savo atsakymų keisti negalėsite. Ar esate įsitikinę?
179
+ back: Atgal
180
+ continue: Tęsti
181
+ submit: Pateikti
182
+ user_answers_serializer:
183
+ body: Atsakymas
184
+ completion: Užbaigimas
185
+ created_at: Atsakyta
186
+ id: Atsakymo ID
187
+ ip_hash: IP adreso "hash" kodas
188
+ question: Klausimas
189
+ registered: Užregistruota
190
+ session_token: Naudotojo identifikatorius
191
+ unregistered: Neregistruoti
192
+ 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,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,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,3 +1,4 @@
1
+ ---
1
2
  pt-BR:
2
3
  activemodel:
3
4
  attributes:
@@ -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,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,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,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,3 +1,4 @@
1
+ ---
1
2
  val:
2
3
  decidim:
3
4
  forms:
@@ -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: 矩阵(多选项)
@@ -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)