decidim-forms 0.23.1 → 0.23.6
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/controllers/decidim/forms/concerns/has_questionnaire.rb +3 -2
- data/app/helpers/decidim/forms/admin/questionnaire_answers_helper.rb +5 -2
- data/app/models/decidim/forms/questionnaire.rb +11 -0
- data/app/presenters/decidim/forms/admin/questionnaire_participant_presenter.rb +1 -1
- data/config/locales/cs.yml +2 -2
- data/config/locales/de.yml +2 -0
- data/config/locales/fr.yml +2 -2
- data/config/locales/gl.yml +3 -0
- data/config/locales/ja.yml +1 -1
- data/config/locales/no.yml +1 -0
- data/config/locales/pl.yml +3 -0
- data/config/locales/ro-RO.yml +5 -0
- data/config/locales/si-LK.yml +1 -0
- data/config/locales/sv.yml +2 -0
- data/config/locales/sw-KE.yml +1 -0
- data/config/locales/tr-TR.yml +88 -1
- data/db/migrate/20201110152921_add_salt_to_decidim_forms_questionnaires.rb +16 -0
- data/lib/decidim/forms/test/factories.rb +1 -0
- data/lib/decidim/forms/user_answers_serializer.rb +1 -1
- data/lib/decidim/forms/version.rb +1 -1
- metadata +14 -11
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 22d31db03a32b73c8aea6bc2fe8d1f4c31e09156db13c9507e7bad3abddc1bfc
|
4
|
+
data.tar.gz: e0bd6174d6b1516268d6da9f96f4c3db806a9861cc56cd6675dd13b52d7e9f88
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: ff6c2524b6eba8f4f26c568f2c91c2b33d5aa30ea53bbaff4b4e5ff8cf70cc4e7e6612bcd29cdadca20dfc76bc28bd2618867253d4aead32c2cc747731840342
|
7
|
+
data.tar.gz: 684a2b52c6524f6ce2f9abc12e3ecebbf21586254c002bc222e4b294394c21e0bec4217afe9b9f2096954781383624321b84a04c05b6ee219670e29a9d6cc5ef
|
@@ -131,8 +131,9 @@ module Decidim
|
|
131
131
|
@session_token ||= tokenize(id || session_id)
|
132
132
|
end
|
133
133
|
|
134
|
-
def tokenize(id)
|
135
|
-
|
134
|
+
def tokenize(id, length: 10)
|
135
|
+
tokenizer = Decidim::Tokenizer.new(salt: questionnaire.salt || questionnaire.id, length: length)
|
136
|
+
tokenizer.int_digest(id).to_s
|
136
137
|
end
|
137
138
|
end
|
138
139
|
end
|
@@ -7,13 +7,16 @@ module Decidim
|
|
7
7
|
#
|
8
8
|
module QuestionnaireAnswersHelper
|
9
9
|
def first_table_th(answer)
|
10
|
-
|
10
|
+
if answer.first_short_answer
|
11
|
+
@first_short_answer = answer.first_short_answer
|
12
|
+
return translated_attribute @first_short_answer.question.body
|
13
|
+
end
|
11
14
|
|
12
15
|
t("session_token", scope: "decidim.forms.user_answers_serializer")
|
13
16
|
end
|
14
17
|
|
15
18
|
def first_table_td(answer)
|
16
|
-
return answer.first_short_answer
|
19
|
+
return answer.first_short_answer&.body if @first_short_answer
|
17
20
|
|
18
21
|
answer.session_token
|
19
22
|
end
|
@@ -14,6 +14,8 @@ module Decidim
|
|
14
14
|
has_many :questions, -> { order(:position) }, class_name: "Question", foreign_key: "decidim_questionnaire_id", dependent: :destroy
|
15
15
|
has_many :answers, class_name: "Answer", foreign_key: "decidim_questionnaire_id", dependent: :destroy
|
16
16
|
|
17
|
+
after_initialize :set_default_salt
|
18
|
+
|
17
19
|
# Public: returns whether the questionnaire questions can be modified or not.
|
18
20
|
def questions_editable?
|
19
21
|
has_component = questionnaire_for.respond_to? :component
|
@@ -29,6 +31,15 @@ module Decidim
|
|
29
31
|
def pristine?
|
30
32
|
created_at.to_i == updated_at.to_i && questions.empty?
|
31
33
|
end
|
34
|
+
|
35
|
+
private
|
36
|
+
|
37
|
+
# salt is used to generate secure hash in anonymous answers
|
38
|
+
def set_default_salt
|
39
|
+
return unless defined?(salt)
|
40
|
+
|
41
|
+
self.salt ||= Tokenizer.random_salt
|
42
|
+
end
|
32
43
|
end
|
33
44
|
end
|
34
45
|
end
|
@@ -52,7 +52,7 @@ module Decidim
|
|
52
52
|
private
|
53
53
|
|
54
54
|
def sibilings
|
55
|
-
Answer.where(session_token: participant.session_token).joins(:question).order("decidim_forms_questions.position ASC")
|
55
|
+
Answer.where(questionnaire: questionnaire, session_token: participant.session_token).joins(:question).order("decidim_forms_questions.position ASC")
|
56
56
|
end
|
57
57
|
end
|
58
58
|
end
|
data/config/locales/cs.yml
CHANGED
@@ -74,8 +74,8 @@ cs:
|
|
74
74
|
form:
|
75
75
|
add_question: Přidat otázku
|
76
76
|
add_separator: Přidat oddělovač
|
77
|
-
already_answered_warning:
|
78
|
-
collapse: Sbalit všechny
|
77
|
+
already_answered_warning: Formulář je již zodpovězen některými uživateli, takže jeho otázky nemůžete upravovat.
|
78
|
+
collapse: Sbalit všechny otázky
|
79
79
|
expand: Rozbalit všechny otázky
|
80
80
|
preview: Náhled
|
81
81
|
title: Upravit formulář
|
data/config/locales/de.yml
CHANGED
data/config/locales/fr.yml
CHANGED
@@ -105,7 +105,7 @@ fr:
|
|
105
105
|
up: Haut
|
106
106
|
update:
|
107
107
|
invalid: Il y a eu des erreurs lors de la sauvegarde du questionnaire.
|
108
|
-
success: Le
|
108
|
+
success: Le questionnaire a bien été sauvegardé.
|
109
109
|
errors:
|
110
110
|
answer:
|
111
111
|
body: Le corps ne peut pas être vide
|
@@ -152,7 +152,7 @@ fr:
|
|
152
152
|
title: JavaScript est désactivé
|
153
153
|
questionnaire_not_published:
|
154
154
|
body: Ce formulaire n'est pas encore publié.
|
155
|
-
tos_agreement: En participant, vous acceptez
|
155
|
+
tos_agreement: En participant, vous acceptez ces conditions d'utilisation
|
156
156
|
step_navigation:
|
157
157
|
show:
|
158
158
|
are_you_sure: Cette action ne peut pas être annulée et vous ne pourrez pas modifier vos réponses. Êtes-vous sûr?
|
data/config/locales/gl.yml
CHANGED
@@ -33,6 +33,7 @@ gl:
|
|
33
33
|
form:
|
34
34
|
add_question: Engadir pregunta
|
35
35
|
already_answered_warning: Algúns usuarios xa responderon o cuestionario para que non poida modificar as súas preguntas.
|
36
|
+
title: Editar formulario
|
36
37
|
matrix_row:
|
37
38
|
remove: Quitar
|
38
39
|
statement: Declaración
|
@@ -50,6 +51,8 @@ gl:
|
|
50
51
|
errors:
|
51
52
|
answer:
|
52
53
|
body: O corpo non pode estar en branco
|
54
|
+
files:
|
55
|
+
extension_whitelist: 'Formatos aceptados:'
|
53
56
|
question_types:
|
54
57
|
long_answer: Resposta longa
|
55
58
|
multiple_option: Múltipla opción
|
data/config/locales/ja.yml
CHANGED
@@ -132,7 +132,7 @@ ja:
|
|
132
132
|
max_choices: '最大選択肢: %{n}'
|
133
133
|
show:
|
134
134
|
answer_questionnaire:
|
135
|
-
anonymous_user_message: <a href="%{sign_in_link}"
|
135
|
+
anonymous_user_message: <a href="%{sign_in_link}">あなたのアカウントでログインする</a> か、 <a href="%{sign_up_link}">ユーザー登録</a> してフォームに回答してください。
|
136
136
|
title: フォームに回答
|
137
137
|
current_step: ステップ %{step}
|
138
138
|
of_total_steps: / %{total_steps}
|
data/config/locales/no.yml
CHANGED
data/config/locales/pl.yml
CHANGED
@@ -3,6 +3,8 @@ pl:
|
|
3
3
|
attributes:
|
4
4
|
answer:
|
5
5
|
body: Odpowiedź
|
6
|
+
choices: Opcje
|
7
|
+
selected_choices: Wybrane opcje
|
6
8
|
question:
|
7
9
|
max_choices: Maksymalna liczba opcji do wyboru
|
8
10
|
question_type: Typ
|
@@ -103,6 +105,7 @@ pl:
|
|
103
105
|
up: W górę
|
104
106
|
update:
|
105
107
|
invalid: Podczas zapisywania formularza wystąpił błąd.
|
108
|
+
success: Formularz został zapisany.
|
106
109
|
errors:
|
107
110
|
answer:
|
108
111
|
body: Treść nie może być pusta
|
data/config/locales/ro-RO.yml
CHANGED
@@ -3,6 +3,8 @@ ro:
|
|
3
3
|
attributes:
|
4
4
|
answer:
|
5
5
|
body: Răspuns
|
6
|
+
choices: Opțiuni
|
7
|
+
selected_choices: Alegeri selectate
|
6
8
|
question:
|
7
9
|
max_choices: Numărul maxim de opțiuni
|
8
10
|
question_type: Tip
|
@@ -103,6 +105,7 @@ ro:
|
|
103
105
|
up: Sus
|
104
106
|
update:
|
105
107
|
invalid: A apărut o eroare la salvarea formularului.
|
108
|
+
success: Formular salvat cu succes.
|
106
109
|
errors:
|
107
110
|
answer:
|
108
111
|
body: Corpul nu poate fi gol
|
@@ -152,8 +155,10 @@ ro:
|
|
152
155
|
tos_agreement: Prin participare acceptați termenii și condițiile sale de utilizare
|
153
156
|
step_navigation:
|
154
157
|
show:
|
158
|
+
are_you_sure: Această acțiune nu poate fi anulată și nu veți putea să vă editați răspunsurile. Sunteți sigur?
|
155
159
|
back: Înapoi
|
156
160
|
continue: Continuă
|
161
|
+
submit: Trimiteți
|
157
162
|
user_answers_serializer:
|
158
163
|
body: Răspuns
|
159
164
|
completion: Finalizare
|
@@ -0,0 +1 @@
|
|
1
|
+
si:
|
data/config/locales/sv.yml
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
sw:
|
data/config/locales/tr-TR.yml
CHANGED
@@ -3,6 +3,8 @@ tr:
|
|
3
3
|
attributes:
|
4
4
|
answer:
|
5
5
|
body: Cevap
|
6
|
+
choices: Seçenekler
|
7
|
+
selected_choices: Seçilmiş seçenekler
|
6
8
|
question:
|
7
9
|
max_choices: Maksimum seçenek sayısı
|
8
10
|
question_type: tip
|
@@ -15,6 +17,8 @@ tr:
|
|
15
17
|
choices:
|
16
18
|
missing: tamamlanmadı
|
17
19
|
too_many: çok fazla
|
20
|
+
questionnaire:
|
21
|
+
request_invalid: İsteği işlerken bir hata oluştu. Lütfen tekrar deneyin
|
18
22
|
decidim:
|
19
23
|
forms:
|
20
24
|
admin:
|
@@ -23,42 +27,108 @@ tr:
|
|
23
27
|
description: Açıklama
|
24
28
|
tos: Kullanım Şartları
|
25
29
|
questionnaires:
|
30
|
+
actions:
|
31
|
+
back: Sorulara geri dön
|
32
|
+
show: Yanıtları göster
|
26
33
|
answer_option:
|
27
34
|
answer_option: Cevap seçeneği
|
28
35
|
free_text: Ücretsiz Metin
|
29
36
|
remove: Kaldır
|
30
37
|
statement: Beyan
|
38
|
+
answers:
|
39
|
+
actions:
|
40
|
+
back: Yanıtlara dön
|
41
|
+
export: Dışa aktar
|
42
|
+
show: Cevapları göster
|
43
|
+
empty: Henüz cevap bulunmuyor
|
44
|
+
export:
|
45
|
+
answer:
|
46
|
+
title: '#%{number} yanıt'
|
47
|
+
export_response:
|
48
|
+
title: survey_user_answers _%{token}
|
49
|
+
index:
|
50
|
+
title: "%{total} toplam yanıt"
|
51
|
+
show:
|
52
|
+
title: '%{number} cevap'
|
53
|
+
display_condition:
|
54
|
+
answer_option: Cevap seçeneği
|
55
|
+
condition_question: Soru
|
56
|
+
condition_type: Durum
|
57
|
+
condition_types:
|
58
|
+
answered: Cevaplanmış
|
59
|
+
equal: Eşittir
|
60
|
+
match: Metin içerir
|
61
|
+
not_answered: Cevaplanmadı
|
62
|
+
not_equal: Eşit değil
|
63
|
+
condition_value: Metin içerir
|
64
|
+
display_condition: Görüntüleme koşulları
|
65
|
+
mandatory: Bu koşul, diğer koşulların durumuna bakılmaksızın her zaman yerine getirilmelidir
|
66
|
+
remove: Kaldır
|
67
|
+
save_warning: Görüntüleme koşullarını yapılandırmadan önce formu kaydetmeyi unutmayın
|
68
|
+
select_answer_option: Cevap seçeneğini seçin
|
69
|
+
select_condition_question: Bir soru seçin
|
70
|
+
select_condition_type: Bir koşul türü seçin
|
31
71
|
edit:
|
32
72
|
save: Kayıt etmek
|
73
|
+
title: Anketi düzenleyin
|
33
74
|
form:
|
34
75
|
add_question: Soru ekle
|
76
|
+
add_separator: Ayırıcı ekle
|
35
77
|
already_answered_warning: Form, bazı kullanıcılar tarafından zaten yanıtlandı, bu nedenle sorularını değiştiremezsiniz.
|
78
|
+
collapse: Tüm soruları daraltın
|
79
|
+
expand: Tüm soruları genişletin
|
80
|
+
preview: Önizleme
|
81
|
+
title: Formu düzenle
|
82
|
+
unpublished_warning: Form yayınlanmadı. Sorularını değiştirebilirsiniz, ancak bunu yapmak mevcut cevapları silecektir.
|
36
83
|
matrix_row:
|
84
|
+
matrix_row: Satır
|
37
85
|
remove: Kaldır
|
38
86
|
statement: Beyan
|
39
87
|
question:
|
40
88
|
add_answer_option: Cevap seçeneği ekle
|
89
|
+
add_display_condition: Görüntü koşulu ekle
|
90
|
+
add_display_condition_info: Görüntüleme koşullarını yapılandırmak için formu kaydedin
|
91
|
+
add_matrix_row: Satır ekle
|
41
92
|
any: herhangi
|
93
|
+
collapse: Daralt
|
42
94
|
description: Açıklama
|
43
95
|
down: Aşağı
|
96
|
+
expand: Genişlet
|
44
97
|
question: Soru
|
45
98
|
remove: Kaldır
|
46
99
|
statement: Beyan
|
47
100
|
up: yukarı
|
101
|
+
separator:
|
102
|
+
down: Aşağı
|
103
|
+
remove: Kaldır
|
104
|
+
separator: Ayraç
|
105
|
+
up: Yukarı
|
48
106
|
update:
|
49
107
|
invalid: Formu kaydederken bir sorun oluştu.
|
108
|
+
success: Başarıyla kaydedildi.
|
50
109
|
errors:
|
51
110
|
answer:
|
52
111
|
body: Vücut boş olamaz
|
112
|
+
files:
|
113
|
+
extension_whitelist: 'Kabul edilen biçimler:'
|
114
|
+
images:
|
115
|
+
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ı
|
53
120
|
question_types:
|
54
121
|
long_answer: Uzun cevap
|
122
|
+
matrix_multiple: Matris (Çoklu seçenek)
|
123
|
+
matrix_single: Matris (Tek seçenek)
|
55
124
|
multiple_option: Çoklu seçenek
|
56
125
|
short_answer: Kısa cevap
|
57
126
|
single_option: Tek seçenek
|
58
|
-
sorting:
|
127
|
+
sorting: Sıralama
|
59
128
|
questionnaires:
|
60
129
|
answer:
|
61
130
|
invalid: Formu yanıtlarken bir sorun oluştu.
|
131
|
+
max_choices_alert: Çok fazla seçenek seçilmiş
|
62
132
|
success: Form başarıyla cevaplandı.
|
63
133
|
question:
|
64
134
|
max_choices: 'Maksimum seçenek: %{n}'
|
@@ -66,6 +136,8 @@ tr:
|
|
66
136
|
answer_questionnaire:
|
67
137
|
anonymous_user_message: <a href="%{sign_in_link}">Formu yanıtlamak için</a> veya <a href="%{sign_up_link}">hesabınızla giriş yapın</a>.
|
68
138
|
title: Formu cevapla
|
139
|
+
current_step: '%{step} adım'
|
140
|
+
of_total_steps: '%{total_steps}'
|
69
141
|
questionnaire_answered:
|
70
142
|
body: Bu formu zaten cevapladınız.
|
71
143
|
title: Zaten cevaplandı
|
@@ -75,11 +147,26 @@ tr:
|
|
75
147
|
questionnaire_for_private_users:
|
76
148
|
body: Form yalnızca özel kullanıcılar tarafından kullanılabilir
|
77
149
|
title: Form kapatıldı
|
150
|
+
questionnaire_js_disabled:
|
151
|
+
body: Bu formun bazı özellikleri devre dışı bırakılacak. Deneyiminizi iyileştirmek için lütfen tarayıcınızda JavaScript'i etkinleştirin.
|
152
|
+
title: JavaScript devre dışı
|
153
|
+
questionnaire_not_published:
|
154
|
+
body: Bu form henüz yayınlanmadı.
|
78
155
|
tos_agreement: Katılarak Hizmet Şartlarını kabul etmiş olursunuz.
|
79
156
|
step_navigation:
|
80
157
|
show:
|
81
158
|
are_you_sure: Bu işlem geri alınamaz ve cevaplarınızı düzenleyemezsiniz. Emin misiniz?
|
159
|
+
back: Geri
|
160
|
+
continue: Devam et
|
82
161
|
submit: Gönder
|
83
162
|
user_answers_serializer:
|
163
|
+
body: Cevap
|
164
|
+
completion: Tamamlanma
|
84
165
|
created_at: Yanıtlandı
|
85
166
|
id: Cevap kimliği
|
167
|
+
ip_hash: IP Hash
|
168
|
+
question: Soru
|
169
|
+
registered: Kayıtlı
|
170
|
+
session_token: Kullanıcı tanımlayıcı
|
171
|
+
unregistered: Kayıtlı değil
|
172
|
+
user_status: Kullanıcı durumu
|
@@ -0,0 +1,16 @@
|
|
1
|
+
# frozen_string_literal: true
|
2
|
+
|
3
|
+
class AddSaltToDecidimFormsQuestionnaires < ActiveRecord::Migration[5.2]
|
4
|
+
class Questionnaire < ApplicationRecord
|
5
|
+
self.table_name = :decidim_forms_questionnaires
|
6
|
+
end
|
7
|
+
|
8
|
+
def change
|
9
|
+
add_column :decidim_forms_questionnaires, :salt, :string
|
10
|
+
|
11
|
+
Questionnaire.find_each do |questionnaire|
|
12
|
+
questionnaire.salt = Decidim::Tokenizer.random_salt
|
13
|
+
questionnaire.save!
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
@@ -16,7 +16,7 @@ module Decidim
|
|
16
16
|
def serialize
|
17
17
|
@answers.each_with_index.inject({}) do |serialized, (answer, idx)|
|
18
18
|
serialized.update(
|
19
|
-
answer_translated_attribute_name(:id) => answer.
|
19
|
+
answer_translated_attribute_name(:id) => answer.session_token,
|
20
20
|
answer_translated_attribute_name(:created_at) => answer.created_at.to_s(:db),
|
21
21
|
answer_translated_attribute_name(:ip_hash) => answer.ip_hash,
|
22
22
|
answer_translated_attribute_name(:user_status) => answer_translated_attribute_name(answer.decidim_user_id.present? ? "registered" : "unregistered"),
|
metadata
CHANGED
@@ -1,17 +1,17 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: decidim-forms
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.23.
|
4
|
+
version: 0.23.6
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Josep Jaume Rey Peroy
|
8
8
|
- Marc Riera Casals
|
9
9
|
- Oriol Gual Oliva
|
10
10
|
- Rubén González Valero
|
11
|
-
autorequire:
|
11
|
+
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date:
|
14
|
+
date: 2021-05-10 00:00:00.000000000 Z
|
15
15
|
dependencies:
|
16
16
|
- !ruby/object:Gem::Dependency
|
17
17
|
name: decidim-core
|
@@ -19,14 +19,14 @@ dependencies:
|
|
19
19
|
requirements:
|
20
20
|
- - '='
|
21
21
|
- !ruby/object:Gem::Version
|
22
|
-
version: 0.23.
|
22
|
+
version: 0.23.6
|
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.23.
|
29
|
+
version: 0.23.6
|
30
30
|
- !ruby/object:Gem::Dependency
|
31
31
|
name: wicked_pdf
|
32
32
|
requirement: !ruby/object:Gem::Requirement
|
@@ -61,28 +61,28 @@ dependencies:
|
|
61
61
|
requirements:
|
62
62
|
- - '='
|
63
63
|
- !ruby/object:Gem::Version
|
64
|
-
version: 0.23.
|
64
|
+
version: 0.23.6
|
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.23.
|
71
|
+
version: 0.23.6
|
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.23.
|
78
|
+
version: 0.23.6
|
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.23.
|
85
|
+
version: 0.23.6
|
86
86
|
description: A forms gem for decidim.
|
87
87
|
email:
|
88
88
|
- josepjaume@gmail.com
|
@@ -238,12 +238,14 @@ files:
|
|
238
238
|
- config/locales/pt.yml
|
239
239
|
- config/locales/ro-RO.yml
|
240
240
|
- config/locales/ru.yml
|
241
|
+
- config/locales/si-LK.yml
|
241
242
|
- config/locales/sk-SK.yml
|
242
243
|
- config/locales/sk.yml
|
243
244
|
- config/locales/sl.yml
|
244
245
|
- config/locales/so-SO.yml
|
245
246
|
- config/locales/sr-CS.yml
|
246
247
|
- config/locales/sv.yml
|
248
|
+
- config/locales/sw-KE.yml
|
247
249
|
- config/locales/ti-ER.yml
|
248
250
|
- config/locales/tr-TR.yml
|
249
251
|
- config/locales/uk.yml
|
@@ -261,6 +263,7 @@ files:
|
|
261
263
|
- db/migrate/20200130194123_create_decidim_forms_display_conditions.rb
|
262
264
|
- db/migrate/20200225123810_create_decidim_forms_question_matrix_rows.rb
|
263
265
|
- db/migrate/20200304152939_add_matrix_row_id_to_decidim_forms_answer_choices.rb
|
266
|
+
- db/migrate/20201110152921_add_salt_to_decidim_forms_questionnaires.rb
|
264
267
|
- lib/decidim/api/questionnaire_entity_interface.rb
|
265
268
|
- lib/decidim/exporters/form_pdf.rb
|
266
269
|
- lib/decidim/exporters/form_pdf_controller_helper.rb
|
@@ -285,7 +288,7 @@ homepage: https://github.com/decidim/decidim
|
|
285
288
|
licenses:
|
286
289
|
- AGPL-3.0
|
287
290
|
metadata: {}
|
288
|
-
post_install_message:
|
291
|
+
post_install_message:
|
289
292
|
rdoc_options: []
|
290
293
|
require_paths:
|
291
294
|
- lib
|
@@ -301,7 +304,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
301
304
|
version: '0'
|
302
305
|
requirements: []
|
303
306
|
rubygems_version: 3.0.3
|
304
|
-
signing_key:
|
307
|
+
signing_key:
|
305
308
|
specification_version: 4
|
306
309
|
summary: Decidim forms
|
307
310
|
test_files: []
|