decidim-forms 0.26.10 → 0.27.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/commands/decidim/forms/admin/update_questionnaire.rb +13 -8
- data/app/commands/decidim/forms/answer_questionnaire.rb +1 -1
- data/app/controllers/decidim/forms/admin/concerns/has_questionnaire.rb +3 -3
- data/app/forms/decidim/forms/admin/display_condition_form.rb +3 -3
- data/app/models/decidim/forms/answer.rb +2 -2
- data/app/models/decidim/forms/display_condition.rb +1 -1
- data/app/models/decidim/forms/questionnaire.rb +7 -0
- data/app/packs/src/decidim/forms/admin/forms.js +0 -3
- data/app/presenters/decidim/forms/admin/questionnaire_answer_presenter.rb +13 -8
- data/app/presenters/decidim/forms/admin/questionnaire_participant_presenter.rb +5 -3
- data/app/presenters/decidim/forms/admin_log/questionnaire_presenter.rb +35 -0
- data/app/queries/decidim/forms/questionnaire_participant.rb +1 -1
- data/app/queries/decidim/forms/questionnaire_participants.rb +1 -1
- data/app/queries/decidim/forms/questionnaire_user_answers.rb +1 -1
- data/app/views/decidim/forms/admin/questionnaires/_form.html.erb +1 -1
- data/app/views/decidim/forms/admin/questionnaires/edit.html.erb +0 -2
- data/app/views/decidim/forms/questionnaires/_answer.html.erb +2 -2
- data/app/views/decidim/forms/questionnaires/show.html.erb +5 -3
- data/config/locales/am-ET.yml +1 -0
- data/config/locales/ar.yml +1 -0
- data/config/locales/bg.yml +1 -0
- data/config/locales/ca.yml +7 -6
- data/config/locales/cs.yml +6 -5
- data/config/locales/da.yml +1 -0
- data/config/locales/de.yml +2 -7
- data/config/locales/el.yml +1 -77
- data/config/locales/en.yml +5 -5
- data/config/locales/eo.yml +1 -0
- data/config/locales/es-MX.yml +6 -5
- data/config/locales/es-PY.yml +6 -5
- data/config/locales/es.yml +7 -6
- data/config/locales/et.yml +1 -0
- data/config/locales/eu.yml +27 -45
- data/config/locales/fi-plain.yml +6 -5
- data/config/locales/fi.yml +6 -5
- data/config/locales/fr-CA.yml +3 -5
- data/config/locales/fr.yml +3 -5
- data/config/locales/ga-IE.yml +1 -0
- data/config/locales/gl.yml +5 -0
- data/config/locales/hr.yml +1 -0
- data/config/locales/hu.yml +4 -1
- data/config/locales/id-ID.yml +1 -0
- data/config/locales/is-IS.yml +2 -1
- data/config/locales/it.yml +1 -4
- data/config/locales/ja.yml +6 -5
- data/config/locales/ko.yml +1 -0
- data/config/locales/lb.yml +1 -4
- data/config/locales/lt.yml +1 -190
- data/config/locales/lv.yml +1 -4
- data/config/locales/mt.yml +1 -0
- data/config/locales/nl.yml +1 -4
- data/config/locales/no.yml +1 -4
- data/config/locales/om-ET.yml +1 -0
- data/config/locales/pl.yml +5 -21
- data/config/locales/pt-BR.yml +2 -18
- data/config/locales/pt.yml +1 -4
- data/config/locales/ro-RO.yml +1 -6
- data/config/locales/ru.yml +1 -0
- data/config/locales/si-LK.yml +1 -0
- data/config/locales/sk.yml +1 -0
- data/config/locales/sl.yml +1 -0
- data/config/locales/so-SO.yml +1 -0
- data/config/locales/sr-CS.yml +1 -0
- data/config/locales/sv.yml +1 -4
- data/config/locales/sw-KE.yml +1 -0
- data/config/locales/ti-ER.yml +1 -0
- data/config/locales/tr-TR.yml +1 -4
- data/config/locales/uk.yml +1 -0
- data/config/locales/val-ES.yml +1 -0
- data/config/locales/vi.yml +1 -0
- data/config/locales/zh-CN.yml +1 -4
- data/config/locales/zh-TW.yml +1 -190
- data/lib/decidim/exporters/form_pdf.rb +2 -2
- data/lib/decidim/forms/{data_portability_user_answers_serializer.rb → download_your_data_user_answers_serializer.rb} +2 -2
- data/lib/decidim/forms/test/factories.rb +22 -13
- data/lib/decidim/forms/test/shared_examples/manage_questionnaire_answers.rb +2 -25
- data/lib/decidim/forms/test/shared_examples/manage_questionnaires/update_questions.rb +2 -2
- data/lib/decidim/forms/user_answers_serializer.rb +3 -3
- data/lib/decidim/forms/version.rb +1 -1
- data/lib/decidim/forms.rb +1 -1
- metadata +14 -22
- data/config/environment.rb +0 -3
- data/config/locales/fa-IR.yml +0 -1
- data/config/locales/gn-PY.yml +0 -1
- data/config/locales/ka-GE.yml +0 -1
- data/config/locales/kaa.yml +0 -7
- data/config/locales/lo-LA.yml +0 -1
- data/config/locales/oc-FR.yml +0 -1
- data/config/locales/sq-AL.yml +0 -1
- data/config/locales/th-TH.yml +0 -1
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: b63c51b898c731a6ac659b9160f4b5bf5d2404cea0aec58cb5fdffff1a29a9b0
|
|
4
|
+
data.tar.gz: e4a6cf68a62b0188511ba30c3fceda43c30a93bca8ab4a917edf608b8c531e1a
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 305a8eb86bf0c9d3afa0b861174ff41c79519b4f5aadd84975cccfdc9c2fd2fa2c12d1a14159a9b0da674d81233900802d271b38d078956ebd8bdd119287cbb4
|
|
7
|
+
data.tar.gz: ed601e91289f962ac5f647b205dafd86c61429e63b3401d210ccd0c345308bfcfc4f7ab5da761056b7335e66d0b2fe95c62ef4189a0dbf5e38b79d8e446ebab2
|
|
@@ -5,14 +5,15 @@ module Decidim
|
|
|
5
5
|
module Admin
|
|
6
6
|
# This command is executed when the user changes a Questionnaire from the admin
|
|
7
7
|
# panel.
|
|
8
|
-
class UpdateQuestionnaire <
|
|
8
|
+
class UpdateQuestionnaire < Decidim::Command
|
|
9
9
|
# Initializes a UpdateQuestionnaire Command.
|
|
10
10
|
#
|
|
11
11
|
# form - The form from which to get the data.
|
|
12
12
|
# questionnaire - The current instance of the questionnaire to be updated.
|
|
13
|
-
def initialize(form, questionnaire)
|
|
13
|
+
def initialize(form, questionnaire, user)
|
|
14
14
|
@form = form
|
|
15
15
|
@questionnaire = questionnaire
|
|
16
|
+
@user = user
|
|
16
17
|
end
|
|
17
18
|
|
|
18
19
|
# Updates the questionnaire if valid.
|
|
@@ -21,13 +22,17 @@ module Decidim
|
|
|
21
22
|
def call
|
|
22
23
|
return broadcast(:invalid) if @form.invalid?
|
|
23
24
|
|
|
24
|
-
Decidim
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
25
|
+
Decidim.traceability.perform_action!("update",
|
|
26
|
+
@questionnaire,
|
|
27
|
+
@user) do
|
|
28
|
+
Decidim::Forms::Questionnaire.transaction do
|
|
29
|
+
if @questionnaire.questions_editable?
|
|
30
|
+
update_questionnaire_questions
|
|
31
|
+
delete_answers unless @questionnaire.published?
|
|
32
|
+
end
|
|
29
33
|
|
|
30
|
-
|
|
34
|
+
update_questionnaire
|
|
35
|
+
end
|
|
31
36
|
end
|
|
32
37
|
|
|
33
38
|
broadcast(:ok)
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
module Decidim
|
|
4
4
|
module Forms
|
|
5
5
|
# This command is executed when the user answers a Questionnaire.
|
|
6
|
-
class AnswerQuestionnaire <
|
|
6
|
+
class AnswerQuestionnaire < Decidim::Command
|
|
7
7
|
include ::Decidim::MultipleAttachmentsMethods
|
|
8
8
|
|
|
9
9
|
# Initializes a AnswerQuestionnaire Command.
|
|
@@ -20,9 +20,9 @@ module Decidim
|
|
|
20
20
|
helper_method :questionnaire_for, :questionnaire, :blank_question, :blank_answer_option, :blank_matrix_row,
|
|
21
21
|
:blank_display_condition, :question_types, :display_condition_types, :update_url, :public_url, :answer_options_url, :edit_questionnaire_title
|
|
22
22
|
|
|
23
|
-
if defined?
|
|
23
|
+
if defined? Decidim::Templates::Admin
|
|
24
24
|
include Decidim::Templates::Admin::Concerns::Templatable
|
|
25
|
-
helper Decidim::
|
|
25
|
+
helper Decidim::DatalistSelectHelper
|
|
26
26
|
|
|
27
27
|
def templatable_type
|
|
28
28
|
"Decidim::Forms::Questionnaire"
|
|
@@ -47,7 +47,7 @@ module Decidim
|
|
|
47
47
|
params["published_at"] = Time.current if params.has_key? "save_and_publish"
|
|
48
48
|
@form = form(Admin::QuestionnaireForm).from_params(params)
|
|
49
49
|
|
|
50
|
-
Admin::UpdateQuestionnaire.call(@form, questionnaire) do
|
|
50
|
+
Admin::UpdateQuestionnaire.call(@form, questionnaire, current_user) do
|
|
51
51
|
on(:ok) do
|
|
52
52
|
# i18n-tasks-use t("decidim.forms.admin.questionnaires.update.success")
|
|
53
53
|
flash[:notice] = I18n.t("update.success", scope: i18n_flashes_scope)
|
|
@@ -55,21 +55,21 @@ module Decidim
|
|
|
55
55
|
#
|
|
56
56
|
# Returns a Decidim::Forms::Question
|
|
57
57
|
def question
|
|
58
|
-
@question ||= Question.find_by(id:
|
|
58
|
+
@question ||= Question.find_by(id: decidim_question_id)
|
|
59
59
|
end
|
|
60
60
|
|
|
61
61
|
# Finds the Condition Question from the given decidim_condition_question_id
|
|
62
62
|
#
|
|
63
63
|
# Returns a Decidim::Forms::Question
|
|
64
64
|
def condition_question
|
|
65
|
-
@condition_question ||= Question.find_by(id:
|
|
65
|
+
@condition_question ||= Question.find_by(id: decidim_condition_question_id)
|
|
66
66
|
end
|
|
67
67
|
|
|
68
68
|
# Finds the Answer Option from the given decidim_answer_option_id
|
|
69
69
|
#
|
|
70
70
|
# Returns a Decidim::Forms::AnswerOption
|
|
71
71
|
def answer_option
|
|
72
|
-
@answer_option ||= AnswerOption.find_by(id:
|
|
72
|
+
@answer_option ||= AnswerOption.find_by(id: decidim_answer_option_id)
|
|
73
73
|
end
|
|
74
74
|
|
|
75
75
|
private
|
|
@@ -4,7 +4,7 @@ module Decidim
|
|
|
4
4
|
module Forms
|
|
5
5
|
# The data store for an Answer in the Decidim::Forms
|
|
6
6
|
class Answer < Forms::ApplicationRecord
|
|
7
|
-
include Decidim::
|
|
7
|
+
include Decidim::DownloadYourData
|
|
8
8
|
include Decidim::NewsletterParticipant
|
|
9
9
|
include Decidim::HasAttachments
|
|
10
10
|
|
|
@@ -29,7 +29,7 @@ module Decidim
|
|
|
29
29
|
end
|
|
30
30
|
|
|
31
31
|
def self.export_serializer
|
|
32
|
-
Decidim::Forms::
|
|
32
|
+
Decidim::Forms::DownloadYourDataUserAnswersSerializer
|
|
33
33
|
end
|
|
34
34
|
|
|
35
35
|
def self.newsletter_participant_ids(component)
|
|
@@ -33,7 +33,7 @@ module Decidim
|
|
|
33
33
|
when "not_equal"
|
|
34
34
|
answer_form.choices.pluck(:answer_option_id).exclude?(answer_option.id)
|
|
35
35
|
when "match"
|
|
36
|
-
condition_value.values.
|
|
36
|
+
condition_value.values.compact_blank.any? { |value| answer_form_matches?(answer_form, value) }
|
|
37
37
|
end
|
|
38
38
|
end
|
|
39
39
|
|
|
@@ -7,6 +7,7 @@ module Decidim
|
|
|
7
7
|
include Decidim::Templates::Templatable if defined? Decidim::Templates::Templatable
|
|
8
8
|
include Decidim::Publicable
|
|
9
9
|
include Decidim::TranslatableResource
|
|
10
|
+
include Decidim::Traceable
|
|
10
11
|
|
|
11
12
|
translatable_fields :title, :description, :tos
|
|
12
13
|
belongs_to :questionnaire_for, polymorphic: true
|
|
@@ -16,6 +17,8 @@ module Decidim
|
|
|
16
17
|
|
|
17
18
|
after_initialize :set_default_salt
|
|
18
19
|
|
|
20
|
+
attr_accessor :questionnaire_template_id
|
|
21
|
+
|
|
19
22
|
# Public: returns whether the questionnaire questions can be modified or not.
|
|
20
23
|
def questions_editable?
|
|
21
24
|
has_component = questionnaire_for.respond_to? :component
|
|
@@ -32,6 +35,10 @@ module Decidim
|
|
|
32
35
|
created_at.to_i == updated_at.to_i && questions.empty?
|
|
33
36
|
end
|
|
34
37
|
|
|
38
|
+
def self.log_presenter_class_for(_log)
|
|
39
|
+
Decidim::Forms::AdminLog::QuestionnairePresenter
|
|
40
|
+
end
|
|
41
|
+
|
|
35
42
|
private
|
|
36
43
|
|
|
37
44
|
# salt is used to generate secure hash in anonymous answers
|
|
@@ -11,7 +11,6 @@ import createSortList from "src/decidim/admin/sort_list.component"
|
|
|
11
11
|
import createDynamicFields from "src/decidim/admin/dynamic_fields.component"
|
|
12
12
|
import createFieldDependentInputs from "src/decidim/admin/field_dependent_inputs.component"
|
|
13
13
|
import createQuillEditor from "src/decidim/editor"
|
|
14
|
-
import initLanguageChangeSelect from "src/decidim/admin/choose_language"
|
|
15
14
|
|
|
16
15
|
export default function createEditableForm() {
|
|
17
16
|
const wrapperSelector = ".questionnaire-questions";
|
|
@@ -393,8 +392,6 @@ export default function createEditableForm() {
|
|
|
393
392
|
|
|
394
393
|
autoLabelByPosition.run();
|
|
395
394
|
autoButtonsByPosition.run();
|
|
396
|
-
|
|
397
|
-
initLanguageChangeSelect($field.find("select.language-change").toArray());
|
|
398
395
|
},
|
|
399
396
|
onRemoveField: ($field) => {
|
|
400
397
|
autoLabelByPosition.run();
|
|
@@ -6,10 +6,18 @@ module Decidim
|
|
|
6
6
|
#
|
|
7
7
|
# Presenter for questionnaire answer
|
|
8
8
|
#
|
|
9
|
-
class QuestionnaireAnswerPresenter <
|
|
9
|
+
class QuestionnaireAnswerPresenter < SimpleDelegator
|
|
10
|
+
delegate :content_tag, :safe_join, to: :view_context
|
|
11
|
+
|
|
10
12
|
include Decidim::TranslatableAttributes
|
|
11
13
|
|
|
12
|
-
|
|
14
|
+
def answer
|
|
15
|
+
__getobj__.fetch(:answer)
|
|
16
|
+
end
|
|
17
|
+
|
|
18
|
+
def view_context
|
|
19
|
+
__getobj__.fetch(:view_context, ActionController::Base.new.view_context)
|
|
20
|
+
end
|
|
13
21
|
|
|
14
22
|
def question
|
|
15
23
|
translated_attribute(answer.question.body)
|
|
@@ -46,14 +54,11 @@ module Decidim
|
|
|
46
54
|
# rubocop:disable Style/StringConcatenation
|
|
47
55
|
# Interpolating strings that are `html_safe` is problematic with Rails.
|
|
48
56
|
content_tag :li do
|
|
49
|
-
link_to(attachment.
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
I18n.t("download_attachment", scope: "decidim.forms.questionnaire_answer_presenter")
|
|
53
|
-
end + " " + content_tag(:small) do
|
|
57
|
+
link_to(translated_attribute(attachment.title), attachment.url) +
|
|
58
|
+
" " +
|
|
59
|
+
content_tag(:small) do
|
|
54
60
|
"#{attachment.file_type} #{number_to_human_size(attachment.file_size)}"
|
|
55
61
|
end
|
|
56
|
-
end
|
|
57
62
|
end
|
|
58
63
|
# rubocop:enable Style/StringConcatenation
|
|
59
64
|
end
|
|
@@ -6,8 +6,10 @@ module Decidim
|
|
|
6
6
|
#
|
|
7
7
|
# Presenter for questionnaire response
|
|
8
8
|
#
|
|
9
|
-
class QuestionnaireParticipantPresenter <
|
|
10
|
-
|
|
9
|
+
class QuestionnaireParticipantPresenter < SimpleDelegator
|
|
10
|
+
def participant
|
|
11
|
+
__getobj__.fetch(:participant)
|
|
12
|
+
end
|
|
11
13
|
|
|
12
14
|
def session_token
|
|
13
15
|
participant.session_token || "-"
|
|
@@ -28,7 +30,7 @@ module Decidim
|
|
|
28
30
|
end
|
|
29
31
|
|
|
30
32
|
def status
|
|
31
|
-
t(registered? ? "registered" : "unregistered", scope: "decidim.forms.user_answers_serializer")
|
|
33
|
+
I18n.t(registered? ? "registered" : "unregistered", scope: "decidim.forms.user_answers_serializer")
|
|
32
34
|
end
|
|
33
35
|
|
|
34
36
|
def answers
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
module Decidim
|
|
4
|
+
module Forms
|
|
5
|
+
module AdminLog
|
|
6
|
+
# This class holds the logic to present a `Decidim::Forms::Questionnaire`
|
|
7
|
+
# for the `AdminLog` log.
|
|
8
|
+
#
|
|
9
|
+
# Usage should be automatic and you shouldn't need to call this class
|
|
10
|
+
# directly, but here's an example:
|
|
11
|
+
#
|
|
12
|
+
# action_log = Decidim::ActionLog.last
|
|
13
|
+
# view_helpers # => this comes from the views
|
|
14
|
+
# QuestionnairePresenter.new(action_log, view_helpers).present
|
|
15
|
+
class QuestionnairePresenter < Decidim::Log::BasePresenter
|
|
16
|
+
private
|
|
17
|
+
|
|
18
|
+
def action_string
|
|
19
|
+
case action
|
|
20
|
+
when "update"
|
|
21
|
+
"decidim.forms.admin_log.questionnaire.#{action}"
|
|
22
|
+
else
|
|
23
|
+
super
|
|
24
|
+
end
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def i18n_params
|
|
28
|
+
super.merge(
|
|
29
|
+
meeting_name: resource_presenter.try(:present)
|
|
30
|
+
)
|
|
31
|
+
end
|
|
32
|
+
end
|
|
33
|
+
end
|
|
34
|
+
end
|
|
35
|
+
end
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
module Decidim
|
|
4
4
|
module Forms
|
|
5
5
|
# A class used to collect user answers for a questionnaire
|
|
6
|
-
class QuestionnaireParticipant <
|
|
6
|
+
class QuestionnaireParticipant < Decidim::Query
|
|
7
7
|
# Syntactic sugar to initialize the class and return the queried objects.
|
|
8
8
|
#
|
|
9
9
|
# questionnaire - a Questionnaire object
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
module Decidim
|
|
4
4
|
module Forms
|
|
5
5
|
# A class used to collect user answers for a questionnaire
|
|
6
|
-
class QuestionnaireParticipants <
|
|
6
|
+
class QuestionnaireParticipants < Decidim::Query
|
|
7
7
|
# Syntactic sugar to initialize the class and return the queried objects.
|
|
8
8
|
#
|
|
9
9
|
# questionnaire - a Questionnaire object
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
module Decidim
|
|
4
4
|
module Forms
|
|
5
5
|
# A class used to collect user answers for a questionnaire
|
|
6
|
-
class QuestionnaireUserAnswers <
|
|
6
|
+
class QuestionnaireUserAnswers < Decidim::Query
|
|
7
7
|
# Syntactic sugar to initialize the class and return the queried objects.
|
|
8
8
|
#
|
|
9
9
|
# questionnaire - a Questionnaire object
|
|
@@ -31,7 +31,7 @@
|
|
|
31
31
|
<%= form.translated :editor, :description, toolbar: :full, lines: 30, label: t("models.components.description", scope: "decidim.forms.admin") %>
|
|
32
32
|
</div>
|
|
33
33
|
<div class="row column">
|
|
34
|
-
<%= form.translated :editor, :tos, toolbar: :
|
|
34
|
+
<%= form.translated :editor, :tos, toolbar: :full, lines: 10, label: t("models.components.tos", scope: "decidim.forms.admin") %>
|
|
35
35
|
</div>
|
|
36
36
|
</div>
|
|
37
37
|
</div>
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
<% add_decidim_page_title(t("decidim.forms.admin.questionnaires.edit.title")) %>
|
|
2
|
-
|
|
3
1
|
<% if templates_defined? && choose_template? %>
|
|
4
2
|
<%= render partial: "decidim/templates/admin/questionnaire_templates/choose", locals: { target: questionnaire, form_title: t("decidim.forms.admin.questionnaires.edit.title") } %>
|
|
5
3
|
<% else %>
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
<%= label_tag field_id, translated_attribute(answer.question.body), class: "questionnaire-title_and_description" %>
|
|
8
8
|
<% if translated_attribute(answer.question.description).present? %>
|
|
9
9
|
<div class="help-title_and_description ">
|
|
10
|
-
<%=
|
|
10
|
+
<%= decidim_sanitize_editor translated_attribute(answer.question.description) %>
|
|
11
11
|
</div>
|
|
12
12
|
<% end %>
|
|
13
13
|
<%= render partial: "decidim/forms/questionnaires/answers/#{answer.question.question_type}", locals: { answer: answer, answer_form: answer_form, answer_idx: answer_idx, field_id: field_id, disabled: disabled } %>
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
|
|
23
23
|
<% if translated_attribute(answer.question.description).present? %>
|
|
24
24
|
<div class="help-text">
|
|
25
|
-
<%=
|
|
25
|
+
<%= decidim_sanitize_editor translated_attribute(answer.question.description) %>
|
|
26
26
|
</div>
|
|
27
27
|
<% end %>
|
|
28
28
|
|
|
@@ -5,13 +5,13 @@
|
|
|
5
5
|
|
|
6
6
|
<% columns = allow_answers? && visitor_can_answer? && @form.responses.map(&:question).any?(&:matrix?) ? 9 : 6 %>
|
|
7
7
|
|
|
8
|
-
<%= render partial: "decidim/shared/component_announcement"
|
|
8
|
+
<%= render partial: "decidim/shared/component_announcement" %>
|
|
9
9
|
|
|
10
10
|
<div class="row columns">
|
|
11
11
|
<h2 class="section-heading"><%= translated_attribute questionnaire.title %></h2>
|
|
12
12
|
<div class="row">
|
|
13
13
|
<div class="columns large-<%= columns %> medium-centered lead">
|
|
14
|
-
<%=
|
|
14
|
+
<%= decidim_sanitize_editor translated_attribute questionnaire.description %>
|
|
15
15
|
</div>
|
|
16
16
|
</div>
|
|
17
17
|
</div>
|
|
@@ -151,4 +151,6 @@
|
|
|
151
151
|
</div>
|
|
152
152
|
</div>
|
|
153
153
|
|
|
154
|
-
|
|
154
|
+
<% content_for :js_content do %>
|
|
155
|
+
<%= javascript_pack_tag "decidim_forms" %>
|
|
156
|
+
<% end %>
|
data/config/locales/am-ET.yml
CHANGED
data/config/locales/ar.yml
CHANGED
data/config/locales/bg.yml
CHANGED
data/config/locales/ca.yml
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
---
|
|
1
2
|
ca:
|
|
2
3
|
activemodel:
|
|
3
4
|
attributes:
|
|
@@ -121,6 +122,9 @@ ca:
|
|
|
121
122
|
update:
|
|
122
123
|
invalid: S'ha produït un error en desar el formulari.
|
|
123
124
|
success: Formulari desat correctament.
|
|
125
|
+
admin_log:
|
|
126
|
+
questionnaire:
|
|
127
|
+
update: "%{user_name} ha actualitzat el qüestionari %{resource_name}"
|
|
124
128
|
errors:
|
|
125
129
|
answer:
|
|
126
130
|
body: El camp no pot estar en blanc
|
|
@@ -128,10 +132,9 @@ ca:
|
|
|
128
132
|
extension_allowlist: 'Formats d''arxiu acceptats:'
|
|
129
133
|
images:
|
|
130
134
|
dimensions: "%{width} x %{height} px"
|
|
131
|
-
dimensions_info: 'Aquesta imatge medirà:'
|
|
132
135
|
processors:
|
|
133
|
-
resize_and_pad:
|
|
134
|
-
resize_to_fit:
|
|
136
|
+
resize_and_pad: Aquesta imatge serà redimensionada i ajustada a %{dimensions}.
|
|
137
|
+
resize_to_fit: Aquesta imatge serà redimensionada per ajustar-se a %{dimensions}.
|
|
135
138
|
question_types:
|
|
136
139
|
files: Arxius
|
|
137
140
|
long_answer: Resposta llarga
|
|
@@ -142,8 +145,6 @@ ca:
|
|
|
142
145
|
single_option: Opció única
|
|
143
146
|
sorting: Ordenació
|
|
144
147
|
title_and_description: Títol i descripció
|
|
145
|
-
questionnaire_answer_presenter:
|
|
146
|
-
download_attachment: Descarregar l'arxiu adjunt
|
|
147
148
|
questionnaires:
|
|
148
149
|
answer:
|
|
149
150
|
invalid: S'han produït un error en respondre el formulari.
|
|
@@ -174,7 +175,7 @@ ca:
|
|
|
174
175
|
tos_agreement: En participar acceptes els Termes i condicions d'ús
|
|
175
176
|
step_navigation:
|
|
176
177
|
show:
|
|
177
|
-
are_you_sure: Aquesta acció no es pot desfer i no podràs editar les teves respostes.
|
|
178
|
+
are_you_sure: Aquesta acció no es pot desfer i no podràs editar les teves respostes. Estàs segura?
|
|
178
179
|
back: Enrere
|
|
179
180
|
continue: Continuar
|
|
180
181
|
submit: Enviar respostes
|
data/config/locales/cs.yml
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
---
|
|
1
2
|
cs:
|
|
2
3
|
activemodel:
|
|
3
4
|
attributes:
|
|
@@ -121,6 +122,9 @@ cs:
|
|
|
121
122
|
update:
|
|
122
123
|
invalid: Při ukládání dotazníku došlo k chybám.
|
|
123
124
|
success: Formulář byl úspěšně uložen.
|
|
125
|
+
admin_log:
|
|
126
|
+
questionnaire:
|
|
127
|
+
update: "%{user_name} aktualizoval dotazník %{resource_name}"
|
|
124
128
|
errors:
|
|
125
129
|
answer:
|
|
126
130
|
body: Tělo nemůže být prázdné
|
|
@@ -128,10 +132,9 @@ cs:
|
|
|
128
132
|
extension_allowlist: 'Akceptované formáty:'
|
|
129
133
|
images:
|
|
130
134
|
dimensions: "%{width} x %{height} px"
|
|
131
|
-
dimensions_info: 'Tento obrázek bude:'
|
|
132
135
|
processors:
|
|
133
|
-
resize_and_pad:
|
|
134
|
-
resize_to_fit:
|
|
136
|
+
resize_and_pad: Tento obrázek bude změněn a vyplněn na %{dimensions}.
|
|
137
|
+
resize_to_fit: Tento obrázek bude změněn a vyplněn na %{dimensions}.
|
|
135
138
|
question_types:
|
|
136
139
|
files: Soubory
|
|
137
140
|
long_answer: Dlouhá odpověď
|
|
@@ -142,8 +145,6 @@ cs:
|
|
|
142
145
|
single_option: Jedna možnost
|
|
143
146
|
sorting: Třídění
|
|
144
147
|
title_and_description: Název a popis
|
|
145
|
-
questionnaire_answer_presenter:
|
|
146
|
-
download_attachment: Stáhnout přílohu
|
|
147
148
|
questionnaires:
|
|
148
149
|
answer:
|
|
149
150
|
invalid: Při odpovědi na dotazník došlo k chybám.
|
data/config/locales/da.yml
CHANGED
data/config/locales/de.yml
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
---
|
|
1
2
|
de:
|
|
2
3
|
activemodel:
|
|
3
4
|
attributes:
|
|
@@ -128,10 +129,6 @@ de:
|
|
|
128
129
|
extension_allowlist: 'Gültige Formate:'
|
|
129
130
|
images:
|
|
130
131
|
dimensions: "%{width} x %{height} px"
|
|
131
|
-
dimensions_info: 'Das Bild wird:'
|
|
132
|
-
processors:
|
|
133
|
-
resize_and_pad: in der Größe angepasst und gepolstert zu
|
|
134
|
-
resize_to_fit: in der Größe verändert, damit es passt
|
|
135
132
|
question_types:
|
|
136
133
|
files: Dateien
|
|
137
134
|
long_answer: Lange Antwort
|
|
@@ -142,8 +139,6 @@ de:
|
|
|
142
139
|
single_option: Einzelne Option
|
|
143
140
|
sorting: Sortierung
|
|
144
141
|
title_and_description: Titel und Beschreibung
|
|
145
|
-
questionnaire_answer_presenter:
|
|
146
|
-
download_attachment: Anhang herunterladen
|
|
147
142
|
questionnaires:
|
|
148
143
|
answer:
|
|
149
144
|
invalid: Bei der Beantwortung des Fragebogens sind Fehler aufgetreten.
|
|
@@ -174,7 +169,7 @@ de:
|
|
|
174
169
|
tos_agreement: Mit der Teilnahme stimmen Sie den Nutzungsbedingungen zu
|
|
175
170
|
step_navigation:
|
|
176
171
|
show:
|
|
177
|
-
are_you_sure: Diese Aktion kann nicht rückgängig gemacht werden und Sie können Ihre Antworten nicht bearbeiten.
|
|
172
|
+
are_you_sure: Diese Aktion kann nicht rückgängig gemacht werden und Sie können Ihre Antworten nicht bearbeiten. Bist du sicher?
|
|
178
173
|
back: Zurück
|
|
179
174
|
continue: Weiter
|
|
180
175
|
submit: einreichen
|