decidim-surveys 0.21.0 → 0.23.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (76) hide show
  1. checksums.yaml +4 -4
  2. data/app/assets/stylesheets/decidim/surveys/surveys.scss +20 -3
  3. data/app/controllers/decidim/surveys/admin/surveys_controller.rb +11 -0
  4. data/app/controllers/decidim/surveys/surveys_controller.rb +12 -1
  5. data/app/jobs/decidim/surveys/clean_survey_answers_job.rb +32 -0
  6. data/app/jobs/decidim/surveys/settings_change_job.rb +4 -0
  7. data/app/models/decidim/surveys/survey.rb +4 -0
  8. data/app/permissions/decidim/surveys/admin/permissions.rb +12 -6
  9. data/app/queries/decidim/surveys/metrics/answers_metric_manage.rb +2 -8
  10. data/app/types/decidim/surveys/survey_type.rb +0 -1
  11. data/config/locales/am-ET.yml +1 -0
  12. data/config/locales/bg-BG.yml +10 -0
  13. data/config/locales/bg.yml +10 -0
  14. data/config/locales/ca.yml +3 -0
  15. data/config/locales/cs.yml +4 -1
  16. data/config/locales/da-DK.yml +1 -0
  17. data/config/locales/da.yml +1 -0
  18. data/config/locales/de.yml +9 -3
  19. data/config/locales/el.yml +58 -0
  20. data/config/locales/en.yml +3 -0
  21. data/config/locales/eo.yml +1 -0
  22. data/config/locales/es-MX.yml +3 -0
  23. data/config/locales/es-PY.yml +3 -0
  24. data/config/locales/es.yml +3 -0
  25. data/config/locales/et-EE.yml +1 -0
  26. data/config/locales/et.yml +1 -0
  27. data/config/locales/fi-plain.yml +3 -0
  28. data/config/locales/fi.yml +5 -2
  29. data/config/locales/fr-CA.yml +62 -0
  30. data/config/locales/fr.yml +3 -0
  31. data/config/locales/ga-IE.yml +1 -0
  32. data/config/locales/gl.yml +4 -0
  33. data/config/locales/hr-HR.yml +1 -0
  34. data/config/locales/hr.yml +1 -0
  35. data/config/locales/is.yml +25 -0
  36. data/config/locales/it.yml +7 -6
  37. data/config/locales/ja-JP.yml +58 -0
  38. data/config/locales/ja.yml +60 -0
  39. data/config/locales/ko-KR.yml +1 -0
  40. data/config/locales/ko.yml +1 -0
  41. data/config/locales/lt-LT.yml +1 -0
  42. data/config/locales/lt.yml +1 -0
  43. data/config/locales/lv.yml +61 -0
  44. data/config/locales/mt-MT.yml +1 -0
  45. data/config/locales/mt.yml +1 -0
  46. data/config/locales/nl.yml +3 -0
  47. data/config/locales/om-ET.yml +1 -0
  48. data/config/locales/pl.yml +18 -12
  49. data/config/locales/pt-BR.yml +1 -1
  50. data/config/locales/pt.yml +27 -23
  51. data/config/locales/ro-RO.yml +62 -0
  52. data/config/locales/si-LK.yml +1 -0
  53. data/config/locales/sk-SK.yml +63 -0
  54. data/config/locales/sk.yml +63 -0
  55. data/config/locales/sl.yml +8 -0
  56. data/config/locales/so-SO.yml +1 -0
  57. data/config/locales/sr-CS.yml +1 -0
  58. data/config/locales/sv.yml +5 -1
  59. data/config/locales/sw-KE.yml +1 -0
  60. data/config/locales/ti-ER.yml +1 -0
  61. data/config/locales/tr-TR.yml +19 -13
  62. data/config/locales/vi-VN.yml +1 -0
  63. data/config/locales/vi.yml +1 -0
  64. data/config/locales/zh-CN.yml +60 -0
  65. data/config/locales/zh-TW.yml +1 -0
  66. data/db/migrate/20200609090533_check_legacy_tables.rb +114 -0
  67. data/db/migrate/20200610090533_remove_survey_answer_choices.rb +7 -0
  68. data/db/migrate/20200610090650_remove_survey_answer_options.rb +7 -0
  69. data/db/migrate/20200610090725_remove_survey_answers.rb +7 -0
  70. data/db/migrate/20200610090845_remove_survey_questions.rb +7 -0
  71. data/db/migrate/20200610105927_remove_survey_columns.rb +10 -0
  72. data/lib/decidim/surveys/admin_engine.rb +10 -0
  73. data/lib/decidim/surveys/component.rb +33 -5
  74. data/lib/decidim/surveys/test/factories.rb +1 -1
  75. data/lib/decidim/surveys/version.rb +1 -1
  76. metadata +74 -17
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1f920ed00a41af1c6ca47f27976d067c7f569e4c5420a33b3560a32db87ba4fd
4
- data.tar.gz: c5b68eb93b4df1518f1f914e38968a60ad784506ad79476538874683638bcc56
3
+ metadata.gz: 6aa22db7673c4df5bb5433441e1f07c60a40e4f7f3cfec9e5af332c0191d8591
4
+ data.tar.gz: c4a84adb23a3a0e5a7c63881a0fdd2f6956fd9a175edc5feacb45b0c8b8830e2
5
5
  SHA512:
6
- metadata.gz: a51c4bf33bf8e9aa717e81c5ede240b9f6427699c7cd6954435c4687f3ed6df660496427cf54cbf631622d5e810dd52887a78ae3936252fb1f790b8497714c51
7
- data.tar.gz: 541ffb6c00902abc8e37df0cdf70e2602842dafdbb4a9dd36587b5ac3107f7dc58abf873bcd3dfb8fe8dbaa828161518027d99e8852089c33c28c8c0edf8039d
6
+ metadata.gz: 05ca768ee9471e55510df58d4e478e0738c570b37f80d7c53f52016dfcb92d5fdeb54112ef10bcd66697e5c9343916d25654f424bb3aa1c1852f18be382d3d3f
7
+ data.tar.gz: 06a212a73a8b955a0c86a6fb20444336436dd7e14bec1062ba25a76f304b4d1b5982af396d836d3f9a4be371d8a3f1143d462a201fa5615640df981efdab919d
@@ -1,6 +1,10 @@
1
1
  @import "decidim/forms/forms";
2
2
 
3
- form.answer-questionnaire{
3
+ .answer-questionnaire{
4
+ label{
5
+ font-size: inherit;
6
+ }
7
+
4
8
  .radio-button-collection,
5
9
  .check-box-collection,
6
10
  .sortable-check-box-collection{
@@ -15,8 +19,10 @@ form.answer-questionnaire{
15
19
  }
16
20
  }
17
21
 
18
- label.questionnaire-question{
19
- font-weight: bold;
22
+ .questionnaire-question{
23
+ font-weight: 600;
24
+ line-height: 1.4;
25
+ margin-bottom: .3em;
20
26
  }
21
27
 
22
28
  .help-text{
@@ -30,4 +36,15 @@ form.answer-questionnaire{
30
36
  .last-sorted{
31
37
  margin-bottom: 1rem;
32
38
  }
39
+
40
+ &__steps{
41
+ font-size: .8rem;
42
+ }
43
+
44
+ &__submit{
45
+ display: flex;
46
+ align-items: baseline;
47
+ justify-content: space-between;
48
+ margin-top: 2rem;
49
+ }
33
50
  }
@@ -6,11 +6,22 @@ module Decidim
6
6
  # This controller allows the user to update a Page.
7
7
  class SurveysController < Admin::ApplicationController
8
8
  include Decidim::Forms::Admin::Concerns::HasQuestionnaire
9
+ include Decidim::Forms::Admin::Concerns::HasQuestionnaireAnswers
9
10
 
10
11
  def questionnaire_for
11
12
  survey
12
13
  end
13
14
 
15
+ # Specify the public url from which the survey can be viewed and answered
16
+ def public_url
17
+ Decidim::EngineRouter.main_proxy(current_component).survey_path(survey)
18
+ end
19
+
20
+ # Specify where to redirect after exporting a user response
21
+ def questionnaire_participant_answers_url(session_token)
22
+ Decidim::EngineRouter.admin_proxy(survey.component).show_survey_path(session_token: session_token)
23
+ end
24
+
14
25
  private
15
26
 
16
27
  def i18n_flashes_scope
@@ -5,9 +5,10 @@ module Decidim
5
5
  # Exposes the survey resource so users can view and answer them.
6
6
  class SurveysController < Decidim::Surveys::ApplicationController
7
7
  include Decidim::Forms::Concerns::HasQuestionnaire
8
+ include Decidim::ComponentPathHelper
8
9
  helper Decidim::Surveys::SurveyHelper
9
10
 
10
- delegate :allow_answers?, :allow_unregistered?, to: :current_settings
11
+ delegate :allow_unregistered?, to: :current_settings
11
12
 
12
13
  before_action :check_permissions
13
14
 
@@ -19,6 +20,16 @@ module Decidim
19
20
  survey
20
21
  end
21
22
 
23
+ protected
24
+
25
+ def allow_answers?
26
+ !current_component.published? || current_settings.allow_answers?
27
+ end
28
+
29
+ def form_path
30
+ main_component_path(current_component)
31
+ end
32
+
22
33
  private
23
34
 
24
35
  def i18n_flashes_scope
@@ -0,0 +1,32 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Decidim
4
+ module Surveys
5
+ class CleanSurveyAnswersJob < ApplicationJob
6
+ def perform(_event_name, data)
7
+ @component = data[:resource]
8
+ return unless component&.manifest_name == "surveys"
9
+
10
+ @survey = Survey.find_by(component: component)
11
+ return unless survey&.questionnaire
12
+
13
+ case data[:event_class]
14
+ when "Decidim::ComponentPublishedEvent"
15
+ clean_answers
16
+ end
17
+ end
18
+
19
+ private
20
+
21
+ attr_reader :survey, :component
22
+
23
+ def clean_answers
24
+ return unless survey.clean_after_publish?
25
+
26
+ survey.questionnaire.answers.destroy_all
27
+ component.settings[:clean_after_publish] = false
28
+ component.save
29
+ end
30
+ end
31
+ end
32
+ end
@@ -42,6 +42,10 @@ module Decidim
42
42
  !!current_settings[:allow_answers] == false &&
43
43
  previous_settings[:allow_answers] == true
44
44
  end
45
+
46
+ def clean_after_publish_changed?(previous_settings, current_settings)
47
+ current_settings[:clean_after_publish] != previous_settings[:clean_after_publish]
48
+ end
45
49
  # rubocop:enable Style/DoubleNegation
46
50
  end
47
51
  end
@@ -11,6 +11,10 @@ module Decidim
11
11
  component_manifest_name "surveys"
12
12
 
13
13
  validates :questionnaire, presence: true
14
+
15
+ def clean_after_publish?
16
+ component.settings.clean_after_publish?
17
+ end
14
18
  end
15
19
  end
16
20
  end
@@ -7,13 +7,19 @@ module Decidim
7
7
  def permissions
8
8
  return permission_action unless user
9
9
 
10
- return permission_action if permission_action.scope != :admin
10
+ return permission_action unless permission_action.scope == :admin
11
11
 
12
- return permission_action if permission_action.subject != :questionnaire
13
-
14
- case permission_action.action
15
- when :export_answers, :update
16
- permission_action.allow!
12
+ case permission_action.subject
13
+ when :questionnaire
14
+ case permission_action.action
15
+ when :export_answers, :update
16
+ permission_action.allow!
17
+ end
18
+ when :questionnaire_answers
19
+ case permission_action.action
20
+ when :index, :show, :export_response
21
+ permission_action.allow!
22
+ end
17
23
  end
18
24
 
19
25
  permission_action
@@ -9,9 +9,6 @@ module Decidim
9
9
  end
10
10
 
11
11
  def save
12
- return @registry if @registry
13
-
14
- @registry = []
15
12
  query.each do |key, results|
16
13
  cumulative_value = results[:cumulative]
17
14
  next if cumulative_value.zero?
@@ -23,10 +20,8 @@ module Decidim
23
20
  participatory_space_type: space_type, participatory_space_id: space_id,
24
21
  related_object_type: Decidim::Surveys::Survey.name, related_object_id: survey_id)
25
22
  record.assign_attributes(cumulative: cumulative_value, quantity: quantity_value)
26
- @registry << record
23
+ record.save!
27
24
  end
28
- @registry.each(&:save!)
29
- @registry
30
25
  end
31
26
 
32
27
  private
@@ -49,8 +44,7 @@ module Decidim
49
44
  end
50
45
 
51
46
  def retrieve_surveys
52
- components = Decidim::Component.where(participatory_space: retrieve_participatory_spaces).published
53
- Decidim::Surveys::Survey.where(component: components)
47
+ Decidim::Surveys::Survey.where(component: visible_component_ids_from_spaces(retrieve_participatory_spaces))
54
48
  end
55
49
 
56
50
  def retrieve_questionnaires(survey)
@@ -7,7 +7,6 @@ module Decidim
7
7
  description "A survey"
8
8
 
9
9
  field :id, !types.ID, "The internal ID for this survey"
10
- field :publishedAt, Decidim::Core::DateTimeType, "The time this survey was published", property: :published_at
11
10
  field :createdAt, Decidim::Core::DateTimeType, "The time this survey was created", property: :created_at
12
11
  field :updatedAt, Decidim::Core::DateTimeType, "The time this survey was updated", property: :updated_at
13
12
  field :questionnaire, Decidim::Forms::QuestionnaireType, "The questionnaire for this survey"
@@ -0,0 +1 @@
1
+ am:
@@ -0,0 +1,10 @@
1
+ bg:
2
+ activemodel:
3
+ models:
4
+ decidim/surveys/closed_survey_event: Анкетата завърши
5
+ decidim/surveys/opened_survey_event: Анкетата започна
6
+ activerecord:
7
+ models:
8
+ decidim/surveys/survey:
9
+ one: Анкета
10
+ other: Анкети
@@ -0,0 +1,10 @@
1
+ bg:
2
+ activemodel:
3
+ models:
4
+ decidim/surveys/closed_survey_event: Анкетата завърши
5
+ decidim/surveys/opened_survey_event: Анкетата започна
6
+ activerecord:
7
+ models:
8
+ decidim/surveys/survey:
9
+ one: Анкета
10
+ other: Анкети
@@ -20,6 +20,9 @@ ca:
20
20
  settings:
21
21
  global:
22
22
  announcement: Avís
23
+ clean_after_publish: Esborrar les respostes en publicar l'enquesta
24
+ scope_id: Àmbit
25
+ scopes_enabled: Àmbits habilitats
23
26
  step:
24
27
  allow_answers: Permetre respostes
25
28
  allow_unregistered: Permet a usuàries no registrades contestar l'enquesta
@@ -24,6 +24,9 @@ cs:
24
24
  settings:
25
25
  global:
26
26
  announcement: Oznámení
27
+ clean_after_publish: Odstranit odpovědi při publikování ankety
28
+ scope_id: Oblast působnosti
29
+ scopes_enabled: Oblasti působnosti povoleny
27
30
  step:
28
31
  allow_answers: Povolte odpovědi
29
32
  allow_unregistered: Umožnit neregistrovaným uživatelům odpovědět na průzkum
@@ -49,7 +52,7 @@ cs:
49
52
  surveys:
50
53
  admin:
51
54
  exports:
52
- survey_user_answers: Zjištění uživatelských odpovědí
55
+ survey_user_answers: Odpovědi účastníka na průzkum
53
56
  surveys:
54
57
  update:
55
58
  invalid: Při ukládání průzkumu došlo k chybám.
@@ -0,0 +1 @@
1
+ da:
@@ -0,0 +1 @@
1
+ da:
@@ -20,19 +20,24 @@ de:
20
20
  settings:
21
21
  global:
22
22
  announcement: Ankündigung
23
+ clean_after_publish: Antworten bei Veröffentlichung des Fragebogens löschen
24
+ scope_id: Bereich
25
+ scopes_enabled: Bereiche aktiviert
23
26
  step:
24
27
  allow_answers: Erlaube Antworten
28
+ allow_unregistered: Nicht registrierten Benutzern die Beantwortung des Fragebogens erlauben
29
+ allow_unregistered_help: Wenn diese Option aktiviert ist, muss man nicht angemeldet sein, um den Fragebogen zu beantworten. Das kann zu schlechten oder unzuverlässigen Daten führen und ist mehr anfällig für automatisierte Angriffe. Verwenden Sie dies mit Bedacht!
25
30
  announcement: Ankündigung
26
31
  events:
27
32
  surveys:
28
33
  survey_closed:
29
34
  email_intro: Die Umfrage %{resource_title} in %{participatory_space_title} wurde geschlossen.
30
- email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{participatory_space_title}. Sie können nach dem vorherigen Link keine Benachrichtigungen mehr erhalten.
35
+ email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{participatory_space_title} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link.
31
36
  email_subject: Eine Umfrage ist in %{participatory_space_title}
32
37
  notification_title: Die Umfrage <a href="%{resource_path}">%{resource_title}</a> in <a href="%{participatory_space_url}">%{participatory_space_title}</a> ist beendet.
33
38
  survey_opened:
34
- email_intro: 'Die Umfrage %{resource_title} in %{participatory_space_title} ist jetzt geöffnet. Sie können von dieser Seite aus teilnehmen:'
35
- email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{participatory_space_title}. Sie können nach dem vorherigen Link keine Benachrichtigungen mehr erhalten.
39
+ email_intro: 'Die Umfrage %{resource_title} in %{participatory_space_title} ist jetzt geöffnet. Sie können auf dieser Seite teilnehmen:'
40
+ email_outro: Sie haben diese Benachrichtigung erhalten, weil Sie %{participatory_space_title} folgen. Falls Sie keine solchen Benachrichtigungen mehr erhalten möchten, besuchen Sie den obigen Link.
36
41
  email_subject: Eine neue Umfrage in %{participatory_space_title}
37
42
  notification_title: Die Umfrage <a href="%{resource_path}">%{resource_title}</a> in <a href="%{participatory_space_url}">%{participatory_space_title}</a> ist jetzt geöffnet.
38
43
  metrics:
@@ -53,4 +58,5 @@ de:
53
58
  surveys:
54
59
  answer:
55
60
  invalid: Bei der Beantwortung der Umfrage sind Fehler aufgetreten.
61
+ spam_detected: Bei der Beantwortung des Fragebogens sind Fehler aufgetreten. Möglicherweise waren Sie zu schnell. Versuchen Sie es vielleicht erneut.
56
62
  success: Umfrage erfolgreich beantwortet.
@@ -1 +1,59 @@
1
1
  el:
2
+ activemodel:
3
+ models:
4
+ decidim/surveys/closed_survey_event: Η έρευνα έληξε
5
+ decidim/surveys/opened_survey_event: Η έρευνα ξεκίνησε
6
+ activerecord:
7
+ models:
8
+ decidim/surveys/survey:
9
+ one: Έρευνα
10
+ other: Έρευνες
11
+ decidim/surveys/survey_answer:
12
+ one: Απάντηση
13
+ other: Απαντήσεις
14
+ decidim:
15
+ components:
16
+ surveys:
17
+ actions:
18
+ answer: Απάντηση
19
+ name: Έρευνα
20
+ settings:
21
+ global:
22
+ announcement: Ανακοίνωση
23
+ step:
24
+ allow_answers: Να επιτρέπονται απαντήσεις
25
+ allow_unregistered: Να επιτρέπεται σε μη εγγεγραμμένους χρήστες να απαντήσουν στην έρευνα
26
+ allow_unregistered_help: Εάν είναι ενεργή, δεν απαιτείται σύνδεση για απάντηση στην έρευνα. Αυτό μπορεί να οδηγήσει σε κακής ποιότητας ή αναξιόπιστα δεδομένα και θα είναι πιο ευάλωτη σε αυτοματοποιημένες επιθέσεις. Χρησιμοποιήστε την με προσοχή!
27
+ announcement: Ανακοίνωση
28
+ events:
29
+ surveys:
30
+ survey_closed:
31
+ email_intro: Η έρευνα %{resource_title} στον χώρο συμμετοχής %{participatory_space_title} έκλεισε.
32
+ email_outro: Λάβατε αυτήν την ειδοποίηση επειδή ακολουθείτε τον χώρο συμμετοχής %{participatory_space_title}. Μπορείτε να διακόψετε τη λήψη ειδοποιήσεων ακολουθώντας τον προηγούμενο σύνδεσμο.
33
+ email_subject: Μια έρευνα ολοκληρώθηκε στον χώρο συμμετοχής %{participatory_space_title}
34
+ notification_title: Η έρευνα <a href="%{resource_path}">%{resource_title}</a> στον χώρο συμμετοχής <a href="%{participatory_space_url}">%{participatory_space_title}</a> ολοκληρώθηκε.
35
+ survey_opened:
36
+ email_intro: 'Η έρευνα %{resource_title} στον χώρο συμμετοχής %{participatory_space_title} είναι τώρα ανοιχτή. Μπορείτε να συμμετάσχετε σε αυτήν από αυτήν τη σελίδα:'
37
+ email_outro: Λάβατε αυτήν την ειδοποίηση επειδή ακολουθείτε τον χώρο συμμετοχής %{participatory_space_title}. Μπορείτε να διακόψετε τη λήψη ειδοποιήσεων ακολουθώντας τον προηγούμενο σύνδεσμο.
38
+ email_subject: Μια νέα έρευνα στον χώρο συμμετοχής %{participatory_space_title}
39
+ notification_title: Η έρευνα <a href="%{resource_path}">%{resource_title}</a> στον χώρο συμμετοχής <a href="%{participatory_space_url}">%{participatory_space_title}</a> είναι τώρα ανοιχτή.
40
+ metrics:
41
+ survey_answers:
42
+ description: Αριθμός ερευνών που απαντήθηκαν από συμμετέχοντες
43
+ object: απαντήσεις σε έρευνες
44
+ title: Απαντήσεις σε έρευνες
45
+ surveys:
46
+ admin:
47
+ exports:
48
+ survey_user_answers: Απαντήσεις συμμετεχόντων στην έρευνα
49
+ surveys:
50
+ update:
51
+ invalid: Υπήρξε ένα πρόβλημα κατά την αποθήκευση της έρευνας.
52
+ success: Η έρευνα αποθηκεύτηκε με επιτυχία.
53
+ last_activity:
54
+ new_survey_at_html: "<span>Νέα έρευνα σε %{link}</span>"
55
+ surveys:
56
+ answer:
57
+ invalid: Υπήρξε ένα πρόβλημα κατά την απάντηση στην έρευνα.
58
+ spam_detected: Υπήρξε ένα πρόβλημα κατά την απάντηση της φόρμας. Ίσως απαντήσατε πολύ γρήγορα, μπορείτε να δοκιμάσετε ξανά;
59
+ success: Η έρευνα απαντήθηκε με επιτυχία.
@@ -21,6 +21,9 @@ en:
21
21
  settings:
22
22
  global:
23
23
  announcement: Announcement
24
+ clean_after_publish: Delete answers when publishing the survey
25
+ scope_id: Scope
26
+ scopes_enabled: Scopes enabled
24
27
  step:
25
28
  allow_answers: Allow answers
26
29
  allow_unregistered: Allow unregistered users to answer the survey
@@ -0,0 +1 @@
1
+ eo:
@@ -20,6 +20,9 @@ es-MX:
20
20
  settings:
21
21
  global:
22
22
  announcement: Anuncio
23
+ clean_after_publish: Borrar respuestas al publicar la encuesta
24
+ scope_id: Ámbito
25
+ scopes_enabled: Ámbitos habilitados
23
26
  step:
24
27
  allow_answers: Permitir respuestas
25
28
  allow_unregistered: Permitir a las usuarias no registradas responder a la encuesta
@@ -20,6 +20,9 @@ es-PY:
20
20
  settings:
21
21
  global:
22
22
  announcement: Anuncio
23
+ clean_after_publish: Borrar respuestas al publicar la encuesta
24
+ scope_id: Ámbito
25
+ scopes_enabled: Ámbitos habilitados
23
26
  step:
24
27
  allow_answers: Permitir respuestas
25
28
  allow_unregistered: Permitir a las usuarias no registradas responder a la encuesta
@@ -20,6 +20,9 @@ es:
20
20
  settings:
21
21
  global:
22
22
  announcement: Aviso
23
+ clean_after_publish: Borrar respuestas al publicar la encuesta
24
+ scope_id: Ámbito
25
+ scopes_enabled: Ámbitos habilitados
23
26
  step:
24
27
  allow_answers: Permitir respuestas
25
28
  allow_unregistered: Permitir a las usuarias no registradas responder a la encuesta
@@ -0,0 +1 @@
1
+ et:
@@ -0,0 +1 @@
1
+ et: