decidim-forms 0.28.4 → 0.29.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/question_readonly_cell.rb +0 -2
- data/app/cells/decidim/forms/step_navigation/show.erb +3 -3
- data/app/cells/decidim/forms/step_navigation_cell.rb +2 -3
- data/app/commands/decidim/forms/answer_questionnaire.rb +4 -4
- data/app/controllers/decidim/forms/concerns/has_questionnaire.rb +1 -1
- data/app/forms/decidim/forms/answer_form.rb +2 -2
- data/app/forms/decidim/forms/questionnaire_form.rb +1 -1
- data/app/helpers/decidim/forms/application_helper.rb +2 -2
- data/app/models/decidim/forms/answer_option.rb +1 -1
- data/app/models/decidim/forms/display_condition.rb +11 -3
- data/app/models/decidim/forms/question_matrix_row.rb +1 -1
- data/app/presenters/decidim/forms/admin/questionnaire_participant_presenter.rb +7 -7
- data/app/views/decidim/forms/admin/questionnaires/_answer_option.html.erb +1 -1
- data/app/views/decidim/forms/admin/questionnaires/_display_condition.html.erb +2 -2
- data/app/views/decidim/forms/admin/questionnaires/_matrix_row.html.erb +1 -1
- data/app/views/decidim/forms/admin/questionnaires/_question.html.erb +4 -4
- data/app/views/decidim/forms/admin/questionnaires/_separator.html.erb +4 -4
- data/app/views/decidim/forms/admin/questionnaires/_title_and_description.html.erb +4 -4
- data/config/initializers/wicked_pdf.rb +5 -5
- data/config/locales/ar.yml +0 -1
- data/config/locales/bg.yml +1 -2
- data/config/locales/ca.yml +1 -1
- data/config/locales/cs.yml +0 -1
- data/config/locales/de.yml +1 -1
- data/config/locales/el.yml +0 -2
- data/config/locales/en.yml +2 -2
- data/config/locales/es-MX.yml +2 -2
- data/config/locales/es-PY.yml +2 -2
- data/config/locales/es.yml +2 -2
- data/config/locales/eu.yml +1 -1
- data/config/locales/fi-plain.yml +1 -1
- data/config/locales/fi.yml +2 -2
- data/config/locales/fr-CA.yml +1 -1
- data/config/locales/fr.yml +1 -1
- data/config/locales/gl.yml +0 -1
- data/config/locales/hu.yml +3 -4
- data/config/locales/id-ID.yml +0 -1
- data/config/locales/it.yml +0 -1
- data/config/locales/ja.yml +1 -1
- data/config/locales/lb.yml +0 -1
- data/config/locales/lt.yml +0 -2
- data/config/locales/lv.yml +0 -1
- data/config/locales/nl.yml +0 -1
- data/config/locales/no.yml +0 -1
- data/config/locales/pl.yml +1 -1
- data/config/locales/pt-BR.yml +0 -1
- data/config/locales/pt.yml +0 -1
- data/config/locales/ro-RO.yml +0 -2
- data/config/locales/sk.yml +0 -1
- data/config/locales/sv.yml +29 -47
- data/config/locales/tr-TR.yml +0 -1
- data/config/locales/zh-CN.yml +0 -1
- data/config/locales/zh-TW.yml +0 -2
- data/db/migrate/20240402092039_add_answer_options_counter_cache_to_questions.rb +16 -0
- data/db/migrate/20240402095253_add_matrix_row_counter_cache_to_questions.rb +16 -0
- data/db/migrate/20240416111953_add_display_conditions_counter_cache_to_questions.rb +16 -0
- data/db/migrate/20240416113926_add_display_conditions_for_other_questions_counter_cache_to_questions.rb +16 -0
- data/decidim-forms.gemspec +1 -1
- data/lib/decidim/forms/test/shared_examples/has_questionnaire.rb +44 -44
- data/lib/decidim/forms/test/shared_examples/manage_questionnaire_answers.rb +12 -12
- data/lib/decidim/forms/test/shared_examples/manage_questionnaires/add_display_conditions.rb +10 -10
- data/lib/decidim/forms/test/shared_examples/manage_questionnaires/add_questions.rb +85 -85
- data/lib/decidim/forms/test/shared_examples/manage_questionnaires/update_display_conditions.rb +8 -8
- data/lib/decidim/forms/test/shared_examples/manage_questionnaires/update_questions.rb +82 -82
- data/lib/decidim/forms/test/shared_examples/manage_questionnaires.rb +9 -9
- data/lib/decidim/forms/version.rb +1 -1
- metadata +16 -12
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: 2293a9e3534dc50768b5ed1a7ac9e501ec9a531089ac49a33e31cf7c4660d7ed
|
|
4
|
+
data.tar.gz: da021b4ab46c20cdb1aaeaa1f5a8cd1aedd46cd411c22b74b6cfdf72c4440592
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: d72b88bb788cb143ff3c422f0f9df2a1dedeac476b30c0c393d6cee92a0664a48ab1ad4dd0ac55313a5b902c1efaa5f7b8d9a9b4086320aa35a14bb42f6d3344
|
|
7
|
+
data.tar.gz: d2c4966ec421a62dda538e4257934223a1708eb8f7c20b9c31947d5e87f67bf261ca669d7cd0ee790397353017df8c62936fd7a02aef6702f424c3a6a6ea58f5
|
|
@@ -4,8 +4,6 @@ module Decidim
|
|
|
4
4
|
module Forms
|
|
5
5
|
# This cell renders a question (readonly) of a questionnaire
|
|
6
6
|
class QuestionReadonlyCell < Decidim::ViewModel
|
|
7
|
-
include Decidim::SanitizeHelper
|
|
8
|
-
|
|
9
7
|
def show
|
|
10
8
|
return if model.separator?
|
|
11
9
|
return render :title_and_description if model.title_and_description?
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
<div class="
|
|
1
|
+
<div class="answer-questionnaire__submit layout-aside__ctas-buttons survey-section-buttons" data-sticky-buttons>
|
|
2
2
|
<% if !first_step? %>
|
|
3
|
-
<button type="button" class="button button__sm
|
|
3
|
+
<button type="button" class="button button__sm button__transparent-secondary" data-toggle="<%= [previous_step_dom_id, current_step_dom_id].join(" ") %>" data-survey-buttons>
|
|
4
4
|
<%= icon "arrow-left-line", class: "fill-current" %>
|
|
5
5
|
<%= t("decidim.forms.step_navigation.show.back") %>
|
|
6
6
|
</button>
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
**confirm_data
|
|
15
15
|
) %>
|
|
16
16
|
<% else %>
|
|
17
|
-
<button type="button" class="button button__sm button__secondary" data-toggle="<%= [next_step_dom_id, current_step_dom_id].join(" ") %>">
|
|
17
|
+
<button type="button" class="button button__sm button__secondary" data-toggle="<%= [next_step_dom_id, current_step_dom_id].join(" ") %>" data-survey-buttons>
|
|
18
18
|
<%= t("decidim.forms.step_navigation.show.continue") %>
|
|
19
19
|
<%= icon "arrow-right-line", class: "fill-current" %>
|
|
20
20
|
</button>
|
|
@@ -4,8 +4,6 @@ module Decidim
|
|
|
4
4
|
module Forms
|
|
5
5
|
# This cell renders the navigation of a questionnaire step.
|
|
6
6
|
class StepNavigationCell < Decidim::ViewModel
|
|
7
|
-
include Decidim::LayoutHelper
|
|
8
|
-
|
|
9
7
|
def current_step_index
|
|
10
8
|
model
|
|
11
9
|
end
|
|
@@ -45,7 +43,8 @@ module Decidim
|
|
|
45
43
|
def confirm_data
|
|
46
44
|
{ data: {
|
|
47
45
|
confirm: t("decidim.forms.step_navigation.show.are_you_sure"),
|
|
48
|
-
disable: true
|
|
46
|
+
disable: true,
|
|
47
|
+
data: "survey-buttons"
|
|
49
48
|
} }
|
|
50
49
|
end
|
|
51
50
|
end
|
|
@@ -4,15 +4,15 @@ module Decidim
|
|
|
4
4
|
module Forms
|
|
5
5
|
# This command is executed when the user answers a Questionnaire.
|
|
6
6
|
class AnswerQuestionnaire < Decidim::Command
|
|
7
|
+
delegate :current_user, to: :form
|
|
7
8
|
include ::Decidim::MultipleAttachmentsMethods
|
|
8
9
|
|
|
9
10
|
# Initializes a AnswerQuestionnaire Command.
|
|
10
11
|
#
|
|
11
12
|
# form - The form from which to get the data.
|
|
12
13
|
# questionnaire - The current instance of the questionnaire to be answered.
|
|
13
|
-
def initialize(form,
|
|
14
|
+
def initialize(form, questionnaire)
|
|
14
15
|
@form = form
|
|
15
|
-
@current_user = current_user
|
|
16
16
|
@questionnaire = questionnaire
|
|
17
17
|
end
|
|
18
18
|
|
|
@@ -34,7 +34,7 @@ module Decidim
|
|
|
34
34
|
end
|
|
35
35
|
end
|
|
36
36
|
|
|
37
|
-
attr_reader :form, :questionnaire
|
|
37
|
+
attr_reader :form, :questionnaire
|
|
38
38
|
|
|
39
39
|
private
|
|
40
40
|
|
|
@@ -82,7 +82,7 @@ module Decidim
|
|
|
82
82
|
Answer.transaction(requires_new: true) do
|
|
83
83
|
form.responses_by_step.flatten.select(&:display_conditions_fulfilled?).each do |form_answer|
|
|
84
84
|
answer = Answer.new(
|
|
85
|
-
user:
|
|
85
|
+
user: current_user,
|
|
86
86
|
questionnaire: @questionnaire,
|
|
87
87
|
question: form_answer.question,
|
|
88
88
|
body: form_answer.body,
|
|
@@ -30,7 +30,7 @@ module Decidim
|
|
|
30
30
|
|
|
31
31
|
@form = form(Decidim::Forms::QuestionnaireForm).from_params(params, session_token:, ip_hash:)
|
|
32
32
|
|
|
33
|
-
Decidim::Forms::AnswerQuestionnaire.call(@form,
|
|
33
|
+
Decidim::Forms::AnswerQuestionnaire.call(@form, questionnaire) do
|
|
34
34
|
on(:ok) do
|
|
35
35
|
# i18n-tasks-use t("decidim.forms.questionnaires.answer.success")
|
|
36
36
|
flash[:notice] = I18n.t("answer.success", scope: i18n_flashes_scope)
|
|
@@ -108,9 +108,9 @@ module Decidim
|
|
|
108
108
|
|
|
109
109
|
def max_choices
|
|
110
110
|
if matrix?
|
|
111
|
-
errors.add(:choices, :too_many) if grouped_choices.any? { |choices| choices.count > question.max_choices }
|
|
111
|
+
errors.add(:choices, :too_many, count: question.max_choices) if grouped_choices.any? { |choices| choices.count > question.max_choices }
|
|
112
112
|
elsif selected_choices.size > question.max_choices
|
|
113
|
-
errors.add(:choices, :too_many)
|
|
113
|
+
errors.add(:choices, :too_many, count: question.max_choices)
|
|
114
114
|
end
|
|
115
115
|
end
|
|
116
116
|
|
|
@@ -33,7 +33,7 @@ module Decidim
|
|
|
33
33
|
context.responses = attributes[:responses]
|
|
34
34
|
end
|
|
35
35
|
|
|
36
|
-
# Public: Splits
|
|
36
|
+
# Public: Splits responses by step, keeping the separator.
|
|
37
37
|
#
|
|
38
38
|
# Returns an array of steps. Each step is a list of the questions in that
|
|
39
39
|
# step, including the separator.
|
|
@@ -8,11 +8,11 @@ module Decidim
|
|
|
8
8
|
def show_represent_user_group?
|
|
9
9
|
model_name = questionnaire_for.model_name.element
|
|
10
10
|
|
|
11
|
-
|
|
11
|
+
permitted_models.include?(model_name)
|
|
12
12
|
end
|
|
13
13
|
alias show_public_participation? show_represent_user_group?
|
|
14
14
|
|
|
15
|
-
def
|
|
15
|
+
def permitted_models
|
|
16
16
|
%(meeting)
|
|
17
17
|
end
|
|
18
18
|
end
|
|
@@ -9,7 +9,7 @@ module Decidim
|
|
|
9
9
|
|
|
10
10
|
translatable_fields :body
|
|
11
11
|
|
|
12
|
-
belongs_to :question, class_name: "Question", foreign_key: "decidim_question_id"
|
|
12
|
+
belongs_to :question, class_name: "Question", foreign_key: "decidim_question_id", counter_cache: true
|
|
13
13
|
|
|
14
14
|
has_many :display_conditions,
|
|
15
15
|
class_name: "DisplayCondition",
|
|
@@ -7,16 +7,24 @@ module Decidim
|
|
|
7
7
|
# that we want to display or hide based on some conditions, and :condition_question
|
|
8
8
|
# is the question the answers of which are checked against the conditions.
|
|
9
9
|
# Conditions can be whether the question is answered ("answered") or it is not ("not_answered"),
|
|
10
|
-
# if the selected answer option is ("equal") or is not ("not_equal") a given one, or
|
|
10
|
+
# if the selected answer option is ("equal") or is not ("not_equal") a given one, or whether
|
|
11
11
|
# the text value of the answer matches a string ("match").
|
|
12
12
|
class DisplayCondition < Forms::ApplicationRecord
|
|
13
13
|
enum condition_type: [:answered, :not_answered, :equal, :not_equal, :match], _prefix: true
|
|
14
14
|
|
|
15
15
|
# Question which will be displayed or hidden
|
|
16
|
-
belongs_to :question,
|
|
16
|
+
belongs_to :question,
|
|
17
|
+
class_name: "Question",
|
|
18
|
+
foreign_key: "decidim_question_id",
|
|
19
|
+
inverse_of: :display_conditions,
|
|
20
|
+
counter_cache: :display_conditions_count
|
|
17
21
|
|
|
18
22
|
# Question the answers of which are checked against conditions
|
|
19
|
-
belongs_to :condition_question,
|
|
23
|
+
belongs_to :condition_question,
|
|
24
|
+
class_name: "Question",
|
|
25
|
+
foreign_key: "decidim_condition_question_id",
|
|
26
|
+
inverse_of: :display_conditions_for_other_questions,
|
|
27
|
+
counter_cache: :display_conditions_for_other_questions_count
|
|
20
28
|
|
|
21
29
|
# Answer option provided to check for "equal" or "not_equal" (optional)
|
|
22
30
|
belongs_to :answer_option, class_name: "AnswerOption", foreign_key: "decidim_answer_option_id", optional: true
|
|
@@ -7,7 +7,7 @@ module Decidim
|
|
|
7
7
|
include Decidim::TranslatableResource
|
|
8
8
|
|
|
9
9
|
translatable_fields :body
|
|
10
|
-
belongs_to :question, class_name: "Question", foreign_key: "decidim_question_id"
|
|
10
|
+
belongs_to :question, class_name: "Question", foreign_key: "decidim_question_id", counter_cache: :matrix_rows_count
|
|
11
11
|
|
|
12
12
|
delegate :answer_options, :mandatory, :max_choices, to: :question
|
|
13
13
|
|
|
@@ -34,26 +34,26 @@ module Decidim
|
|
|
34
34
|
end
|
|
35
35
|
|
|
36
36
|
def answers
|
|
37
|
-
|
|
37
|
+
siblings.map { |answer| QuestionnaireAnswerPresenter.new(answer:) }
|
|
38
38
|
end
|
|
39
39
|
|
|
40
40
|
def first_short_answer
|
|
41
|
-
short =
|
|
41
|
+
short = siblings.where(decidim_forms_questions: { question_type: %w(short_answer) })
|
|
42
42
|
short.first
|
|
43
43
|
end
|
|
44
44
|
|
|
45
45
|
def completion
|
|
46
|
-
with_body =
|
|
47
|
-
|
|
48
|
-
with_choices =
|
|
49
|
-
|
|
46
|
+
with_body = siblings.where(decidim_forms_questions: { question_type: %w(short_answer long_answer) })
|
|
47
|
+
.where.not(body: "").count
|
|
48
|
+
with_choices = siblings.where.not("decidim_forms_questions.question_type in (?)", %w(short_answer long_answer))
|
|
49
|
+
.where("decidim_forms_answers.id IN (SELECT decidim_answer_id FROM decidim_forms_answer_choices)").count
|
|
50
50
|
|
|
51
51
|
(with_body + with_choices).to_f / questionnaire.questions.not_separator.not_title_and_description.count * 100
|
|
52
52
|
end
|
|
53
53
|
|
|
54
54
|
private
|
|
55
55
|
|
|
56
|
-
def
|
|
56
|
+
def siblings
|
|
57
57
|
Answer.not_separator
|
|
58
58
|
.not_title_and_description
|
|
59
59
|
.where(questionnaire:, session_token: participant.session_token)
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<h2 class="card-title">
|
|
6
6
|
<span><%= t(".answer_option") %></span>
|
|
7
7
|
<% if editable %>
|
|
8
|
-
<button class="button button__sm button__transparent-secondary small alert
|
|
8
|
+
<button class="button button__sm button__transparent-secondary small alert remove-answer-option button--title mb-2">
|
|
9
9
|
<%= icon("delete-bin-line") %>
|
|
10
10
|
<%= t(".remove") %>
|
|
11
11
|
</button>
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<h2 class="card-title">
|
|
6
6
|
<span><%= t(".display_condition") %></span>
|
|
7
7
|
<% if editable %>
|
|
8
|
-
<button class="button button__sm button__transparent-secondary small alert
|
|
8
|
+
<button class="button button__sm button__transparent-secondary small alert remove-display-condition button--title">
|
|
9
9
|
<%= icon("delete-bin-line") %>
|
|
10
10
|
<%= t(".remove") %>
|
|
11
11
|
</button>
|
|
@@ -14,7 +14,7 @@
|
|
|
14
14
|
</div>
|
|
15
15
|
<div class="card-section">
|
|
16
16
|
<div class="row column">
|
|
17
|
-
<small
|
|
17
|
+
<small>
|
|
18
18
|
<%= t(".save_warning") %>
|
|
19
19
|
</small>
|
|
20
20
|
</div>
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
<h2 class="card-title">
|
|
6
6
|
<span><%= t(".matrix_row") %></span>
|
|
7
7
|
<% if editable %>
|
|
8
|
-
<button class="button button__sm button__transparent-secondary small alert
|
|
8
|
+
<button class="button button__sm button__transparent-secondary small alert remove-matrix-row button--title mb-2">
|
|
9
9
|
<%= icon("delete-bin-line") %>
|
|
10
10
|
<%= t(".remove") %>
|
|
11
11
|
</button>
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
<% is_expanded = question.errors.any? %>
|
|
3
3
|
<div class="card questionnaire-question" id="accordion-<%= id %>-field">
|
|
4
4
|
<div class="form__wrapper" data-component="accordion">
|
|
5
|
-
<div class="card-divider
|
|
5
|
+
<div class="card-divider">
|
|
6
6
|
<h2 class="card-title flex items-center">
|
|
7
7
|
<span>
|
|
8
8
|
<% if editable %>
|
|
@@ -23,17 +23,17 @@
|
|
|
23
23
|
</button>
|
|
24
24
|
|
|
25
25
|
<% if editable %>
|
|
26
|
-
<button class="button button__sm button__transparent-secondary small alert
|
|
26
|
+
<button class="button button__sm button__transparent-secondary small alert move-up-question button--title">
|
|
27
27
|
<%= icon("arrow-up-line") %>
|
|
28
28
|
<%= t(".up") %>
|
|
29
29
|
</button>
|
|
30
30
|
|
|
31
|
-
<button class="button button__sm button__transparent-secondary small alert
|
|
31
|
+
<button class="button button__sm button__transparent-secondary small alert move-down-question button--title">
|
|
32
32
|
<%= icon("arrow-down-line") %>
|
|
33
33
|
<%= t(".down") %>
|
|
34
34
|
</button>
|
|
35
35
|
|
|
36
|
-
<button class="button button__sm button__transparent-secondary small alert
|
|
36
|
+
<button class="button button__sm button__transparent-secondary small alert remove-question button--title">
|
|
37
37
|
<%= icon("delete-bin-line") %>
|
|
38
38
|
<%= t(".remove") %>
|
|
39
39
|
</button>
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
<% question = form.object %>
|
|
2
2
|
|
|
3
3
|
<div class="card questionnaire-question" id="<%= id %>-field">
|
|
4
|
-
<div class="card-divider
|
|
4
|
+
<div class="card-divider">
|
|
5
5
|
<h2 class="card-title flex items-center">
|
|
6
6
|
<span>
|
|
7
7
|
<% if editable %>
|
|
@@ -12,15 +12,15 @@
|
|
|
12
12
|
|
|
13
13
|
<div class="flex items-center gap-x-4 ml-auto">
|
|
14
14
|
<% if editable %>
|
|
15
|
-
<button class="button button__sm button__transparent button__transparent-secondary small alert
|
|
15
|
+
<button class="button button__sm button__transparent button__transparent-secondary small alert move-up-question button--title">
|
|
16
16
|
<%== "#{icon("arrow-up-line")} #{t(".up")}" %>
|
|
17
17
|
</button>
|
|
18
18
|
|
|
19
|
-
<button class="button button__sm button__transparent button__transparent-secondary small alert
|
|
19
|
+
<button class="button button__sm button__transparent button__transparent-secondary small alert move-down-question button--title">
|
|
20
20
|
<%== "#{icon("arrow-down-line")} #{t(".down")}" %>
|
|
21
21
|
</button>
|
|
22
22
|
|
|
23
|
-
<button class="button button__sm button__transparent button__transparent-secondary small alert
|
|
23
|
+
<button class="button button__sm button__transparent button__transparent-secondary small alert remove-question button--title">
|
|
24
24
|
<%= t(".remove") %>
|
|
25
25
|
</button>
|
|
26
26
|
<% end %>
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
<div class="card questionnaire-question" id="accordion-<%= id %>-field">
|
|
5
5
|
<div data-component="accordion">
|
|
6
|
-
<div class="card-divider
|
|
6
|
+
<div class="card-divider">
|
|
7
7
|
<h2 class="card-title flex items-center">
|
|
8
8
|
<span>
|
|
9
9
|
<% if editable %>
|
|
@@ -23,17 +23,17 @@
|
|
|
23
23
|
</button>
|
|
24
24
|
|
|
25
25
|
<% if editable %>
|
|
26
|
-
<button class="button button__sm button__transparent button__transparent-secondary small alert
|
|
26
|
+
<button class="button button__sm button__transparent button__transparent-secondary small alert move-up-question button--title">
|
|
27
27
|
<%= icon("arrow-up-line") %>
|
|
28
28
|
<%= t(".up") %>
|
|
29
29
|
</button>
|
|
30
30
|
|
|
31
|
-
<button class="button button__sm button__transparent button__transparent-secondary small alert
|
|
31
|
+
<button class="button button__sm button__transparent button__transparent-secondary small alert move-down-question button--title">
|
|
32
32
|
<%= icon("arrow-down-line") %>
|
|
33
33
|
<%= t(".down") %>
|
|
34
34
|
</button>
|
|
35
35
|
|
|
36
|
-
<button class="button button__sm button__transparent button__transparent-secondary small alert
|
|
36
|
+
<button class="button button__sm button__transparent button__transparent-secondary small alert remove-question button--title">
|
|
37
37
|
<%= icon("delete-bin-line") %>
|
|
38
38
|
<%= t(".remove") %>
|
|
39
39
|
</button>
|
|
@@ -14,14 +14,14 @@ require "wicked_pdf"
|
|
|
14
14
|
#
|
|
15
15
|
# https://github.com/mileszs/wicked_pdf/blob/master/README.md
|
|
16
16
|
|
|
17
|
-
WickedPdf.
|
|
17
|
+
WickedPdf.configure do |config|
|
|
18
18
|
# Path to the wkhtmltopdf executable: This usually is not needed if using
|
|
19
19
|
# one of the wkhtmltopdf-binary family of gems.
|
|
20
|
-
# exe_path: '/usr/local/bin/wkhtmltopdf',
|
|
21
20
|
# or
|
|
22
|
-
exe_path
|
|
21
|
+
# config.exe_path = '/usr/local/bin/wkhtmltopdf',
|
|
22
|
+
config.exe_path = Gem.bin_path("wkhtmltopdf-binary", "wkhtmltopdf")
|
|
23
23
|
|
|
24
24
|
# Layout file to be used for all PDFs
|
|
25
25
|
# (but can be overridden in `render :pdf` calls)
|
|
26
|
-
# layout
|
|
27
|
-
|
|
26
|
+
# config.layout = 'pdf.html'
|
|
27
|
+
end
|
data/config/locales/ar.yml
CHANGED
data/config/locales/bg.yml
CHANGED
|
@@ -22,7 +22,7 @@ bg:
|
|
|
22
22
|
too_long: твърде дълъг
|
|
23
23
|
choices:
|
|
24
24
|
missing: не са завършени
|
|
25
|
-
too_many:
|
|
25
|
+
too_many: Можете да изберете максимум %{count}.
|
|
26
26
|
questionnaire:
|
|
27
27
|
request_invalid: Възникна грешка при обработката на заявката. Моля, опитайте отново.
|
|
28
28
|
decidim:
|
|
@@ -158,7 +158,6 @@ bg:
|
|
|
158
158
|
answer_questionnaire:
|
|
159
159
|
already_have_an_account?: Вече имате профил?
|
|
160
160
|
are_you_new?: Нов потребител?
|
|
161
|
-
sign_in_description: Влезте, за да участвате в анкетата
|
|
162
161
|
sign_up_description: Създайте акаунт на участник, за да участвате в анкетата
|
|
163
162
|
title: Попълване на отговори във формуляра
|
|
164
163
|
current_step: Стъпка %{step}
|
data/config/locales/ca.yml
CHANGED
|
@@ -22,7 +22,7 @@ ca:
|
|
|
22
22
|
too_long: és massa llarg
|
|
23
23
|
choices:
|
|
24
24
|
missing: no estan complets
|
|
25
|
-
too_many:
|
|
25
|
+
too_many: Pots triar un màxim de %{count} opcions.
|
|
26
26
|
questionnaire:
|
|
27
27
|
request_invalid: Hi ha hagut un problema gestionant la petició. Si us plau, torna-ho a provar.
|
|
28
28
|
decidim:
|
data/config/locales/cs.yml
CHANGED
data/config/locales/de.yml
CHANGED
|
@@ -22,7 +22,7 @@ de:
|
|
|
22
22
|
too_long: ist zu lang
|
|
23
23
|
choices:
|
|
24
24
|
missing: sind nicht vollständig
|
|
25
|
-
too_many:
|
|
25
|
+
too_many: Sie können ein Maximum von %{count} auswählen.
|
|
26
26
|
questionnaire:
|
|
27
27
|
request_invalid: Beim Bearbeiten der Anfrage ist ein Fehler aufgetreten. Bitte versuchen Sie es nochmal.
|
|
28
28
|
decidim:
|
data/config/locales/el.yml
CHANGED
|
@@ -22,7 +22,6 @@ el:
|
|
|
22
22
|
too_long: είναι πολύ μεγάλο
|
|
23
23
|
choices:
|
|
24
24
|
missing: δεν έχουν ολοκληρωθεί
|
|
25
|
-
too_many: είναι πάρα πολλά
|
|
26
25
|
questionnaire:
|
|
27
26
|
request_invalid: Παρουσιάστηκε σφάλμα κατά τον χειρισμό του αιτήματος. Παρακαλώ δοκιμάστε ξανά.
|
|
28
27
|
decidim:
|
|
@@ -158,7 +157,6 @@ el:
|
|
|
158
157
|
answer_questionnaire:
|
|
159
158
|
already_have_an_account?: Έχετε ήδη λογαριασμό;
|
|
160
159
|
are_you_new?: Νέος χρήστης;
|
|
161
|
-
sign_in_description: Συνδεθείτε για να πραγματοποιήσετε την έρευνα
|
|
162
160
|
sign_up_description: Δημιουργήστε ένα λογαριασμό συμμετέχοντα για να κάνετε την έρευνα
|
|
163
161
|
title: Απαντήστε στη φόρμα
|
|
164
162
|
current_step: Βήμα %{step}
|
data/config/locales/en.yml
CHANGED
|
@@ -22,7 +22,7 @@ en:
|
|
|
22
22
|
too_long: is too long
|
|
23
23
|
choices:
|
|
24
24
|
missing: are not complete
|
|
25
|
-
too_many:
|
|
25
|
+
too_many: You can choose a maximum of %{count}.
|
|
26
26
|
questionnaire:
|
|
27
27
|
request_invalid: There was an error handling the request. Please try again.
|
|
28
28
|
decidim:
|
|
@@ -158,7 +158,7 @@ en:
|
|
|
158
158
|
answer_questionnaire:
|
|
159
159
|
already_have_an_account?: Already have an account?
|
|
160
160
|
are_you_new?: New user?
|
|
161
|
-
sign_in_description:
|
|
161
|
+
sign_in_description: Log in to take the survey
|
|
162
162
|
sign_up_description: Create a participant account to take the survey
|
|
163
163
|
title: Answer the form
|
|
164
164
|
current_step: Step %{step}
|
data/config/locales/es-MX.yml
CHANGED
|
@@ -22,7 +22,7 @@ es-MX:
|
|
|
22
22
|
too_long: es demasiado largo
|
|
23
23
|
choices:
|
|
24
24
|
missing: no están completos
|
|
25
|
-
too_many:
|
|
25
|
+
too_many: Puedes elegir un máximo de %{count} opciones.
|
|
26
26
|
questionnaire:
|
|
27
27
|
request_invalid: Ha ocurrido un error al enviar tu solicitud. Por favor, Inténtalo de nuevo.
|
|
28
28
|
decidim:
|
|
@@ -158,7 +158,7 @@ es-MX:
|
|
|
158
158
|
answer_questionnaire:
|
|
159
159
|
already_have_an_account?: '¿Ya tienes una cuenta?'
|
|
160
160
|
are_you_new?: '¿Eres una nueva usuaria?'
|
|
161
|
-
sign_in_description: Inicia
|
|
161
|
+
sign_in_description: Inicia sesión para realizar la encuesta
|
|
162
162
|
sign_up_description: Crea una cuenta de participante para realizar la encuesta
|
|
163
163
|
title: Responde al cuestionario
|
|
164
164
|
current_step: Paso %{step}
|
data/config/locales/es-PY.yml
CHANGED
|
@@ -22,7 +22,7 @@ es-PY:
|
|
|
22
22
|
too_long: es demasiado largo
|
|
23
23
|
choices:
|
|
24
24
|
missing: no están completos
|
|
25
|
-
too_many:
|
|
25
|
+
too_many: Puedes elegir un máximo de %{count} opciones.
|
|
26
26
|
questionnaire:
|
|
27
27
|
request_invalid: Ha ocurrido un error al enviar tu solicitud. Por favor, Inténtalo de nuevo.
|
|
28
28
|
decidim:
|
|
@@ -158,7 +158,7 @@ es-PY:
|
|
|
158
158
|
answer_questionnaire:
|
|
159
159
|
already_have_an_account?: '¿Ya tienes una cuenta?'
|
|
160
160
|
are_you_new?: '¿Eres una nueva usuaria?'
|
|
161
|
-
sign_in_description: Inicia
|
|
161
|
+
sign_in_description: Inicia sesión para realizar la encuesta
|
|
162
162
|
sign_up_description: Crea una cuenta de participante para realizar la encuesta
|
|
163
163
|
title: Responde al cuestionario
|
|
164
164
|
current_step: Paso %{step}
|
data/config/locales/es.yml
CHANGED
|
@@ -22,7 +22,7 @@ es:
|
|
|
22
22
|
too_long: es demasiado largo
|
|
23
23
|
choices:
|
|
24
24
|
missing: no están completos
|
|
25
|
-
too_many:
|
|
25
|
+
too_many: Puedes elegir un máximo de %{count} opciones.
|
|
26
26
|
questionnaire:
|
|
27
27
|
request_invalid: Ha ocurrido un error al enviar tu solicitud. Por favor, Inténtalo de nuevo.
|
|
28
28
|
decidim:
|
|
@@ -158,7 +158,7 @@ es:
|
|
|
158
158
|
answer_questionnaire:
|
|
159
159
|
already_have_an_account?: '¿Ya tienes una cuenta?'
|
|
160
160
|
are_you_new?: '¿Eres una nueva usuaria?'
|
|
161
|
-
sign_in_description: Inicia
|
|
161
|
+
sign_in_description: Inicia sesión para realizar la encuesta
|
|
162
162
|
sign_up_description: Crea una cuenta de participante para realizar la encuesta
|
|
163
163
|
title: Responde el formulario
|
|
164
164
|
current_step: Paso %{step}
|
data/config/locales/eu.yml
CHANGED
data/config/locales/fi-plain.yml
CHANGED
|
@@ -22,7 +22,7 @@ fi-pl:
|
|
|
22
22
|
too_long: liian pitkä
|
|
23
23
|
choices:
|
|
24
24
|
missing: ovat puutteellisia
|
|
25
|
-
too_many:
|
|
25
|
+
too_many: Voit valita enintään %{count} vaihtoehtoa.
|
|
26
26
|
questionnaire:
|
|
27
27
|
request_invalid: Pyynnön käsittely ei onnistunut. Yritä uudestaan myöhemmin.
|
|
28
28
|
decidim:
|
data/config/locales/fi.yml
CHANGED
|
@@ -22,7 +22,7 @@ fi:
|
|
|
22
22
|
too_long: liian pitkä
|
|
23
23
|
choices:
|
|
24
24
|
missing: ovat puutteellisia
|
|
25
|
-
too_many:
|
|
25
|
+
too_many: Voit valita enintään %{count} vaihtoehtoa.
|
|
26
26
|
questionnaire:
|
|
27
27
|
request_invalid: Pyynnön käsittely ei onnistunut. Yritä uudestaan myöhemmin.
|
|
28
28
|
decidim:
|
|
@@ -123,7 +123,7 @@ fi:
|
|
|
123
123
|
up: Ylös
|
|
124
124
|
update:
|
|
125
125
|
invalid: Kyselylomakkeen tallentaminen epäonnistui.
|
|
126
|
-
success:
|
|
126
|
+
success: Lomake tallennettu onnistuneesti.
|
|
127
127
|
admin_log:
|
|
128
128
|
questionnaire:
|
|
129
129
|
update: "%{user_name} päivitti kyselyä %{resource_name}"
|
data/config/locales/fr-CA.yml
CHANGED
|
@@ -22,7 +22,7 @@ fr-CA:
|
|
|
22
22
|
too_long: est trop long
|
|
23
23
|
choices:
|
|
24
24
|
missing: ne sont pas complets
|
|
25
|
-
too_many:
|
|
25
|
+
too_many: Vous pouvez choisir un maximum de %{count}.
|
|
26
26
|
questionnaire:
|
|
27
27
|
request_invalid: Une erreur s'est produite. Veuillez réessayer.
|
|
28
28
|
decidim:
|
data/config/locales/fr.yml
CHANGED
|
@@ -22,7 +22,7 @@ fr:
|
|
|
22
22
|
too_long: est trop long
|
|
23
23
|
choices:
|
|
24
24
|
missing: ne sont pas complets
|
|
25
|
-
too_many:
|
|
25
|
+
too_many: Vous pouvez choisir un maximum de %{count}.
|
|
26
26
|
questionnaire:
|
|
27
27
|
request_invalid: Une erreur s'est produite. Veuillez réessayer.
|
|
28
28
|
decidim:
|
data/config/locales/gl.yml
CHANGED
data/config/locales/hu.yml
CHANGED
|
@@ -15,7 +15,6 @@ hu:
|
|
|
15
15
|
attributes:
|
|
16
16
|
choices:
|
|
17
17
|
missing: nem teljesek
|
|
18
|
-
too_many: túl sok
|
|
19
18
|
decidim:
|
|
20
19
|
forms:
|
|
21
20
|
admin:
|
|
@@ -28,7 +27,7 @@ hu:
|
|
|
28
27
|
answer_option: Válasz opció
|
|
29
28
|
free_text: Szabadszöveg
|
|
30
29
|
remove: Eltávolít
|
|
31
|
-
statement:
|
|
30
|
+
statement: Nyilatkozat
|
|
32
31
|
edit:
|
|
33
32
|
save: Mentés
|
|
34
33
|
form:
|
|
@@ -39,7 +38,7 @@ hu:
|
|
|
39
38
|
expand: Minden kérdés kibontása
|
|
40
39
|
matrix_row:
|
|
41
40
|
remove: Eltávolít
|
|
42
|
-
statement:
|
|
41
|
+
statement: Nyilatkozat
|
|
43
42
|
question:
|
|
44
43
|
add_answer_option: Válasz opció hozzáadása
|
|
45
44
|
any: Bármilyen
|
|
@@ -49,7 +48,7 @@ hu:
|
|
|
49
48
|
expand: Kibontás
|
|
50
49
|
question: Kérdés
|
|
51
50
|
remove: Eltávolít
|
|
52
|
-
statement:
|
|
51
|
+
statement: Nyilatkozat
|
|
53
52
|
up: Fel
|
|
54
53
|
title_and_description:
|
|
55
54
|
collapse: Összecsuk
|