decidim-forms 0.26.10 → 0.27.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (91) hide show
  1. checksums.yaml +4 -4
  2. data/app/commands/decidim/forms/admin/update_questionnaire.rb +13 -8
  3. data/app/commands/decidim/forms/answer_questionnaire.rb +1 -1
  4. data/app/controllers/decidim/forms/admin/concerns/has_questionnaire.rb +3 -3
  5. data/app/forms/decidim/forms/admin/display_condition_form.rb +3 -3
  6. data/app/models/decidim/forms/answer.rb +2 -2
  7. data/app/models/decidim/forms/display_condition.rb +1 -1
  8. data/app/models/decidim/forms/questionnaire.rb +7 -0
  9. data/app/packs/src/decidim/forms/admin/forms.js +0 -3
  10. data/app/presenters/decidim/forms/admin/questionnaire_answer_presenter.rb +13 -8
  11. data/app/presenters/decidim/forms/admin/questionnaire_participant_presenter.rb +5 -3
  12. data/app/presenters/decidim/forms/admin_log/questionnaire_presenter.rb +35 -0
  13. data/app/queries/decidim/forms/questionnaire_participant.rb +1 -1
  14. data/app/queries/decidim/forms/questionnaire_participants.rb +1 -1
  15. data/app/queries/decidim/forms/questionnaire_user_answers.rb +1 -1
  16. data/app/views/decidim/forms/admin/questionnaires/_form.html.erb +1 -1
  17. data/app/views/decidim/forms/admin/questionnaires/edit.html.erb +0 -2
  18. data/app/views/decidim/forms/questionnaires/_answer.html.erb +2 -2
  19. data/app/views/decidim/forms/questionnaires/show.html.erb +5 -3
  20. data/config/locales/am-ET.yml +1 -0
  21. data/config/locales/ar.yml +1 -0
  22. data/config/locales/bg.yml +1 -0
  23. data/config/locales/ca.yml +7 -6
  24. data/config/locales/cs.yml +6 -5
  25. data/config/locales/da.yml +1 -0
  26. data/config/locales/de.yml +2 -7
  27. data/config/locales/el.yml +1 -77
  28. data/config/locales/en.yml +5 -5
  29. data/config/locales/eo.yml +1 -0
  30. data/config/locales/es-MX.yml +6 -5
  31. data/config/locales/es-PY.yml +6 -5
  32. data/config/locales/es.yml +7 -6
  33. data/config/locales/et.yml +1 -0
  34. data/config/locales/eu.yml +27 -45
  35. data/config/locales/fi-plain.yml +6 -5
  36. data/config/locales/fi.yml +6 -5
  37. data/config/locales/fr-CA.yml +3 -5
  38. data/config/locales/fr.yml +3 -5
  39. data/config/locales/ga-IE.yml +1 -0
  40. data/config/locales/gl.yml +5 -0
  41. data/config/locales/hr.yml +1 -0
  42. data/config/locales/hu.yml +4 -1
  43. data/config/locales/id-ID.yml +1 -0
  44. data/config/locales/is-IS.yml +2 -1
  45. data/config/locales/it.yml +1 -4
  46. data/config/locales/ja.yml +6 -5
  47. data/config/locales/ko.yml +1 -0
  48. data/config/locales/lb.yml +1 -4
  49. data/config/locales/lt.yml +1 -190
  50. data/config/locales/lv.yml +1 -4
  51. data/config/locales/mt.yml +1 -0
  52. data/config/locales/nl.yml +1 -4
  53. data/config/locales/no.yml +1 -4
  54. data/config/locales/om-ET.yml +1 -0
  55. data/config/locales/pl.yml +5 -21
  56. data/config/locales/pt-BR.yml +2 -18
  57. data/config/locales/pt.yml +1 -4
  58. data/config/locales/ro-RO.yml +1 -6
  59. data/config/locales/ru.yml +1 -0
  60. data/config/locales/si-LK.yml +1 -0
  61. data/config/locales/sk.yml +1 -0
  62. data/config/locales/sl.yml +1 -0
  63. data/config/locales/so-SO.yml +1 -0
  64. data/config/locales/sr-CS.yml +1 -0
  65. data/config/locales/sv.yml +1 -4
  66. data/config/locales/sw-KE.yml +1 -0
  67. data/config/locales/ti-ER.yml +1 -0
  68. data/config/locales/tr-TR.yml +1 -4
  69. data/config/locales/uk.yml +1 -0
  70. data/config/locales/val-ES.yml +1 -0
  71. data/config/locales/vi.yml +1 -0
  72. data/config/locales/zh-CN.yml +1 -4
  73. data/config/locales/zh-TW.yml +1 -190
  74. data/lib/decidim/exporters/form_pdf.rb +2 -2
  75. data/lib/decidim/forms/{data_portability_user_answers_serializer.rb → download_your_data_user_answers_serializer.rb} +2 -2
  76. data/lib/decidim/forms/test/factories.rb +22 -13
  77. data/lib/decidim/forms/test/shared_examples/manage_questionnaire_answers.rb +2 -25
  78. data/lib/decidim/forms/test/shared_examples/manage_questionnaires/update_questions.rb +2 -2
  79. data/lib/decidim/forms/user_answers_serializer.rb +3 -3
  80. data/lib/decidim/forms/version.rb +1 -1
  81. data/lib/decidim/forms.rb +1 -1
  82. metadata +14 -22
  83. data/config/environment.rb +0 -3
  84. data/config/locales/fa-IR.yml +0 -1
  85. data/config/locales/gn-PY.yml +0 -1
  86. data/config/locales/ka-GE.yml +0 -1
  87. data/config/locales/kaa.yml +0 -7
  88. data/config/locales/lo-LA.yml +0 -1
  89. data/config/locales/oc-FR.yml +0 -1
  90. data/config/locales/sq-AL.yml +0 -1
  91. data/config/locales/th-TH.yml +0 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c435405600fe1cf3b00311da4834ac4ff2a83436beaf8c215cbd71bacadf0b02
4
- data.tar.gz: 40bb6932e182d144fec4d4eda89ec544a29069ab62860f3ac9a26c6a080ec071
3
+ metadata.gz: b63c51b898c731a6ac659b9160f4b5bf5d2404cea0aec58cb5fdffff1a29a9b0
4
+ data.tar.gz: e4a6cf68a62b0188511ba30c3fceda43c30a93bca8ab4a917edf608b8c531e1a
5
5
  SHA512:
6
- metadata.gz: 115beaf2e97ae428f6efa5d235d24b713483b7ac1e4afc4095603d3865ec0b2703e8c2f5e9817f4ac8c529c04dd2a04cace2a93ba8cbf19122122e1732ca9ae0
7
- data.tar.gz: f12edcefe28f0440e5e2fdf90a582cb83f368856ca65b336d8fb8c02e126cad891e3fdda4ae411fcec6289f4a2526288223ea12422e39488394362bd4f7ca99b
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 < Rectify::Command
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::Forms::Questionnaire.transaction do
25
- if @questionnaire.questions_editable?
26
- update_questionnaire_questions
27
- delete_answers unless @questionnaire.published?
28
- end
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
- update_questionnaire
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 < Rectify::Command
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?(Decidim::Templates::Admin::Concerns::Templatable)
23
+ if defined? Decidim::Templates::Admin
24
24
  include Decidim::Templates::Admin::Concerns::Templatable
25
- helper Decidim::Templates::Admin::TemplatesHelper
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: @decidim_question_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: @decidim_condition_question_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: @decidim_answer_option_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::DataPortability
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::DataPortabilityUserAnswersSerializer
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.reject(&:blank?).any? { |value| answer_form_matches?(answer_form, value) }
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 < Rectify::Presenter
9
+ class QuestionnaireAnswerPresenter < SimpleDelegator
10
+ delegate :content_tag, :safe_join, to: :view_context
11
+
10
12
  include Decidim::TranslatableAttributes
11
13
 
12
- attribute :answer, Decidim::Forms::Answer
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.url, target: "_blank", rel: "noopener noreferrer") do
50
- content_tag(:span) do
51
- translated_attribute(attachment.title).presence ||
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 < Rectify::Presenter
10
- attribute :participant, Decidim::Forms::Answer
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 < Rectify::Query
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 < Rectify::Query
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 < Rectify::Query
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: :content, lines: 10, label: t("models.components.tos", scope: "decidim.forms.admin") %>
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
- <%= decidim_sanitize_editor_admin translated_attribute(answer.question.description) %>
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
- <%= decidim_sanitize_editor_admin translated_attribute(answer.question.description) %>
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" if current_component.manifest_name == "surveys" %>
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
- <%= decidim_sanitize_editor_admin translated_attribute questionnaire.description %>
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
- <%= javascript_pack_tag "decidim_forms" %>
154
+ <% content_for :js_content do %>
155
+ <%= javascript_pack_tag "decidim_forms" %>
156
+ <% end %>
@@ -1 +1,2 @@
1
+ ---
1
2
  am:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  ar:
2
3
  activemodel:
3
4
  attributes:
@@ -1,3 +1,4 @@
1
+ ---
1
2
  bg:
2
3
  activemodel:
3
4
  attributes:
@@ -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: Redimensionat i ajustat a
134
- resize_to_fit: Redimensionada per ajustar-la
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. Segur?
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
@@ -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: Zmenšeno a odsazeno k
134
- resize_to_fit: Upravena velikost na vyplnění
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.
@@ -1 +1,2 @@
1
+ ---
1
2
  da:
@@ -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. Sind Sie sich sicher?
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