decidim-forms 0.24.0 → 0.25.0.rc1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/cells/decidim/forms/step_navigation/show.erb +1 -1
- data/app/commands/decidim/forms/admin/update_questionnaire.rb +3 -2
- data/app/forms/decidim/forms/admin/question_form.rb +14 -0
- data/app/forms/decidim/forms/admin/question_matrix_row_form.rb +2 -2
- data/app/forms/decidim/forms/questionnaire_form.rb +1 -0
- data/app/helpers/decidim/forms/application_helper.rb +1 -0
- data/app/jobs/decidim/forms/export_questionnaire_answers_job.rb +1 -1
- data/app/models/decidim/forms/question.rb +4 -0
- data/app/models/decidim/forms/question_matrix_row.rb +3 -0
- data/app/packs/entrypoints/decidim_forms.js +4 -0
- data/app/packs/entrypoints/decidim_forms_admin.js +4 -0
- data/app/packs/entrypoints/decidim_questionnaire_answers_pdf.js +1 -0
- data/app/packs/entrypoints/decidim_questionnaire_answers_pdf.scss +1 -0
- data/app/{assets/images/decidim/surveys/icon.svg → packs/images/decidim/surveys/decidim_surveys.svg} +0 -0
- data/app/packs/src/decidim/forms/admin/auto_buttons_by_min_items.component.js +20 -0
- data/app/packs/src/decidim/forms/admin/auto_select_options_by_total_items.component.js +18 -0
- data/app/packs/src/decidim/forms/admin/auto_select_options_from_url.component.js +35 -0
- data/app/{assets/javascripts/decidim/forms/admin/collapsible_questions.js.es6 → packs/src/decidim/forms/admin/collapsible_questions.js} +0 -0
- data/app/{assets/javascripts/decidim/forms/admin/forms.js.es6 → packs/src/decidim/forms/admin/forms.js} +16 -12
- data/app/packs/src/decidim/forms/admin/live_text_update.component.js +49 -0
- data/app/packs/src/decidim/forms/autosortable_checkboxes.component.js +83 -0
- data/app/packs/src/decidim/forms/display_conditions.component.js +200 -0
- data/app/{assets/javascripts/decidim/forms/forms.js.es6 → packs/src/decidim/forms/forms.js} +7 -7
- data/app/packs/src/decidim/forms/max_choices_alert.component.js +43 -0
- data/app/packs/src/decidim/forms/option_attached_inputs.component.js +31 -0
- data/app/{assets → packs}/stylesheets/decidim/forms/forms.scss +5 -0
- data/app/{assets → packs}/stylesheets/decidim/forms/questionnaire-answers-pdf.scss +0 -0
- data/app/views/decidim/forms/admin/questionnaires/_display_condition.html.erb +2 -2
- data/app/views/decidim/forms/admin/questionnaires/_form.html.erb +5 -3
- data/app/views/decidim/forms/admin/questionnaires/_matrix_row.html.erb +1 -0
- data/app/views/decidim/forms/admin/questionnaires/_question.html.erb +1 -1
- data/app/views/decidim/forms/questionnaires/answers/_matrix_multiple.html.erb +1 -1
- data/app/views/decidim/forms/questionnaires/answers/_matrix_single.html.erb +1 -1
- data/app/views/decidim/forms/questionnaires/show.html.erb +7 -1
- data/app/views/layouts/decidim/forms/admin/questionnaires/questionnaire_answers.html.erb +1 -1
- data/config/assets.rb +10 -0
- data/config/locales/fr-LU.yml +178 -0
- data/config/locales/hu.yml +2 -0
- data/config/locales/it.yml +7 -0
- data/config/locales/ja.yml +8 -0
- data/config/locales/lb-LU.yml +1 -0
- data/config/locales/pl.yml +2 -2
- data/config/locales/pt-BR.yml +93 -0
- data/config/locales/sv.yml +9 -0
- data/db/migrate/20170515144119_create_decidim_forms_answers.rb +1 -2
- data/db/migrate/20210616153042_set_position_to_question_matrix_rows.rb +11 -0
- data/lib/decidim/forms/admin_engine.rb +0 -4
- data/lib/decidim/forms/engine.rb +2 -4
- data/lib/decidim/forms/test/factories.rb +39 -2
- data/lib/decidim/forms/test/shared_examples/has_questionnaire.rb +2 -0
- data/lib/decidim/forms/user_answers_serializer.rb +3 -0
- data/lib/decidim/forms/version.rb +1 -1
- metadata +35 -32
- data/app/assets/config/admin/decidim_forms_manifest.css +0 -3
- data/app/assets/config/admin/decidim_forms_manifest.js +0 -2
- data/app/assets/config/decidim_forms_manifest.css +0 -4
- data/app/assets/config/decidim_forms_manifest.js +0 -1
- data/app/assets/javascripts/decidim/forms/admin/auto_buttons_by_min_items.component.js.es6 +0 -25
- data/app/assets/javascripts/decidim/forms/admin/auto_select_options_by_total_items.component.js.es6 +0 -23
- data/app/assets/javascripts/decidim/forms/admin/auto_select_options_from_url.component.js.es6 +0 -40
- data/app/assets/javascripts/decidim/forms/admin/live_text_update.component.js.es6 +0 -52
- data/app/assets/javascripts/decidim/forms/autosortable_checkboxes.component.js.es6 +0 -85
- data/app/assets/javascripts/decidim/forms/display_conditions.component.js.es6 +0 -203
- data/app/assets/javascripts/decidim/forms/max_choices_alert.component.js.es6 +0 -44
- data/app/assets/javascripts/decidim/forms/option_attached_inputs.component.js.es6 +0 -32
- data/config/locales/ja-JP.yml +0 -170
data/config/locales/ja.yml
CHANGED
|
@@ -3,15 +3,22 @@ ja:
|
|
|
3
3
|
attributes:
|
|
4
4
|
answer:
|
|
5
5
|
body: 回答
|
|
6
|
+
choices: 選択項目
|
|
7
|
+
selected_choices: 選択した項目
|
|
6
8
|
question:
|
|
7
9
|
max_choices: 選択肢の最大数
|
|
8
10
|
question_type: タイプ
|
|
9
11
|
questionnaire_question:
|
|
10
12
|
mandatory: Mandatory
|
|
13
|
+
max_characters: 文字数制限 (制限がない場合は0にしてください)
|
|
11
14
|
errors:
|
|
12
15
|
models:
|
|
13
16
|
answer:
|
|
14
17
|
attributes:
|
|
18
|
+
add_documents:
|
|
19
|
+
needs_to_be_reattached: 再添付が必要
|
|
20
|
+
body:
|
|
21
|
+
too_long: 長すぎます
|
|
15
22
|
choices:
|
|
16
23
|
missing: は完全ではありません
|
|
17
24
|
too_many: 多すぎます
|
|
@@ -116,6 +123,7 @@ ja:
|
|
|
116
123
|
resize_and_pad: リサイズおよびパッド先
|
|
117
124
|
resize_to_fit: フィットするようにリサイズしました
|
|
118
125
|
question_types:
|
|
126
|
+
files: ファイル
|
|
119
127
|
long_answer: 長い回答
|
|
120
128
|
matrix_multiple: マトリクス (複数オプション)
|
|
121
129
|
matrix_single: マトリクス(シングルオプション)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
lb:
|
data/config/locales/pl.yml
CHANGED
|
@@ -30,7 +30,7 @@ pl:
|
|
|
30
30
|
models:
|
|
31
31
|
components:
|
|
32
32
|
description: Opis
|
|
33
|
-
tos: Warunki
|
|
33
|
+
tos: Warunki uczestnictwa
|
|
34
34
|
questionnaires:
|
|
35
35
|
actions:
|
|
36
36
|
back: Powrót do pytań
|
|
@@ -158,7 +158,7 @@ pl:
|
|
|
158
158
|
title: JavaScript jest wyłączony
|
|
159
159
|
questionnaire_not_published:
|
|
160
160
|
body: Ten formularz nie został jeszcze opublikowany.
|
|
161
|
-
tos_agreement: Biorąc udział akceptujesz Warunki korzystania z
|
|
161
|
+
tos_agreement: Biorąc udział akceptujesz Warunki korzystania z Platformy
|
|
162
162
|
step_navigation:
|
|
163
163
|
show:
|
|
164
164
|
are_you_sure: Tego działania nie można cofnąć i nie będzie można edytować odpowiedzi. Jesteś pewny?
|
data/config/locales/pt-BR.yml
CHANGED
|
@@ -3,18 +3,27 @@ pt:
|
|
|
3
3
|
attributes:
|
|
4
4
|
answer:
|
|
5
5
|
body: Responda
|
|
6
|
+
choices: Escolhas
|
|
7
|
+
selected_choices: Escolhas selecionadas
|
|
6
8
|
question:
|
|
7
9
|
max_choices: Número máximo de escolhas
|
|
8
10
|
question_type: Tipo
|
|
9
11
|
questionnaire_question:
|
|
10
12
|
mandatory: Obrigatório
|
|
13
|
+
max_characters: Limite de caracteres (deixe para 0 se não houver limite)
|
|
11
14
|
errors:
|
|
12
15
|
models:
|
|
13
16
|
answer:
|
|
14
17
|
attributes:
|
|
18
|
+
add_documents:
|
|
19
|
+
needs_to_be_reattached: Precisa ser reanexado
|
|
20
|
+
body:
|
|
21
|
+
too_long: é longo demais
|
|
15
22
|
choices:
|
|
16
23
|
missing: não estão completos
|
|
17
24
|
too_many: são muitos
|
|
25
|
+
questionnaire:
|
|
26
|
+
request_invalid: Houve um erro ao lidar com a solicitação. Por favor, tente novamente
|
|
18
27
|
decidim:
|
|
19
28
|
forms:
|
|
20
29
|
admin:
|
|
@@ -23,35 +32,101 @@ pt:
|
|
|
23
32
|
description: Descrição
|
|
24
33
|
tos: Termos de serviço
|
|
25
34
|
questionnaires:
|
|
35
|
+
actions:
|
|
36
|
+
back: Voltar às perguntas
|
|
37
|
+
show: Mostrar respostas
|
|
26
38
|
answer_option:
|
|
27
39
|
answer_option: Opção de resposta
|
|
28
40
|
free_text: Texto livre
|
|
29
41
|
remove: Remover
|
|
30
42
|
statement: Declaração
|
|
43
|
+
answers:
|
|
44
|
+
actions:
|
|
45
|
+
back: Voltar para respostas
|
|
46
|
+
export: Exportar
|
|
47
|
+
show: Mostrar respostas
|
|
48
|
+
empty: Ainda não há respostas
|
|
49
|
+
export:
|
|
50
|
+
answer:
|
|
51
|
+
title: 'Resposta #%{number}'
|
|
52
|
+
export_response:
|
|
53
|
+
title: pesquisa_respostas_do_usuário_%{token}
|
|
54
|
+
index:
|
|
55
|
+
title: "%{total} respostas totais"
|
|
56
|
+
show:
|
|
57
|
+
title: 'Resposta #%{number}'
|
|
58
|
+
display_condition:
|
|
59
|
+
answer_option: Opção de resposta
|
|
60
|
+
condition_question: Questão
|
|
61
|
+
condition_type: Condição
|
|
62
|
+
condition_types:
|
|
63
|
+
answered: Respondido
|
|
64
|
+
equal: Igual
|
|
65
|
+
match: Incluir texto
|
|
66
|
+
not_answered: Não respondido
|
|
67
|
+
not_equal: Diferente
|
|
68
|
+
condition_value: Incluir texto
|
|
69
|
+
display_condition: Exibir condição
|
|
70
|
+
mandatory: Esta condição precisa ser sempre satisfeita independentemente do status de outras condições
|
|
71
|
+
remove: Remover
|
|
72
|
+
save_warning: Lembre-se de salvar o formulário antes de configurar condições de exibição
|
|
73
|
+
select_answer_option: Selecionar opção de resposta
|
|
74
|
+
select_condition_question: Selecione uma pergunta
|
|
75
|
+
select_condition_type: Selecione um tipo de condição
|
|
31
76
|
edit:
|
|
32
77
|
save: Salvar
|
|
78
|
+
title: Editar questionário
|
|
33
79
|
form:
|
|
34
80
|
add_question: Adicionar pergunta
|
|
81
|
+
add_separator: Adicionar separador
|
|
35
82
|
already_answered_warning: O questionário já foi respondido por alguns usuários então você não pode modificar suas perguntas.
|
|
83
|
+
collapse: Recolher todas as questões
|
|
84
|
+
expand: Expandir todas as questões
|
|
85
|
+
preview: Pré-visualização
|
|
86
|
+
title: Editar formulário para %{questionnaire_for}
|
|
87
|
+
unpublished_warning: O formulário não foi publicado. Você pode modificar suas perguntas, mas apagará as respostas atuais.
|
|
36
88
|
matrix_row:
|
|
89
|
+
matrix_row: Linha
|
|
37
90
|
remove: Remover
|
|
38
91
|
statement: Declaração
|
|
39
92
|
question:
|
|
40
93
|
add_answer_option: Adicionar opção de resposta
|
|
94
|
+
add_display_condition: Adicionar condição de exibição
|
|
95
|
+
add_display_condition_info: Salve o formulário para configurar condições de exibição
|
|
96
|
+
add_matrix_row: Adicionar linha
|
|
41
97
|
any: Qualquer
|
|
98
|
+
collapse: Recolher
|
|
42
99
|
description: Descrição
|
|
43
100
|
down: Baixa
|
|
101
|
+
expand: Expandir
|
|
44
102
|
question: Questão
|
|
45
103
|
remove: Remover
|
|
46
104
|
statement: Declaração
|
|
47
105
|
up: Acima
|
|
106
|
+
separator:
|
|
107
|
+
down: Para Baixo
|
|
108
|
+
remove: Remover
|
|
109
|
+
separator: Separador
|
|
110
|
+
up: Para Cima
|
|
48
111
|
update:
|
|
49
112
|
invalid: Houve erros ao salvar o questionário.
|
|
113
|
+
success: Formulário salvo com sucesso.
|
|
50
114
|
errors:
|
|
51
115
|
answer:
|
|
52
116
|
body: O corpo não pode ficar em branco
|
|
117
|
+
files:
|
|
118
|
+
extension_allowlist: 'Formatos aceitos:'
|
|
119
|
+
images:
|
|
120
|
+
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
|
|
53
125
|
question_types:
|
|
126
|
+
files: Arquivos
|
|
54
127
|
long_answer: Resposta longa
|
|
128
|
+
matrix_multiple: Matriz (Múltipla opção)
|
|
129
|
+
matrix_single: Matriz (opção única)
|
|
55
130
|
multiple_option: Opção múltipla
|
|
56
131
|
short_answer: Resposta curta
|
|
57
132
|
single_option: Opção única
|
|
@@ -59,6 +134,7 @@ pt:
|
|
|
59
134
|
questionnaires:
|
|
60
135
|
answer:
|
|
61
136
|
invalid: Houve erros ao responder a pesquisa.
|
|
137
|
+
max_choices_alert: Há muitas opções selecionadas
|
|
62
138
|
success: Questionário respondido com sucesso.
|
|
63
139
|
question:
|
|
64
140
|
max_choices: 'Escolhas máximas: %{n}'
|
|
@@ -66,6 +142,8 @@ pt:
|
|
|
66
142
|
answer_questionnaire:
|
|
67
143
|
anonymous_user_message: <a href="%{sign_in_link}">Entre com sua conta</a> ou <a href="%{sign_up_link}">inscreva-se</a> para responder ao questionário.
|
|
68
144
|
title: Responda o questionário
|
|
145
|
+
current_step: Passo %{step}
|
|
146
|
+
of_total_steps: de %{total_steps}
|
|
69
147
|
questionnaire_answered:
|
|
70
148
|
body: Você já respondeu esta pesquisa.
|
|
71
149
|
title: Já respondido
|
|
@@ -75,11 +153,26 @@ pt:
|
|
|
75
153
|
questionnaire_for_private_users:
|
|
76
154
|
body: O questionário está disponível apenas para usuários particulares
|
|
77
155
|
title: Questionário fechado
|
|
156
|
+
questionnaire_js_disabled:
|
|
157
|
+
body: Algumas das funcionalidades deste formulário serão desativadas. Para melhorar sua experiência, por favor ative o JavaScript no seu navegador.
|
|
158
|
+
title: JavaScript está desativado
|
|
159
|
+
questionnaire_not_published:
|
|
160
|
+
body: Este formulário ainda não foi publicado.
|
|
78
161
|
tos_agreement: Ao participar você aceita seus Termos de Serviço
|
|
79
162
|
step_navigation:
|
|
80
163
|
show:
|
|
81
164
|
are_you_sure: Esta ação não pode ser desfeita e você não poderá editar suas respostas. Você tem certeza?
|
|
165
|
+
back: Voltar
|
|
166
|
+
continue: Continuar
|
|
82
167
|
submit: Enviar
|
|
83
168
|
user_answers_serializer:
|
|
169
|
+
body: Resposta
|
|
170
|
+
completion: Conclusão
|
|
84
171
|
created_at: Respondido em
|
|
85
172
|
id: ID da resposta
|
|
173
|
+
ip_hash: Hash IP
|
|
174
|
+
question: Questão
|
|
175
|
+
registered: Registrado
|
|
176
|
+
session_token: Identificador de Usuário
|
|
177
|
+
unregistered: Não registrado
|
|
178
|
+
user_status: Status do usuário
|
data/config/locales/sv.yml
CHANGED
|
@@ -3,15 +3,22 @@ sv:
|
|
|
3
3
|
attributes:
|
|
4
4
|
answer:
|
|
5
5
|
body: Svar
|
|
6
|
+
choices: Val
|
|
7
|
+
selected_choices: Utvalda val
|
|
6
8
|
question:
|
|
7
9
|
max_choices: Högst antal val
|
|
8
10
|
question_type: Typ
|
|
9
11
|
questionnaire_question:
|
|
10
12
|
mandatory: Obligatorisk
|
|
13
|
+
max_characters: Teckengräns (lämna till 0 om ingen gräns)
|
|
11
14
|
errors:
|
|
12
15
|
models:
|
|
13
16
|
answer:
|
|
14
17
|
attributes:
|
|
18
|
+
add_documents:
|
|
19
|
+
needs_to_be_reattached: Måste bifogas igen
|
|
20
|
+
body:
|
|
21
|
+
too_long: är för långt
|
|
15
22
|
choices:
|
|
16
23
|
missing: är inte fullständiga
|
|
17
24
|
too_many: är för många
|
|
@@ -76,6 +83,7 @@ sv:
|
|
|
76
83
|
collapse: Komprimera alla frågor
|
|
77
84
|
expand: Expandera alla frågor
|
|
78
85
|
preview: Förhandsgranska
|
|
86
|
+
title: Redigera formulär för %{questionnaire_for}
|
|
79
87
|
unpublished_warning: Formuläret är inte publicerat. Du kan ändra dess frågor, men det kommer att ta bort aktuella svar.
|
|
80
88
|
matrix_row:
|
|
81
89
|
matrix_row: Rad
|
|
@@ -114,6 +122,7 @@ sv:
|
|
|
114
122
|
resize_and_pad: Anpassad och vadderad till
|
|
115
123
|
resize_to_fit: Anpassad för att passa
|
|
116
124
|
question_types:
|
|
125
|
+
files: Filer
|
|
117
126
|
long_answer: Långt svar
|
|
118
127
|
matrix_multiple: Matris (flera alternativ)
|
|
119
128
|
matrix_single: Matris (Single alternativ)
|
|
@@ -3,11 +3,10 @@
|
|
|
3
3
|
class CreateDecidimFormsAnswers < ActiveRecord::Migration[5.0]
|
|
4
4
|
def change
|
|
5
5
|
create_table :decidim_forms_answers do |t|
|
|
6
|
-
t.
|
|
6
|
+
t.text :body
|
|
7
7
|
t.references :decidim_user, index: true
|
|
8
8
|
t.references :decidim_questionnaire, index: true
|
|
9
9
|
t.references :decidim_question, index: { name: "index_decidim_forms_answers_question_id" }
|
|
10
|
-
t.text :body
|
|
11
10
|
|
|
12
11
|
t.timestamps
|
|
13
12
|
end
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
class SetPositionToQuestionMatrixRows < ActiveRecord::Migration[5.2]
|
|
4
|
+
def up
|
|
5
|
+
execute "UPDATE decidim_forms_question_matrix_rows SET position = id"
|
|
6
|
+
end
|
|
7
|
+
|
|
8
|
+
def down
|
|
9
|
+
execute "UPDATE decidim_forms_question_matrix_rows SET position = NULL"
|
|
10
|
+
end
|
|
11
|
+
end
|
|
@@ -9,10 +9,6 @@ module Decidim
|
|
|
9
9
|
paths["db/migrate"] = nil
|
|
10
10
|
paths["lib/tasks"] = nil
|
|
11
11
|
|
|
12
|
-
initializer "decidim_forms.admin_assets" do |app|
|
|
13
|
-
app.config.assets.precompile += %w(admin/decidim_forms_manifest.js admin/decidim_forms_manifest.css)
|
|
14
|
-
end
|
|
15
|
-
|
|
16
12
|
def load_seed
|
|
17
13
|
nil
|
|
18
14
|
end
|
data/lib/decidim/forms/engine.rb
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
# frozen_string_literal: true
|
|
2
2
|
|
|
3
|
+
require "decidim/core"
|
|
4
|
+
|
|
3
5
|
module Decidim
|
|
4
6
|
module Forms
|
|
5
7
|
# This is the engine that runs on the public interface of `decidim-forms`.
|
|
@@ -9,10 +11,6 @@ module Decidim
|
|
|
9
11
|
initializer "decidim_forms.add_cells_view_paths" do
|
|
10
12
|
Cell::ViewModel.view_paths << File.expand_path("#{Decidim::Forms::Engine.root}/app/cells")
|
|
11
13
|
end
|
|
12
|
-
|
|
13
|
-
initializer "decidim_forms.assets" do |app|
|
|
14
|
-
app.config.assets.precompile += %w(decidim_forms_manifest.js decidim_forms_manifest.css)
|
|
15
|
-
end
|
|
16
14
|
end
|
|
17
15
|
end
|
|
18
16
|
end
|
|
@@ -28,6 +28,42 @@ FactoryBot.define do
|
|
|
28
28
|
end
|
|
29
29
|
end
|
|
30
30
|
|
|
31
|
+
trait :with_all_questions do
|
|
32
|
+
questions do
|
|
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)
|
|
36
|
+
position += 1
|
|
37
|
+
q
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
%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.display_conditions.build(
|
|
45
|
+
condition_question: qs[q.position - 2],
|
|
46
|
+
question: q,
|
|
47
|
+
condition_type: :answered,
|
|
48
|
+
mandatory: true
|
|
49
|
+
)
|
|
50
|
+
end
|
|
51
|
+
|
|
52
|
+
%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
|
|
56
|
+
q.display_conditions.build(
|
|
57
|
+
condition_question: qs[q.position - 2],
|
|
58
|
+
question: q,
|
|
59
|
+
condition_type: :answered,
|
|
60
|
+
mandatory: true
|
|
61
|
+
)
|
|
62
|
+
end
|
|
63
|
+
qs
|
|
64
|
+
end
|
|
65
|
+
end
|
|
66
|
+
|
|
31
67
|
trait :empty do
|
|
32
68
|
title { {} }
|
|
33
69
|
description { {} }
|
|
@@ -63,9 +99,10 @@ FactoryBot.define do
|
|
|
63
99
|
end
|
|
64
100
|
|
|
65
101
|
if question.matrix_rows.empty?
|
|
66
|
-
evaluator.rows.
|
|
102
|
+
evaluator.rows.each_with_index do |row, idx|
|
|
67
103
|
question.matrix_rows.build(
|
|
68
|
-
body: row["body"]
|
|
104
|
+
body: row["body"],
|
|
105
|
+
position: idx
|
|
69
106
|
)
|
|
70
107
|
end
|
|
71
108
|
end
|
|
@@ -921,6 +921,7 @@ shared_examples_for "has questionnaire" do
|
|
|
921
921
|
|
|
922
922
|
context "when the condition_question type is long answer" do
|
|
923
923
|
let!(:condition_question_type) { "long_answer" }
|
|
924
|
+
let!(:conditioned_question_id) { "#questionnaire_responses_0" }
|
|
924
925
|
|
|
925
926
|
it "shows the question only if the condition is fulfilled" do
|
|
926
927
|
expect_question_to_be_visible(false)
|
|
@@ -1012,6 +1013,7 @@ shared_examples_for "has questionnaire" do
|
|
|
1012
1013
|
|
|
1013
1014
|
context "when the condition_question type is long answer" do
|
|
1014
1015
|
let!(:condition_question_type) { "long_answer" }
|
|
1016
|
+
let!(:conditioned_question_id) { "#questionnaire_responses_0" }
|
|
1015
1017
|
|
|
1016
1018
|
it "shows the question only if the condition is fulfilled" do
|
|
1017
1019
|
expect_question_to_be_visible(true)
|
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.25.0.rc1
|
|
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: 2021-
|
|
14
|
+
date: 2021-07-28 00:00:00.000000000 Z
|
|
15
15
|
dependencies:
|
|
16
16
|
- !ruby/object:Gem::Dependency
|
|
17
17
|
name: decidim-core
|
|
@@ -19,28 +19,28 @@ dependencies:
|
|
|
19
19
|
requirements:
|
|
20
20
|
- - '='
|
|
21
21
|
- !ruby/object:Gem::Version
|
|
22
|
-
version: 0.
|
|
22
|
+
version: 0.25.0.rc1
|
|
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.25.0.rc1
|
|
30
30
|
- !ruby/object:Gem::Dependency
|
|
31
31
|
name: wicked_pdf
|
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
|
33
33
|
requirements:
|
|
34
34
|
- - "~>"
|
|
35
35
|
- !ruby/object:Gem::Version
|
|
36
|
-
version: '1
|
|
36
|
+
version: '2.1'
|
|
37
37
|
type: :runtime
|
|
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: '1
|
|
43
|
+
version: '2.1'
|
|
44
44
|
- !ruby/object:Gem::Dependency
|
|
45
45
|
name: wkhtmltopdf-binary
|
|
46
46
|
requirement: !ruby/object:Gem::Requirement
|
|
@@ -61,28 +61,28 @@ dependencies:
|
|
|
61
61
|
requirements:
|
|
62
62
|
- - '='
|
|
63
63
|
- !ruby/object:Gem::Version
|
|
64
|
-
version: 0.
|
|
64
|
+
version: 0.25.0.rc1
|
|
65
65
|
type: :development
|
|
66
66
|
prerelease: false
|
|
67
67
|
version_requirements: !ruby/object:Gem::Requirement
|
|
68
68
|
requirements:
|
|
69
69
|
- - '='
|
|
70
70
|
- !ruby/object:Gem::Version
|
|
71
|
-
version: 0.
|
|
71
|
+
version: 0.25.0.rc1
|
|
72
72
|
- !ruby/object:Gem::Dependency
|
|
73
73
|
name: decidim-dev
|
|
74
74
|
requirement: !ruby/object:Gem::Requirement
|
|
75
75
|
requirements:
|
|
76
76
|
- - '='
|
|
77
77
|
- !ruby/object:Gem::Version
|
|
78
|
-
version: 0.
|
|
78
|
+
version: 0.25.0.rc1
|
|
79
79
|
type: :development
|
|
80
80
|
prerelease: false
|
|
81
81
|
version_requirements: !ruby/object:Gem::Requirement
|
|
82
82
|
requirements:
|
|
83
83
|
- - '='
|
|
84
84
|
- !ruby/object:Gem::Version
|
|
85
|
-
version: 0.
|
|
85
|
+
version: 0.25.0.rc1
|
|
86
86
|
description: A forms gem for decidim.
|
|
87
87
|
email:
|
|
88
88
|
- josepjaume@gmail.com
|
|
@@ -95,24 +95,6 @@ extra_rdoc_files: []
|
|
|
95
95
|
files:
|
|
96
96
|
- README.md
|
|
97
97
|
- Rakefile
|
|
98
|
-
- app/assets/config/admin/decidim_forms_manifest.css
|
|
99
|
-
- app/assets/config/admin/decidim_forms_manifest.js
|
|
100
|
-
- app/assets/config/decidim_forms_manifest.css
|
|
101
|
-
- app/assets/config/decidim_forms_manifest.js
|
|
102
|
-
- app/assets/images/decidim/surveys/icon.svg
|
|
103
|
-
- app/assets/javascripts/decidim/forms/admin/auto_buttons_by_min_items.component.js.es6
|
|
104
|
-
- app/assets/javascripts/decidim/forms/admin/auto_select_options_by_total_items.component.js.es6
|
|
105
|
-
- app/assets/javascripts/decidim/forms/admin/auto_select_options_from_url.component.js.es6
|
|
106
|
-
- app/assets/javascripts/decidim/forms/admin/collapsible_questions.js.es6
|
|
107
|
-
- app/assets/javascripts/decidim/forms/admin/forms.js.es6
|
|
108
|
-
- app/assets/javascripts/decidim/forms/admin/live_text_update.component.js.es6
|
|
109
|
-
- app/assets/javascripts/decidim/forms/autosortable_checkboxes.component.js.es6
|
|
110
|
-
- app/assets/javascripts/decidim/forms/display_conditions.component.js.es6
|
|
111
|
-
- app/assets/javascripts/decidim/forms/forms.js.es6
|
|
112
|
-
- app/assets/javascripts/decidim/forms/max_choices_alert.component.js.es6
|
|
113
|
-
- app/assets/javascripts/decidim/forms/option_attached_inputs.component.js.es6
|
|
114
|
-
- app/assets/stylesheets/decidim/forms/forms.scss
|
|
115
|
-
- app/assets/stylesheets/decidim/forms/questionnaire-answers-pdf.scss
|
|
116
98
|
- app/cells/decidim/forms/answer_readonly/show.erb
|
|
117
99
|
- app/cells/decidim/forms/answer_readonly_cell.rb
|
|
118
100
|
- app/cells/decidim/forms/matrix_readonly/show.erb
|
|
@@ -149,6 +131,24 @@ files:
|
|
|
149
131
|
- app/models/decidim/forms/question.rb
|
|
150
132
|
- app/models/decidim/forms/question_matrix_row.rb
|
|
151
133
|
- app/models/decidim/forms/questionnaire.rb
|
|
134
|
+
- app/packs/entrypoints/decidim_forms.js
|
|
135
|
+
- app/packs/entrypoints/decidim_forms_admin.js
|
|
136
|
+
- app/packs/entrypoints/decidim_questionnaire_answers_pdf.js
|
|
137
|
+
- app/packs/entrypoints/decidim_questionnaire_answers_pdf.scss
|
|
138
|
+
- app/packs/images/decidim/surveys/decidim_surveys.svg
|
|
139
|
+
- app/packs/src/decidim/forms/admin/auto_buttons_by_min_items.component.js
|
|
140
|
+
- app/packs/src/decidim/forms/admin/auto_select_options_by_total_items.component.js
|
|
141
|
+
- app/packs/src/decidim/forms/admin/auto_select_options_from_url.component.js
|
|
142
|
+
- app/packs/src/decidim/forms/admin/collapsible_questions.js
|
|
143
|
+
- app/packs/src/decidim/forms/admin/forms.js
|
|
144
|
+
- app/packs/src/decidim/forms/admin/live_text_update.component.js
|
|
145
|
+
- app/packs/src/decidim/forms/autosortable_checkboxes.component.js
|
|
146
|
+
- app/packs/src/decidim/forms/display_conditions.component.js
|
|
147
|
+
- app/packs/src/decidim/forms/forms.js
|
|
148
|
+
- app/packs/src/decidim/forms/max_choices_alert.component.js
|
|
149
|
+
- app/packs/src/decidim/forms/option_attached_inputs.component.js
|
|
150
|
+
- app/packs/stylesheets/decidim/forms/forms.scss
|
|
151
|
+
- app/packs/stylesheets/decidim/forms/questionnaire-answers-pdf.scss
|
|
152
152
|
- app/presenters/decidim/forms/admin/questionnaire_answer_presenter.rb
|
|
153
153
|
- app/presenters/decidim/forms/admin/questionnaire_participant_presenter.rb
|
|
154
154
|
- app/presenters/decidim/forms/answer_option_presenter.rb
|
|
@@ -182,6 +182,7 @@ files:
|
|
|
182
182
|
- app/views/decidim/forms/questionnaires/answers/_sorting.html.erb
|
|
183
183
|
- app/views/decidim/forms/questionnaires/show.html.erb
|
|
184
184
|
- app/views/layouts/decidim/forms/admin/questionnaires/questionnaire_answers.html.erb
|
|
185
|
+
- config/assets.rb
|
|
185
186
|
- config/initializers/wicked_pdf.rb
|
|
186
187
|
- config/locales/am-ET.yml
|
|
187
188
|
- config/locales/ar-SA.yml
|
|
@@ -209,6 +210,7 @@ files:
|
|
|
209
210
|
- config/locales/fi-plain.yml
|
|
210
211
|
- config/locales/fi.yml
|
|
211
212
|
- config/locales/fr-CA.yml
|
|
213
|
+
- config/locales/fr-LU.yml
|
|
212
214
|
- config/locales/fr.yml
|
|
213
215
|
- config/locales/ga-IE.yml
|
|
214
216
|
- config/locales/gl.yml
|
|
@@ -219,10 +221,10 @@ files:
|
|
|
219
221
|
- config/locales/is-IS.yml
|
|
220
222
|
- config/locales/is.yml
|
|
221
223
|
- config/locales/it.yml
|
|
222
|
-
- config/locales/ja-JP.yml
|
|
223
224
|
- config/locales/ja.yml
|
|
224
225
|
- config/locales/ko-KR.yml
|
|
225
226
|
- config/locales/ko.yml
|
|
227
|
+
- config/locales/lb-LU.yml
|
|
226
228
|
- config/locales/lt-LT.yml
|
|
227
229
|
- config/locales/lt.yml
|
|
228
230
|
- config/locales/lv.yml
|
|
@@ -263,6 +265,7 @@ files:
|
|
|
263
265
|
- db/migrate/20200304152939_add_matrix_row_id_to_decidim_forms_answer_choices.rb
|
|
264
266
|
- db/migrate/20201110152921_add_salt_to_decidim_forms_questionnaires.rb
|
|
265
267
|
- db/migrate/20210208094442_add_max_characters_to_decidim_forms_questions.rb
|
|
268
|
+
- db/migrate/20210616153042_set_position_to_question_matrix_rows.rb
|
|
266
269
|
- lib/decidim/api/answer_option_type.rb
|
|
267
270
|
- lib/decidim/api/question_type.rb
|
|
268
271
|
- lib/decidim/api/questionnaire_entity_interface.rb
|
|
@@ -301,11 +304,11 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
|
301
304
|
version: '2.7'
|
|
302
305
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
303
306
|
requirements:
|
|
304
|
-
- - "
|
|
307
|
+
- - ">"
|
|
305
308
|
- !ruby/object:Gem::Version
|
|
306
|
-
version:
|
|
309
|
+
version: 1.3.1
|
|
307
310
|
requirements: []
|
|
308
|
-
rubygems_version: 3.1.
|
|
311
|
+
rubygems_version: 3.1.4
|
|
309
312
|
signing_key:
|
|
310
313
|
specification_version: 4
|
|
311
314
|
summary: Decidim forms
|