decidim-forms 0.21.0 → 0.22.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/assets/config/admin/decidim_forms_manifest.js +1 -0
- data/app/assets/images/decidim/surveys/icon.svg +1 -19
- data/app/assets/javascripts/decidim/forms/admin/collapsible_questions.js.es6 +13 -0
- data/app/assets/javascripts/decidim/forms/admin/forms.js.es6 +95 -7
- data/app/assets/javascripts/decidim/forms/admin/live_text_update.component.js.es6 +52 -0
- data/app/assets/javascripts/decidim/forms/forms.js.es6 +42 -1
- data/app/assets/javascripts/decidim/forms/max_choices_alert.component.js.es6 +44 -0
- data/app/assets/stylesheets/decidim/forms/forms.scss +39 -0
- data/app/cells/decidim/forms/matrix_readonly/show.erb +5 -0
- data/app/cells/decidim/forms/matrix_readonly_cell.rb +12 -0
- data/app/cells/decidim/forms/question_readonly/show.erb +5 -1
- data/app/cells/decidim/forms/question_readonly_cell.rb +5 -0
- data/app/cells/decidim/forms/step_navigation/show.erb +35 -0
- data/app/cells/decidim/forms/step_navigation_cell.rb +46 -0
- data/app/commands/decidim/forms/admin/update_questionnaire.rb +8 -0
- data/app/commands/decidim/forms/answer_questionnaire.rb +2 -1
- data/app/controllers/decidim/forms/admin/concerns/has_questionnaire.rb +6 -2
- data/app/controllers/decidim/forms/concerns/has_questionnaire.rb +11 -2
- data/app/forms/decidim/forms/admin/question_form.rb +20 -1
- data/app/forms/decidim/forms/admin/question_matrix_row_form.rb +26 -0
- data/app/forms/decidim/forms/answer_choice_form.rb +1 -0
- data/app/forms/decidim/forms/answer_form.rb +16 -2
- data/app/forms/decidim/forms/questionnaire_form.rb +25 -3
- data/app/helpers/decidim/forms/admin/application_helper.rb +16 -0
- data/app/models/decidim/forms/answer_choice.rb +7 -0
- data/app/models/decidim/forms/question.rb +18 -2
- data/app/models/decidim/forms/question_matrix_row.rb +12 -0
- data/app/views/decidim/forms/admin/questionnaires/_answer_option_template.html.erb +1 -1
- data/app/views/decidim/forms/admin/questionnaires/_form.html.erb +37 -4
- data/app/views/decidim/forms/admin/questionnaires/_matrix_row.html.erb +34 -0
- data/app/views/decidim/forms/admin/questionnaires/_matrix_row_template.html.erb +7 -0
- data/app/views/decidim/forms/admin/questionnaires/_question.html.erb +29 -6
- data/app/views/decidim/forms/admin/questionnaires/_separator.html.erb +41 -0
- data/app/views/decidim/forms/questionnaires/_answer.html.erb +21 -92
- data/app/views/decidim/forms/questionnaires/answers/_long_answer.html.erb +1 -0
- data/app/views/decidim/forms/questionnaires/answers/_matrix_multiple.html.erb +43 -0
- data/app/views/decidim/forms/questionnaires/answers/_matrix_single.html.erb +43 -0
- data/app/views/decidim/forms/questionnaires/answers/_multiple_option.html.erb +23 -0
- data/app/views/decidim/forms/questionnaires/answers/_separator.html.erb +1 -0
- data/app/views/decidim/forms/questionnaires/answers/_short_answer.html.erb +1 -0
- data/app/views/decidim/forms/questionnaires/answers/_single_option.html.erb +30 -0
- data/app/views/decidim/forms/questionnaires/answers/_sorting.html.erb +23 -0
- data/app/views/decidim/forms/questionnaires/show.html.erb +57 -25
- data/config/locales/ar.yml +7 -3
- data/config/locales/bg-BG.yml +16 -0
- data/config/locales/ca.yml +35 -3
- data/config/locales/cs.yml +35 -3
- data/config/locales/da-DK.yml +1 -0
- data/config/locales/de.yml +41 -3
- data/config/locales/el.yml +119 -0
- data/config/locales/en.yml +35 -3
- data/config/locales/es-MX.yml +35 -3
- data/config/locales/es-PY.yml +35 -3
- data/config/locales/es.yml +35 -3
- data/config/locales/et-EE.yml +1 -0
- data/config/locales/eu.yml +7 -3
- data/config/locales/fi-plain.yml +35 -3
- data/config/locales/fi.yml +36 -4
- data/config/locales/fr-CA.yml +120 -0
- data/config/locales/fr.yml +36 -4
- data/config/locales/ga-IE.yml +1 -0
- data/config/locales/gl.yml +7 -3
- data/config/locales/hr-HR.yml +1 -0
- data/config/locales/hu.yml +11 -3
- data/config/locales/id-ID.yml +7 -3
- data/config/locales/it.yml +36 -4
- data/config/locales/ja-JP.yml +120 -0
- data/config/locales/lt-LT.yml +1 -0
- data/config/locales/lv-LV.yml +119 -0
- data/config/locales/mt-MT.yml +1 -0
- data/config/locales/nl.yml +35 -3
- data/config/locales/no.yml +7 -3
- data/config/locales/pl.yml +63 -25
- data/config/locales/pt-BR.yml +8 -4
- data/config/locales/pt.yml +62 -24
- data/config/locales/ro-RO.yml +118 -0
- data/config/locales/ru.yml +4 -1
- data/config/locales/sk-SK.yml +88 -0
- data/config/locales/sk.yml +92 -0
- data/config/locales/sl.yml +5 -0
- data/config/locales/sr-CS.yml +1 -0
- data/config/locales/sv.yml +38 -6
- data/config/locales/tr-TR.yml +7 -3
- data/db/migrate/20200225123810_create_decidim_forms_question_matrix_rows.rb +11 -0
- data/db/migrate/20200304152939_add_matrix_row_id_to_decidim_forms_answer_choices.rb +11 -0
- data/lib/decidim/forms/test/factories.rb +20 -0
- data/lib/decidim/forms/test/shared_examples/has_questionnaire.rb +313 -36
- data/lib/decidim/forms/test/shared_examples/manage_questionnaires.rb +346 -15
- data/lib/decidim/forms/user_answers_serializer.rb +21 -4
- data/lib/decidim/forms/version.rb +1 -1
- metadata +45 -8
@@ -28,15 +28,32 @@ module Decidim
|
|
28
28
|
private
|
29
29
|
|
30
30
|
def normalize_body(answer)
|
31
|
-
answer.body || normalize_choices(answer.choices)
|
31
|
+
answer.body || normalize_choices(answer, answer.choices)
|
32
32
|
end
|
33
33
|
|
34
|
-
def normalize_choices(choices)
|
35
|
-
|
36
|
-
|
34
|
+
def normalize_choices(answer, choices)
|
35
|
+
if answer.question.matrix?
|
36
|
+
normalize_matrix_choices(answer, choices)
|
37
|
+
else
|
38
|
+
choices.map do |choice|
|
39
|
+
choice.try(:custom_body) || choice.try(:body)
|
40
|
+
end
|
37
41
|
end
|
38
42
|
end
|
39
43
|
|
44
|
+
def normalize_matrix_choices(answer, choices)
|
45
|
+
answer.question.matrix_rows.map do |matrix_row|
|
46
|
+
row_body = translated_attribute(matrix_row.body)
|
47
|
+
|
48
|
+
row_choices = answer.question.answer_options.map do |answer_option|
|
49
|
+
choice = choices.find_by(matrix_row: matrix_row, answer_option: answer_option)
|
50
|
+
choice.try(:custom_body) || choice.try(:body)
|
51
|
+
end
|
52
|
+
|
53
|
+
[row_body, row_choices]
|
54
|
+
end.to_h
|
55
|
+
end
|
56
|
+
|
40
57
|
def answer_translated_attribute_name(attribute)
|
41
58
|
I18n.t(attribute.to_sym, scope: "decidim.forms.user_answers_serializer")
|
42
59
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: decidim-forms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.22.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Josep Jaume Rey Peroy
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2020-
|
14
|
+
date: 2020-09-01 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: decidim-core
|
@@ -19,42 +19,42 @@ dependencies:
|
|
19
19
|
requirements:
|
20
20
|
- - '='
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 0.
|
22
|
+
version: 0.22.0
|
23
23
|
type: :runtime
|
24
24
|
prerelease: false
|
25
25
|
version_requirements: !ruby/object:Gem::Requirement
|
26
26
|
requirements:
|
27
27
|
- - '='
|
28
28
|
- !ruby/object:Gem::Version
|
29
|
-
version: 0.
|
29
|
+
version: 0.22.0
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: decidim-admin
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
33
33
|
requirements:
|
34
34
|
- - '='
|
35
35
|
- !ruby/object:Gem::Version
|
36
|
-
version: 0.
|
36
|
+
version: 0.22.0
|
37
37
|
type: :development
|
38
38
|
prerelease: false
|
39
39
|
version_requirements: !ruby/object:Gem::Requirement
|
40
40
|
requirements:
|
41
41
|
- - '='
|
42
42
|
- !ruby/object:Gem::Version
|
43
|
-
version: 0.
|
43
|
+
version: 0.22.0
|
44
44
|
- !ruby/object:Gem::Dependency
|
45
45
|
name: decidim-dev
|
46
46
|
requirement: !ruby/object:Gem::Requirement
|
47
47
|
requirements:
|
48
48
|
- - '='
|
49
49
|
- !ruby/object:Gem::Version
|
50
|
-
version: 0.
|
50
|
+
version: 0.22.0
|
51
51
|
type: :development
|
52
52
|
prerelease: false
|
53
53
|
version_requirements: !ruby/object:Gem::Requirement
|
54
54
|
requirements:
|
55
55
|
- - '='
|
56
56
|
- !ruby/object:Gem::Version
|
57
|
-
version: 0.
|
57
|
+
version: 0.22.0
|
58
58
|
description: A forms gem for decidim.
|
59
59
|
email:
|
60
60
|
- josepjaume@gmail.com
|
@@ -73,21 +73,29 @@ files:
|
|
73
73
|
- app/assets/images/decidim/surveys/icon.svg
|
74
74
|
- app/assets/javascripts/decidim/forms/admin/auto_buttons_by_min_items.component.js.es6
|
75
75
|
- app/assets/javascripts/decidim/forms/admin/auto_select_options_by_total_items.component.js.es6
|
76
|
+
- app/assets/javascripts/decidim/forms/admin/collapsible_questions.js.es6
|
76
77
|
- app/assets/javascripts/decidim/forms/admin/forms.js.es6
|
78
|
+
- app/assets/javascripts/decidim/forms/admin/live_text_update.component.js.es6
|
77
79
|
- app/assets/javascripts/decidim/forms/autosortable_checkboxes.component.js.es6
|
78
80
|
- app/assets/javascripts/decidim/forms/forms.js.es6
|
81
|
+
- app/assets/javascripts/decidim/forms/max_choices_alert.component.js.es6
|
79
82
|
- app/assets/javascripts/decidim/forms/option_attached_inputs.component.js.es6
|
80
83
|
- app/assets/stylesheets/decidim/forms/forms.scss
|
81
84
|
- app/cells/decidim/forms/answer_readonly/show.erb
|
82
85
|
- app/cells/decidim/forms/answer_readonly_cell.rb
|
86
|
+
- app/cells/decidim/forms/matrix_readonly/show.erb
|
87
|
+
- app/cells/decidim/forms/matrix_readonly_cell.rb
|
83
88
|
- app/cells/decidim/forms/question_readonly/show.erb
|
84
89
|
- app/cells/decidim/forms/question_readonly_cell.rb
|
90
|
+
- app/cells/decidim/forms/step_navigation/show.erb
|
91
|
+
- app/cells/decidim/forms/step_navigation_cell.rb
|
85
92
|
- app/commands/decidim/forms/admin/update_questionnaire.rb
|
86
93
|
- app/commands/decidim/forms/answer_questionnaire.rb
|
87
94
|
- app/controllers/decidim/forms/admin/concerns/has_questionnaire.rb
|
88
95
|
- app/controllers/decidim/forms/concerns/has_questionnaire.rb
|
89
96
|
- app/forms/decidim/forms/admin/answer_option_form.rb
|
90
97
|
- app/forms/decidim/forms/admin/question_form.rb
|
98
|
+
- app/forms/decidim/forms/admin/question_matrix_row_form.rb
|
91
99
|
- app/forms/decidim/forms/admin/questionnaire_form.rb
|
92
100
|
- app/forms/decidim/forms/answer_choice_form.rb
|
93
101
|
- app/forms/decidim/forms/answer_form.rb
|
@@ -100,6 +108,7 @@ files:
|
|
100
108
|
- app/models/decidim/forms/answer_option.rb
|
101
109
|
- app/models/decidim/forms/application_record.rb
|
102
110
|
- app/models/decidim/forms/question.rb
|
111
|
+
- app/models/decidim/forms/question_matrix_row.rb
|
103
112
|
- app/models/decidim/forms/questionnaire.rb
|
104
113
|
- app/queries/decidim/forms/questionnaire_user_answers.rb
|
105
114
|
- app/types/decidim/forms/answer_option_type.rb
|
@@ -108,15 +117,28 @@ files:
|
|
108
117
|
- app/views/decidim/forms/admin/questionnaires/_answer_option.html.erb
|
109
118
|
- app/views/decidim/forms/admin/questionnaires/_answer_option_template.html.erb
|
110
119
|
- app/views/decidim/forms/admin/questionnaires/_form.html.erb
|
120
|
+
- app/views/decidim/forms/admin/questionnaires/_matrix_row.html.erb
|
121
|
+
- app/views/decidim/forms/admin/questionnaires/_matrix_row_template.html.erb
|
111
122
|
- app/views/decidim/forms/admin/questionnaires/_question.html.erb
|
123
|
+
- app/views/decidim/forms/admin/questionnaires/_separator.html.erb
|
112
124
|
- app/views/decidim/forms/admin/questionnaires/edit.html.erb
|
113
125
|
- app/views/decidim/forms/questionnaires/_answer.html.erb
|
126
|
+
- app/views/decidim/forms/questionnaires/answers/_long_answer.html.erb
|
127
|
+
- app/views/decidim/forms/questionnaires/answers/_matrix_multiple.html.erb
|
128
|
+
- app/views/decidim/forms/questionnaires/answers/_matrix_single.html.erb
|
129
|
+
- app/views/decidim/forms/questionnaires/answers/_multiple_option.html.erb
|
130
|
+
- app/views/decidim/forms/questionnaires/answers/_separator.html.erb
|
131
|
+
- app/views/decidim/forms/questionnaires/answers/_short_answer.html.erb
|
132
|
+
- app/views/decidim/forms/questionnaires/answers/_single_option.html.erb
|
133
|
+
- app/views/decidim/forms/questionnaires/answers/_sorting.html.erb
|
114
134
|
- app/views/decidim/forms/questionnaires/show.html.erb
|
115
135
|
- config/locales/ar-SA.yml
|
116
136
|
- config/locales/ar.yml
|
137
|
+
- config/locales/bg-BG.yml
|
117
138
|
- config/locales/ca.yml
|
118
139
|
- config/locales/cs-CZ.yml
|
119
140
|
- config/locales/cs.yml
|
141
|
+
- config/locales/da-DK.yml
|
120
142
|
- config/locales/de.yml
|
121
143
|
- config/locales/el-GR.yml
|
122
144
|
- config/locales/el.yml
|
@@ -125,22 +147,35 @@ files:
|
|
125
147
|
- config/locales/es-MX.yml
|
126
148
|
- config/locales/es-PY.yml
|
127
149
|
- config/locales/es.yml
|
150
|
+
- config/locales/et-EE.yml
|
128
151
|
- config/locales/eu.yml
|
129
152
|
- config/locales/fi-pl.yml
|
130
153
|
- config/locales/fi-plain.yml
|
131
154
|
- config/locales/fi.yml
|
155
|
+
- config/locales/fr-CA.yml
|
132
156
|
- config/locales/fr.yml
|
157
|
+
- config/locales/ga-IE.yml
|
133
158
|
- config/locales/gl.yml
|
159
|
+
- config/locales/hr-HR.yml
|
134
160
|
- config/locales/hu.yml
|
135
161
|
- config/locales/id-ID.yml
|
136
162
|
- config/locales/is-IS.yml
|
137
163
|
- config/locales/it.yml
|
164
|
+
- config/locales/ja-JP.yml
|
165
|
+
- config/locales/lt-LT.yml
|
166
|
+
- config/locales/lv-LV.yml
|
167
|
+
- config/locales/mt-MT.yml
|
138
168
|
- config/locales/nl.yml
|
139
169
|
- config/locales/no.yml
|
140
170
|
- config/locales/pl.yml
|
141
171
|
- config/locales/pt-BR.yml
|
142
172
|
- config/locales/pt.yml
|
173
|
+
- config/locales/ro-RO.yml
|
143
174
|
- config/locales/ru.yml
|
175
|
+
- config/locales/sk-SK.yml
|
176
|
+
- config/locales/sk.yml
|
177
|
+
- config/locales/sl.yml
|
178
|
+
- config/locales/sr-CS.yml
|
144
179
|
- config/locales/sv.yml
|
145
180
|
- config/locales/tr-TR.yml
|
146
181
|
- config/locales/uk.yml
|
@@ -151,6 +186,8 @@ files:
|
|
151
186
|
- db/migrate/20180405015147_create_decidim_forms_answer_choices.rb
|
152
187
|
- db/migrate/20190315203056_add_session_token_to_decidim_forms_answers.rb
|
153
188
|
- db/migrate/20190930094710_add_ip_hash_to_decidim_form_answers.rb
|
189
|
+
- db/migrate/20200225123810_create_decidim_forms_question_matrix_rows.rb
|
190
|
+
- db/migrate/20200304152939_add_matrix_row_id_to_decidim_forms_answer_choices.rb
|
154
191
|
- lib/decidim/api/questionnaire_entity_interface.rb
|
155
192
|
- lib/decidim/forms.rb
|
156
193
|
- lib/decidim/forms/admin.rb
|