decidim-surveys 0.22.0 → 0.23.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/app/controllers/decidim/surveys/admin/surveys_controller.rb +11 -0
- data/app/controllers/decidim/surveys/surveys_controller.rb +7 -1
- data/app/jobs/decidim/surveys/clean_survey_answers_job.rb +32 -0
- data/app/jobs/decidim/surveys/settings_change_job.rb +4 -0
- data/app/models/decidim/surveys/survey.rb +4 -0
- data/app/permissions/decidim/surveys/admin/permissions.rb +12 -6
- data/config/locales/am-ET.yml +1 -0
- data/config/locales/bg.yml +10 -0
- data/config/locales/ca.yml +3 -0
- data/config/locales/cs.yml +3 -0
- data/config/locales/da.yml +1 -0
- data/config/locales/de.yml +3 -0
- data/config/locales/en.yml +3 -0
- data/config/locales/eo.yml +1 -0
- data/config/locales/es-MX.yml +3 -0
- data/config/locales/es-PY.yml +3 -0
- data/config/locales/es.yml +3 -0
- data/config/locales/et.yml +1 -0
- data/config/locales/fi-plain.yml +3 -0
- data/config/locales/fi.yml +3 -0
- data/config/locales/fr-CA.yml +3 -0
- data/config/locales/fr.yml +3 -0
- data/config/locales/hr.yml +1 -0
- data/config/locales/is.yml +25 -0
- data/config/locales/it.yml +1 -0
- data/config/locales/ja-JP.yml +1 -0
- data/config/locales/ja.yml +60 -0
- data/config/locales/ko-KR.yml +1 -0
- data/config/locales/ko.yml +1 -0
- data/config/locales/lt.yml +1 -0
- data/config/locales/{lv-LV.yml → lv.yml} +0 -0
- data/config/locales/mt.yml +1 -0
- data/config/locales/nl.yml +3 -0
- data/config/locales/om-ET.yml +1 -0
- data/config/locales/pl.yml +17 -14
- data/config/locales/pt.yml +1 -0
- data/config/locales/ro-RO.yml +1 -0
- data/config/locales/so-SO.yml +1 -0
- data/config/locales/sv.yml +1 -0
- data/config/locales/ti-ER.yml +1 -0
- data/config/locales/vi-VN.yml +1 -0
- data/config/locales/vi.yml +1 -0
- data/config/locales/zh-CN.yml +60 -0
- data/config/locales/zh-TW.yml +1 -0
- data/db/migrate/20200609090533_check_legacy_tables.rb +1 -0
- data/lib/decidim/surveys/admin_engine.rb +10 -0
- data/lib/decidim/surveys/component.rb +19 -5
- data/lib/decidim/surveys/test/factories.rb +1 -1
- data/lib/decidim/surveys/version.rb +1 -1
- metadata +49 -15
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 438c473b61d9bc07cad2c8e3ce3c6c56f900ae0a4aaade52db7dffbcb1e4a433
|
4
|
+
data.tar.gz: 182793a9e4e0fee42249e40ec2862f4a756344656f5010c055167c0477240559
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: fd718b0903ddd737e42ea62e71039e4fdc34bf7c5cc13444f8b1f4353a5d197dd0b95cbd20434d1c52cbefe6c74d82ed64fb590732fddbe6f1f1a17ea5df685d
|
7
|
+
data.tar.gz: 92a9f208813e602e656b27f7549da9aafbfb88da073f2d2280d5eddde519fd0756a95223f5860cdbb4f3c207406a0420e4e0dbac8a19f6b5ae32129485dab7c0
|
@@ -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
|
@@ -8,7 +8,7 @@ module Decidim
|
|
8
8
|
include Decidim::ComponentPathHelper
|
9
9
|
helper Decidim::Surveys::SurveyHelper
|
10
10
|
|
11
|
-
delegate :
|
11
|
+
delegate :allow_unregistered?, to: :current_settings
|
12
12
|
|
13
13
|
before_action :check_permissions
|
14
14
|
|
@@ -20,6 +20,12 @@ module Decidim
|
|
20
20
|
survey
|
21
21
|
end
|
22
22
|
|
23
|
+
protected
|
24
|
+
|
25
|
+
def allow_answers?
|
26
|
+
!current_component.published? || current_settings.allow_answers?
|
27
|
+
end
|
28
|
+
|
23
29
|
def form_path
|
24
30
|
main_component_path(current_component)
|
25
31
|
end
|
@@ -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
|
@@ -7,13 +7,19 @@ module Decidim
|
|
7
7
|
def permissions
|
8
8
|
return permission_action unless user
|
9
9
|
|
10
|
-
return permission_action
|
10
|
+
return permission_action unless permission_action.scope == :admin
|
11
11
|
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
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
|
@@ -0,0 +1 @@
|
|
1
|
+
am:
|
data/config/locales/ca.yml
CHANGED
@@ -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
|
data/config/locales/cs.yml
CHANGED
@@ -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
|
@@ -0,0 +1 @@
|
|
1
|
+
da:
|
data/config/locales/de.yml
CHANGED
@@ -20,6 +20,9 @@ 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
|
25
28
|
allow_unregistered: Nicht registrierten Benutzern die Beantwortung des Fragebogens erlauben
|
data/config/locales/en.yml
CHANGED
@@ -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:
|
data/config/locales/es-MX.yml
CHANGED
@@ -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
|
data/config/locales/es-PY.yml
CHANGED
@@ -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
|
data/config/locales/es.yml
CHANGED
@@ -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:
|
data/config/locales/fi-plain.yml
CHANGED
@@ -20,6 +20,9 @@ fi-pl:
|
|
20
20
|
settings:
|
21
21
|
global:
|
22
22
|
announcement: Ilmoitus
|
23
|
+
clean_after_publish: Poista vastaukset julkaistaessa kysely
|
24
|
+
scope_id: Teema
|
25
|
+
scopes_enabled: Teemat käytössä
|
23
26
|
step:
|
24
27
|
allow_answers: Salli vastaukset
|
25
28
|
allow_unregistered: Salli rekisteröitymättömien käyttäjien vastata tähän kyselyyn
|
data/config/locales/fi.yml
CHANGED
@@ -20,6 +20,9 @@ fi:
|
|
20
20
|
settings:
|
21
21
|
global:
|
22
22
|
announcement: Ilmoitus
|
23
|
+
clean_after_publish: Poista vastaukset julkaistaessa kysely
|
24
|
+
scope_id: Teema
|
25
|
+
scopes_enabled: Teemat käytössä
|
23
26
|
step:
|
24
27
|
allow_answers: Salli vastaukset
|
25
28
|
allow_unregistered: Salli rekisteröitymättömien käyttäjien vastata tähän kyselyyn
|
data/config/locales/fr-CA.yml
CHANGED
@@ -20,6 +20,9 @@ fr-CA:
|
|
20
20
|
settings:
|
21
21
|
global:
|
22
22
|
announcement: Annonce
|
23
|
+
clean_after_publish: Supprimer les réponses lors de la publication du sondage
|
24
|
+
scope_id: Secteur
|
25
|
+
scopes_enabled: Secteurs activés
|
23
26
|
step:
|
24
27
|
allow_answers: Autoriser les réponses
|
25
28
|
allow_unregistered: Autoriser les utilisateurs non inscrits à répondre à l'enquête
|
data/config/locales/fr.yml
CHANGED
@@ -20,6 +20,9 @@ fr:
|
|
20
20
|
settings:
|
21
21
|
global:
|
22
22
|
announcement: Annonce
|
23
|
+
clean_after_publish: Supprimer les réponses lors de la publication de l'enquête
|
24
|
+
scope_id: Secteur
|
25
|
+
scopes_enabled: Secteurs activés
|
23
26
|
step:
|
24
27
|
allow_answers: Autoriser les réponses
|
25
28
|
allow_unregistered: Autoriser les utilisateurs non inscrits à répondre à l'enquête
|
@@ -0,0 +1 @@
|
|
1
|
+
hr:
|
@@ -0,0 +1,25 @@
|
|
1
|
+
is:
|
2
|
+
decidim:
|
3
|
+
components:
|
4
|
+
surveys:
|
5
|
+
actions:
|
6
|
+
answer: Svara
|
7
|
+
name: Könnun
|
8
|
+
settings:
|
9
|
+
global:
|
10
|
+
announcement: Tilkynning
|
11
|
+
step:
|
12
|
+
allow_answers: Leyfa svörum
|
13
|
+
announcement: Tilkynning
|
14
|
+
events:
|
15
|
+
surveys:
|
16
|
+
survey_closed:
|
17
|
+
email_intro: Könnunin %{resource_title} í %{participatory_space_title} hefur verið lokuð.
|
18
|
+
email_outro: Þú hefur fengið þessa tilkynningu vegna þess að þú fylgist með %{participatory_space_title}. Þú getur hætt við að fá tilkynningar eftir fyrri tengilinn.
|
19
|
+
email_subject: Könnun er lokið í %{participatory_space_title}
|
20
|
+
notification_title: Könnunin <a href="%{resource_path}">%{resource_title}</a> í <a href="%{participatory_space_url}">%{participatory_space_title}</a> er lokið.
|
21
|
+
survey_opened:
|
22
|
+
email_intro: 'Könnunin %{resource_title} í %{participatory_space_title} er nú opin. Þú getur tekið þátt í henni frá þessari síðu:'
|
23
|
+
email_outro: Þú hefur fengið þessa tilkynningu vegna þess að þú fylgist með %{participatory_space_title}. Þú getur hætt við að fá tilkynningar eftir fyrri tengilinn.
|
24
|
+
email_subject: Ný könnun á %{participatory_space_title}
|
25
|
+
notification_title: Könnunin <a href="%{resource_path}">%{resource_title}</a> í <a href="%{participatory_space_url}">%{participatory_space_title}</a> er nú opin.
|
data/config/locales/it.yml
CHANGED
@@ -20,6 +20,7 @@ it:
|
|
20
20
|
settings:
|
21
21
|
global:
|
22
22
|
announcement: Annuncio
|
23
|
+
clean_after_publish: Eliminare le risposte quando si pubblica il sondaggio
|
23
24
|
step:
|
24
25
|
allow_answers: Consenti risposte
|
25
26
|
allow_unregistered: Consenti agli utenti non registrati di rispondere al sondaggio
|
data/config/locales/ja-JP.yml
CHANGED
@@ -0,0 +1,60 @@
|
|
1
|
+
ja:
|
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
|
+
other: 調査
|
10
|
+
decidim/surveys/survey_answer:
|
11
|
+
other: 回答
|
12
|
+
decidim:
|
13
|
+
components:
|
14
|
+
surveys:
|
15
|
+
actions:
|
16
|
+
answer: 回答
|
17
|
+
name: 調査
|
18
|
+
settings:
|
19
|
+
global:
|
20
|
+
announcement: お知らせ
|
21
|
+
clean_after_publish: アンケートを公開するときに回答を削除する
|
22
|
+
scope_id: スコープ
|
23
|
+
scopes_enabled: スコープが有効
|
24
|
+
step:
|
25
|
+
allow_answers: 回答を許可
|
26
|
+
allow_unregistered: 未登録ユーザーがアンケートに回答できるようにする
|
27
|
+
allow_unregistered_help: 有効な場合、アンケートに回答するためにログインは必要ありません。 これにより、データが貧弱または信頼できない可能性があり、自動攻撃に対してより脆弱になります。注意して使用してください!
|
28
|
+
announcement: お知らせ
|
29
|
+
events:
|
30
|
+
surveys:
|
31
|
+
survey_closed:
|
32
|
+
email_intro: '%{resource_title} の調査 %{participatory_space_title} はクローズされました。'
|
33
|
+
email_outro: '%{participatory_space_title}をフォローしているため、この通知を受け取りました。前のリンクに続く通知の受信を停止することができます。'
|
34
|
+
email_subject: '%{participatory_space_title} でアンケートが完了しました'
|
35
|
+
notification_title: <a href="%{resource_path}">%{resource_title}の</a> <a href="%{participatory_space_url}">%{participatory_space_title}</a> の調査は終了しました。
|
36
|
+
survey_opened:
|
37
|
+
email_intro: '%{resource_title} のアンケート %{participatory_space_title} が公開されました。このページから参加できます:'
|
38
|
+
email_outro: '%{participatory_space_title}をフォローしているため、この通知を受け取りました。前のリンクに続く通知の受信を停止することができます。'
|
39
|
+
email_subject: '%{participatory_space_title} での新しい調査'
|
40
|
+
notification_title: <a href="%{resource_path}">%{resource_title}の</a> <a href="%{participatory_space_url}">%{participatory_space_title}の調査</a> が公開されました。
|
41
|
+
metrics:
|
42
|
+
survey_answers:
|
43
|
+
description: 回答したアンケート数
|
44
|
+
object: アンケートに対する答えは
|
45
|
+
title: アンケートへの回答
|
46
|
+
surveys:
|
47
|
+
admin:
|
48
|
+
exports:
|
49
|
+
survey_user_answers: アンケート参加者の回答
|
50
|
+
surveys:
|
51
|
+
update:
|
52
|
+
invalid: 調査の保存中に問題が発生しました。
|
53
|
+
success: アンケートを保存しました。
|
54
|
+
last_activity:
|
55
|
+
new_survey_at_html: "<span>新しい調査 %{link}</span>"
|
56
|
+
surveys:
|
57
|
+
answer:
|
58
|
+
invalid: アンケートの回答に問題がありました。
|
59
|
+
spam_detected: フォームに応答する際に問題が発生しました。もう一度試してみてください。
|
60
|
+
success: アンケートは正常に回答しました。
|
@@ -0,0 +1 @@
|
|
1
|
+
ko:
|
@@ -0,0 +1 @@
|
|
1
|
+
ko:
|
@@ -0,0 +1 @@
|
|
1
|
+
lt:
|
File without changes
|
@@ -0,0 +1 @@
|
|
1
|
+
mt:
|
data/config/locales/nl.yml
CHANGED
@@ -20,6 +20,9 @@ nl:
|
|
20
20
|
settings:
|
21
21
|
global:
|
22
22
|
announcement: Aankondiging
|
23
|
+
clean_after_publish: Verwijder antwoorden bij publicatie van de enquête
|
24
|
+
scope_id: Scope
|
25
|
+
scopes_enabled: Scopes ingeschakeld
|
23
26
|
step:
|
24
27
|
allow_answers: Antwoorden toestaan
|
25
28
|
allow_unregistered: Sta niet-geregistreerde gebruikers toe om de enquête te beantwoorden
|
@@ -0,0 +1 @@
|
|
1
|
+
om:
|
data/config/locales/pl.yml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
pl:
|
2
2
|
activemodel:
|
3
3
|
models:
|
4
|
-
decidim/surveys/closed_survey_event: Ankieta
|
4
|
+
decidim/surveys/closed_survey_event: Ankieta zamknięta
|
5
5
|
decidim/surveys/opened_survey_event: Rozpoczęto ankietę
|
6
6
|
activerecord:
|
7
7
|
models:
|
@@ -24,40 +24,43 @@ pl:
|
|
24
24
|
settings:
|
25
25
|
global:
|
26
26
|
announcement: Ogłoszenie
|
27
|
+
clean_after_publish: Usuń odpowiedzi podczas publikowania ankiety
|
28
|
+
scope_id: Zakres
|
29
|
+
scopes_enabled: Zakresy włączone
|
27
30
|
step:
|
28
|
-
allow_answers: Pozwól
|
31
|
+
allow_answers: Pozwól na wypełnianie
|
29
32
|
allow_unregistered: Pozwól niezarejestrowanym użytkownikom wypełnić ankietę
|
30
|
-
allow_unregistered_help: Jeśli jest
|
33
|
+
allow_unregistered_help: Jeśli jest aktywna, do wypełnienia ankiety nie będzie wymagane logowanie. Może to doprowadzić do słabej jakości lub niewiarygodnych danych i ankieta będzie bardziej podatna na automatyczne ataki. Zalecamy ostrożność!
|
31
34
|
announcement: Ogłoszenie
|
32
35
|
events:
|
33
36
|
surveys:
|
34
37
|
survey_closed:
|
35
38
|
email_intro: Ankieta %{resource_title} w %{participatory_space_title} została zamknięta.
|
36
|
-
email_outro: Otrzymałeś to powiadomienie, ponieważ obserwujesz %{participatory_space_title}. Możesz przestać otrzymywać powiadomienia po
|
37
|
-
email_subject: Ankieta
|
39
|
+
email_outro: Otrzymałeś to powiadomienie, ponieważ obserwujesz %{participatory_space_title}. Możesz przestać otrzymywać powiadomienia po kliknięciu w poprzedni link.
|
40
|
+
email_subject: Ankieta w %{participatory_space_title} została zakończona
|
38
41
|
notification_title: Ankieta <a href="%{resource_path}">%{resource_title}</a> w <a href="%{participatory_space_url}">%{participatory_space_title}</a> została zakończona.
|
39
42
|
survey_opened:
|
40
|
-
email_intro: 'Ankieta %{resource_title} w %{participatory_space_title} jest teraz otwarta. Możesz
|
41
|
-
email_outro: Otrzymałeś to powiadomienie, ponieważ obserwujesz %{participatory_space_title}. Możesz przestać otrzymywać powiadomienia po
|
43
|
+
email_intro: 'Ankieta %{resource_title} w %{participatory_space_title} jest teraz otwarta. Możesz ją wypełnić na tej stronie:'
|
44
|
+
email_outro: Otrzymałeś to powiadomienie, ponieważ obserwujesz %{participatory_space_title}. Możesz przestać otrzymywać powiadomienia po kliknięciu w poprzedni link.
|
42
45
|
email_subject: Nowa ankieta w %{participatory_space_title}
|
43
46
|
notification_title: Ankieta <a href="%{resource_path}">%{resource_title}</a> w <a href="%{participatory_space_url}">%{participatory_space_title}</a> jest teraz otwarta.
|
44
47
|
metrics:
|
45
48
|
survey_answers:
|
46
|
-
description: Liczba ankiet
|
49
|
+
description: Liczba ankiet wypełnionych przez użytkowników
|
47
50
|
object: odpowiedzi na ankiety
|
48
51
|
title: Odpowiedzi na ankiety
|
49
52
|
surveys:
|
50
53
|
admin:
|
51
54
|
exports:
|
52
|
-
survey_user_answers: Odpowiedzi na pytania
|
55
|
+
survey_user_answers: Odpowiedzi użytkowników na pytania z ankiety
|
53
56
|
surveys:
|
54
57
|
update:
|
55
|
-
invalid: Podczas zapisywania ankiety
|
58
|
+
invalid: Podczas zapisywania ankiety wystąpił błąd.
|
56
59
|
success: Ankieta została zapisana pomyślnie.
|
57
60
|
last_activity:
|
58
|
-
new_survey_at_html: "<span>Nowa ankieta
|
61
|
+
new_survey_at_html: "<span>Nowa ankieta %{link}</span>"
|
59
62
|
surveys:
|
60
63
|
answer:
|
61
|
-
invalid: Podczas
|
62
|
-
spam_detected: Wystąpił błąd podczas
|
63
|
-
success: Twoja ankieta została
|
64
|
+
invalid: Podczas wypełniania ankiety pojawił się błąd.
|
65
|
+
spam_detected: Wystąpił błąd podczas wypełniania formularza. Być może zostało to zrobione zbyt szybko, czy możesz spróbować ponownie?
|
66
|
+
success: Twoja ankieta została wypełniona.
|
data/config/locales/pt.yml
CHANGED
data/config/locales/ro-RO.yml
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
so:
|
data/config/locales/sv.yml
CHANGED
@@ -0,0 +1 @@
|
|
1
|
+
ti:
|
@@ -0,0 +1 @@
|
|
1
|
+
vi:
|
@@ -0,0 +1 @@
|
|
1
|
+
vi:
|
@@ -0,0 +1,60 @@
|
|
1
|
+
zh-CN:
|
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
|
+
other: 调查
|
10
|
+
decidim/surveys/survey_answer:
|
11
|
+
other: 答案
|
12
|
+
decidim:
|
13
|
+
components:
|
14
|
+
surveys:
|
15
|
+
actions:
|
16
|
+
answer: 答案
|
17
|
+
name: 调查
|
18
|
+
settings:
|
19
|
+
global:
|
20
|
+
announcement: 通 知
|
21
|
+
clean_after_publish: 在发布调查时删除答案
|
22
|
+
scope_id: 范围
|
23
|
+
scopes_enabled: 范围已启用
|
24
|
+
step:
|
25
|
+
allow_answers: 允许答案
|
26
|
+
allow_unregistered: 允许未注册用户回答调查
|
27
|
+
allow_unregistered_help: 如果激活,将不需要登录才能回答调查。 这可能导致数据不准确或不可靠,更容易受到自动攻击。请谨慎使用!
|
28
|
+
announcement: 通 知
|
29
|
+
events:
|
30
|
+
surveys:
|
31
|
+
survey_closed:
|
32
|
+
email_intro: '%{resource_title} 在 %{participatory_space_title} 中的调查已被关闭。'
|
33
|
+
email_outro: 您收到此通知是因为您正在关注 %{participatory_space_title}。您可以停止收到跟随上一个链接的通知。
|
34
|
+
email_subject: 调查已在 %{participatory_space_title} 完成
|
35
|
+
notification_title: 调查 <a href="%{resource_path}">%{resource_title}</a> 在 <a href="%{participatory_space_url}">%{participatory_space_title}</a> 已完成。
|
36
|
+
survey_opened:
|
37
|
+
email_intro: '调查 %{resource_title} %{participatory_space_title} 现已打开。您可以从这个页面参与:'
|
38
|
+
email_outro: 您收到此通知是因为您正在关注 %{participatory_space_title}。您可以停止收到跟随上一个链接的通知。
|
39
|
+
email_subject: '%{participatory_space_title} 的新调查'
|
40
|
+
notification_title: <a href="%{resource_path}">%{resource_title}</a> 在 <a href="%{participatory_space_url}">%{participatory_space_title}</a> 中的调查现已打开。
|
41
|
+
metrics:
|
42
|
+
survey_answers:
|
43
|
+
description: 参与者回答的调查次数
|
44
|
+
object: 调查答案
|
45
|
+
title: 对调查的答复
|
46
|
+
surveys:
|
47
|
+
admin:
|
48
|
+
exports:
|
49
|
+
survey_user_answers: 调查参与者答案
|
50
|
+
surveys:
|
51
|
+
update:
|
52
|
+
invalid: 保存调查时出现问题。
|
53
|
+
success: 调查保存成功。
|
54
|
+
last_activity:
|
55
|
+
new_survey_at_html: "<span>在 %{link}上的新调查</span>"
|
56
|
+
surveys:
|
57
|
+
answer:
|
58
|
+
invalid: 回答调查时出现问题。
|
59
|
+
spam_detected: 回答表单时出现问题。可能你太快了,你可以再试一次吗?
|
60
|
+
success: 调查回答成功。
|
@@ -0,0 +1 @@
|
|
1
|
+
zh-TW:
|
@@ -10,10 +10,20 @@ module Decidim
|
|
10
10
|
paths["lib/tasks"] = nil
|
11
11
|
|
12
12
|
routes do
|
13
|
+
get "/answer/:session_token", to: "surveys#show", as: :show_survey
|
14
|
+
get "/answer/:session_token/export", to: "surveys#export_response", as: :export_response_survey
|
15
|
+
get "/answers", to: "surveys#index", as: :index_survey
|
16
|
+
get "/answer_options", to: "surveys#answer_options", as: :answer_options_survey
|
13
17
|
put "/", to: "surveys#update", as: :survey
|
14
18
|
root to: "surveys#edit"
|
15
19
|
end
|
16
20
|
|
21
|
+
initializer "decidim.notifications.components" do
|
22
|
+
Decidim::EventsManager.subscribe(/^decidim\.events\.components/) do |event_name, data|
|
23
|
+
CleanSurveyAnswersJob.perform_later(event_name, data)
|
24
|
+
end
|
25
|
+
end
|
26
|
+
|
17
27
|
def load_seed
|
18
28
|
nil
|
19
29
|
end
|
@@ -43,7 +43,7 @@ Decidim.register_component(:surveys) do |component|
|
|
43
43
|
surveys.count
|
44
44
|
end
|
45
45
|
|
46
|
-
component.register_stat :answers_count, priority: Decidim::StatsRegistry::MEDIUM_PRIORITY do |components, start_at, end_at|
|
46
|
+
component.register_stat :answers_count, primary: true, priority: Decidim::StatsRegistry::MEDIUM_PRIORITY do |components, start_at, end_at|
|
47
47
|
surveys = Decidim::Surveys::Survey.includes(:questionnaire).where(component: components)
|
48
48
|
answers = Decidim::Forms::Answer.where(questionnaire: surveys.map(&:questionnaire))
|
49
49
|
answers = answers.where("created_at >= ?", start_at) if start_at.present?
|
@@ -55,7 +55,10 @@ Decidim.register_component(:surveys) do |component|
|
|
55
55
|
component.actions = %w(answer)
|
56
56
|
|
57
57
|
component.settings(:global) do |settings|
|
58
|
+
settings.attribute :scopes_enabled, type: :boolean, default: false
|
59
|
+
settings.attribute :scope_id, type: :scope
|
58
60
|
settings.attribute :announcement, type: :text, translated: true, editor: true
|
61
|
+
settings.attribute :clean_after_publish, type: :boolean, default: true
|
59
62
|
end
|
60
63
|
|
61
64
|
component.settings(:step) do |settings|
|
@@ -70,6 +73,8 @@ Decidim.register_component(:surveys) do |component|
|
|
70
73
|
Decidim::Forms::QuestionnaireUserAnswers.for(survey.questionnaire)
|
71
74
|
end
|
72
75
|
|
76
|
+
exports.formats %w(CSV JSON Excel FormPDF)
|
77
|
+
|
73
78
|
exports.serializer Decidim::Forms::UserAnswersSerializer
|
74
79
|
end
|
75
80
|
|
@@ -117,24 +122,33 @@ Decidim.register_component(:surveys) do |component|
|
|
117
122
|
visibility: "all"
|
118
123
|
)
|
119
124
|
|
120
|
-
%w(short_answer long_answer).
|
125
|
+
%w(short_answer long_answer).each_with_index do |text_question_type, index|
|
121
126
|
Decidim::Forms::Question.create!(
|
122
127
|
questionnaire: questionnaire,
|
123
128
|
body: Decidim::Faker::Localized.paragraph,
|
124
|
-
question_type: text_question_type
|
129
|
+
question_type: text_question_type,
|
130
|
+
position: index
|
125
131
|
)
|
126
132
|
end
|
127
133
|
|
128
|
-
%w(single_option multiple_option).
|
134
|
+
%w(single_option multiple_option).each_with_index do |multiple_choice_question_type, index|
|
129
135
|
question = Decidim::Forms::Question.create!(
|
130
136
|
questionnaire: questionnaire,
|
131
137
|
body: Decidim::Faker::Localized.paragraph,
|
132
|
-
question_type: multiple_choice_question_type
|
138
|
+
question_type: multiple_choice_question_type,
|
139
|
+
position: index + 2
|
133
140
|
)
|
134
141
|
|
135
142
|
3.times do
|
136
143
|
question.answer_options.create!(body: Decidim::Faker::Localized.sentence)
|
137
144
|
end
|
145
|
+
|
146
|
+
question.display_conditions.create!(
|
147
|
+
condition_question: questionnaire.questions.find_by(position: question.position - 2),
|
148
|
+
question: question,
|
149
|
+
condition_type: :answered,
|
150
|
+
mandatory: true
|
151
|
+
)
|
138
152
|
end
|
139
153
|
|
140
154
|
%w(matrix_single matrix_multiple).each do |matrix_question_type|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: decidim-surveys
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.23.0
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Josep Jaume Rey Peroy
|
@@ -10,7 +10,7 @@ authors:
|
|
10
10
|
autorequire:
|
11
11
|
bindir: bin
|
12
12
|
cert_chain: []
|
13
|
-
date: 2020-
|
13
|
+
date: 2020-11-05 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: decidim-core
|
@@ -18,70 +18,84 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - '='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 0.
|
21
|
+
version: 0.23.0
|
22
22
|
type: :runtime
|
23
23
|
prerelease: false
|
24
24
|
version_requirements: !ruby/object:Gem::Requirement
|
25
25
|
requirements:
|
26
26
|
- - '='
|
27
27
|
- !ruby/object:Gem::Version
|
28
|
-
version: 0.
|
28
|
+
version: 0.23.0
|
29
29
|
- !ruby/object:Gem::Dependency
|
30
30
|
name: decidim-forms
|
31
31
|
requirement: !ruby/object:Gem::Requirement
|
32
32
|
requirements:
|
33
33
|
- - '='
|
34
34
|
- !ruby/object:Gem::Version
|
35
|
-
version: 0.
|
35
|
+
version: 0.23.0
|
36
36
|
type: :runtime
|
37
37
|
prerelease: false
|
38
38
|
version_requirements: !ruby/object:Gem::Requirement
|
39
39
|
requirements:
|
40
40
|
- - '='
|
41
41
|
- !ruby/object:Gem::Version
|
42
|
-
version: 0.
|
42
|
+
version: 0.23.0
|
43
|
+
- !ruby/object:Gem::Dependency
|
44
|
+
name: decidim-templates
|
45
|
+
requirement: !ruby/object:Gem::Requirement
|
46
|
+
requirements:
|
47
|
+
- - '='
|
48
|
+
- !ruby/object:Gem::Version
|
49
|
+
version: 0.23.0
|
50
|
+
type: :runtime
|
51
|
+
prerelease: false
|
52
|
+
version_requirements: !ruby/object:Gem::Requirement
|
53
|
+
requirements:
|
54
|
+
- - '='
|
55
|
+
- !ruby/object:Gem::Version
|
56
|
+
version: 0.23.0
|
43
57
|
- !ruby/object:Gem::Dependency
|
44
58
|
name: decidim-admin
|
45
59
|
requirement: !ruby/object:Gem::Requirement
|
46
60
|
requirements:
|
47
61
|
- - '='
|
48
62
|
- !ruby/object:Gem::Version
|
49
|
-
version: 0.
|
63
|
+
version: 0.23.0
|
50
64
|
type: :development
|
51
65
|
prerelease: false
|
52
66
|
version_requirements: !ruby/object:Gem::Requirement
|
53
67
|
requirements:
|
54
68
|
- - '='
|
55
69
|
- !ruby/object:Gem::Version
|
56
|
-
version: 0.
|
70
|
+
version: 0.23.0
|
57
71
|
- !ruby/object:Gem::Dependency
|
58
72
|
name: decidim-dev
|
59
73
|
requirement: !ruby/object:Gem::Requirement
|
60
74
|
requirements:
|
61
75
|
- - '='
|
62
76
|
- !ruby/object:Gem::Version
|
63
|
-
version: 0.
|
77
|
+
version: 0.23.0
|
64
78
|
type: :development
|
65
79
|
prerelease: false
|
66
80
|
version_requirements: !ruby/object:Gem::Requirement
|
67
81
|
requirements:
|
68
82
|
- - '='
|
69
83
|
- !ruby/object:Gem::Version
|
70
|
-
version: 0.
|
84
|
+
version: 0.23.0
|
71
85
|
- !ruby/object:Gem::Dependency
|
72
86
|
name: decidim-participatory_processes
|
73
87
|
requirement: !ruby/object:Gem::Requirement
|
74
88
|
requirements:
|
75
89
|
- - '='
|
76
90
|
- !ruby/object:Gem::Version
|
77
|
-
version: 0.
|
91
|
+
version: 0.23.0
|
78
92
|
type: :development
|
79
93
|
prerelease: false
|
80
94
|
version_requirements: !ruby/object:Gem::Requirement
|
81
95
|
requirements:
|
82
96
|
- - '='
|
83
97
|
- !ruby/object:Gem::Version
|
84
|
-
version: 0.
|
98
|
+
version: 0.23.0
|
85
99
|
description: A surveys component for decidim's participatory spaces.
|
86
100
|
email:
|
87
101
|
- josepjaume@gmail.com
|
@@ -103,6 +117,7 @@ files:
|
|
103
117
|
- app/events/decidim/surveys/closed_survey_event.rb
|
104
118
|
- app/events/decidim/surveys/opened_survey_event.rb
|
105
119
|
- app/helpers/decidim/surveys/survey_helper.rb
|
120
|
+
- app/jobs/decidim/surveys/clean_survey_answers_job.rb
|
106
121
|
- app/jobs/decidim/surveys/settings_change_job.rb
|
107
122
|
- app/models/decidim/surveys/application_record.rb
|
108
123
|
- app/models/decidim/surveys/survey.rb
|
@@ -115,22 +130,27 @@ files:
|
|
115
130
|
- app/types/decidim/surveys/survey_type.rb
|
116
131
|
- app/types/decidim/surveys/surveys_type.rb
|
117
132
|
- app/views/decidim/surveys/surveys/no_permission.html.erb
|
133
|
+
- config/locales/am-ET.yml
|
118
134
|
- config/locales/ar-SA.yml
|
119
135
|
- config/locales/ar.yml
|
120
136
|
- config/locales/bg-BG.yml
|
137
|
+
- config/locales/bg.yml
|
121
138
|
- config/locales/ca.yml
|
122
139
|
- config/locales/cs-CZ.yml
|
123
140
|
- config/locales/cs.yml
|
124
141
|
- config/locales/da-DK.yml
|
142
|
+
- config/locales/da.yml
|
125
143
|
- config/locales/de.yml
|
126
144
|
- config/locales/el-GR.yml
|
127
145
|
- config/locales/el.yml
|
128
146
|
- config/locales/en.yml
|
129
147
|
- config/locales/eo-UY.yml
|
148
|
+
- config/locales/eo.yml
|
130
149
|
- config/locales/es-MX.yml
|
131
150
|
- config/locales/es-PY.yml
|
132
151
|
- config/locales/es.yml
|
133
152
|
- config/locales/et-EE.yml
|
153
|
+
- config/locales/et.yml
|
134
154
|
- config/locales/eu.yml
|
135
155
|
- config/locales/fi-pl.yml
|
136
156
|
- config/locales/fi-plain.yml
|
@@ -140,16 +160,24 @@ files:
|
|
140
160
|
- config/locales/ga-IE.yml
|
141
161
|
- config/locales/gl.yml
|
142
162
|
- config/locales/hr-HR.yml
|
163
|
+
- config/locales/hr.yml
|
143
164
|
- config/locales/hu.yml
|
144
165
|
- config/locales/id-ID.yml
|
145
166
|
- config/locales/is-IS.yml
|
167
|
+
- config/locales/is.yml
|
146
168
|
- config/locales/it.yml
|
147
169
|
- config/locales/ja-JP.yml
|
170
|
+
- config/locales/ja.yml
|
171
|
+
- config/locales/ko-KR.yml
|
172
|
+
- config/locales/ko.yml
|
148
173
|
- config/locales/lt-LT.yml
|
149
|
-
- config/locales/
|
174
|
+
- config/locales/lt.yml
|
175
|
+
- config/locales/lv.yml
|
150
176
|
- config/locales/mt-MT.yml
|
177
|
+
- config/locales/mt.yml
|
151
178
|
- config/locales/nl.yml
|
152
179
|
- config/locales/no.yml
|
180
|
+
- config/locales/om-ET.yml
|
153
181
|
- config/locales/pl.yml
|
154
182
|
- config/locales/pt-BR.yml
|
155
183
|
- config/locales/pt.yml
|
@@ -158,10 +186,16 @@ files:
|
|
158
186
|
- config/locales/sk-SK.yml
|
159
187
|
- config/locales/sk.yml
|
160
188
|
- config/locales/sl.yml
|
189
|
+
- config/locales/so-SO.yml
|
161
190
|
- config/locales/sr-CS.yml
|
162
191
|
- config/locales/sv.yml
|
192
|
+
- config/locales/ti-ER.yml
|
163
193
|
- config/locales/tr-TR.yml
|
164
194
|
- config/locales/uk.yml
|
195
|
+
- config/locales/vi-VN.yml
|
196
|
+
- config/locales/vi.yml
|
197
|
+
- config/locales/zh-CN.yml
|
198
|
+
- config/locales/zh-TW.yml
|
165
199
|
- db/migrate/20170511092231_create_decidim_surveys.rb
|
166
200
|
- db/migrate/20170515090916_create_decidim_survey_questions.rb
|
167
201
|
- db/migrate/20170515144119_create_decidim_survey_answers.rb
|
@@ -204,14 +238,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
204
238
|
requirements:
|
205
239
|
- - ">="
|
206
240
|
- !ruby/object:Gem::Version
|
207
|
-
version: '2.
|
241
|
+
version: '2.6'
|
208
242
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
209
243
|
requirements:
|
210
244
|
- - ">="
|
211
245
|
- !ruby/object:Gem::Version
|
212
246
|
version: '0'
|
213
247
|
requirements: []
|
214
|
-
rubygems_version: 3.
|
248
|
+
rubygems_version: 3.0.3
|
215
249
|
signing_key:
|
216
250
|
specification_version: 4
|
217
251
|
summary: Decidim surveys module
|