decidim-meetings 0.30.2 → 0.31.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/meetings/cancel_registration_meeting_button/cancelation_modal.erb +7 -4
- data/app/cells/decidim/meetings/cancel_registration_meeting_button/show.erb +1 -1
- data/app/cells/decidim/meetings/cancel_registration_meeting_button_cell.rb +36 -0
- data/app/cells/decidim/meetings/dates_and_map_cell.rb +1 -1
- data/app/cells/decidim/meetings/join_meeting_button/registration_modal.erb +4 -5
- data/app/cells/decidim/meetings/join_meeting_button/show.erb +25 -28
- data/app/cells/decidim/meetings/join_meeting_button/waitlist_button.erb +22 -0
- data/app/cells/decidim/meetings/join_meeting_button_cell.rb +28 -0
- data/app/cells/decidim/meetings/question_responses/show.erb +7 -7
- data/app/cells/decidim/meetings/question_responses_cell.rb +28 -28
- data/app/commands/decidim/meetings/admin/copy_meeting.rb +5 -2
- data/app/commands/decidim/meetings/admin/create_agenda.rb +6 -2
- data/app/commands/decidim/meetings/admin/create_meeting.rb +7 -3
- data/app/commands/decidim/meetings/admin/mark_as_attendee.rb +44 -0
- data/app/commands/decidim/meetings/admin/publish_meeting.rb +2 -1
- data/app/commands/decidim/meetings/admin/update_agenda.rb +6 -2
- data/app/commands/decidim/meetings/admin/update_meeting.rb +15 -6
- data/app/commands/decidim/meetings/admin/update_questionnaire.rb +4 -4
- data/app/commands/decidim/meetings/admin/update_registrations.rb +19 -7
- data/app/commands/decidim/meetings/create_meeting.rb +2 -3
- data/app/commands/decidim/meetings/{create_answer.rb → create_response.rb} +11 -11
- data/app/commands/decidim/meetings/join_meeting.rb +4 -6
- data/app/commands/decidim/meetings/join_waitlist.rb +53 -0
- data/app/commands/decidim/meetings/leave_meeting.rb +14 -5
- data/app/commands/decidim/meetings/update_meeting.rb +1 -2
- data/app/controllers/concerns/decidim/meetings/admin/filterable.rb +1 -1
- data/app/controllers/decidim/meetings/admin/agenda_controller.rb +2 -2
- data/app/controllers/decidim/meetings/admin/invites_controller.rb +1 -1
- data/app/controllers/decidim/meetings/admin/meeting_closes_controller.rb +1 -1
- data/app/controllers/decidim/meetings/admin/meeting_copies_controller.rb +1 -1
- data/app/controllers/decidim/meetings/admin/meetings_controller.rb +4 -4
- data/app/controllers/decidim/meetings/admin/meetings_poll_controller.rb +10 -10
- data/app/controllers/decidim/meetings/admin/registrations_attendees_controller.rb +79 -0
- data/app/controllers/decidim/meetings/admin/registrations_controller.rb +1 -22
- data/app/controllers/decidim/meetings/meeting_closes_controller.rb +1 -1
- data/app/controllers/decidim/meetings/meetings_controller.rb +11 -11
- data/app/controllers/decidim/meetings/polls/{answers_controller.rb → responses_controller.rb} +7 -7
- data/app/controllers/decidim/meetings/registrations_controller.rb +39 -12
- data/app/events/decidim/meetings/registration_marked_as_attendee_event.rb +9 -0
- data/app/events/decidim/meetings/upcoming_meeting_event.rb +41 -0
- data/app/events/decidim/meetings/update_meeting_event.rb +25 -0
- data/app/forms/decidim/meetings/admin/close_meeting_form.rb +2 -1
- data/app/forms/decidim/meetings/admin/meeting_agenda_items_form.rb +4 -0
- data/app/forms/decidim/meetings/admin/meeting_form.rb +28 -3
- data/app/forms/decidim/meetings/admin/question_form.rb +3 -3
- data/app/forms/decidim/meetings/admin/{answer_option_form.rb → response_option_form.rb} +3 -3
- data/app/forms/decidim/meetings/admin/validate_registration_code_form.rb +1 -1
- data/app/forms/decidim/meetings/base_meeting_form.rb +0 -2
- data/app/forms/decidim/meetings/close_meeting_form.rb +2 -1
- data/app/forms/decidim/meetings/join_meeting_form.rb +0 -1
- data/app/forms/decidim/meetings/meeting_form.rb +3 -2
- data/app/forms/decidim/meetings/response_choice_form.rb +14 -0
- data/app/forms/decidim/meetings/{answer_form.rb → response_form.rb} +7 -7
- data/app/helpers/decidim/meetings/application_helper.rb +0 -1
- data/app/helpers/decidim/meetings/meetings_helper.rb +14 -5
- data/app/jobs/decidim/meetings/promote_from_waitlist_job.rb +63 -0
- data/app/jobs/decidim/meetings/upcoming_meeting_notification_job.rb +1 -1
- data/app/mailers/decidim/meetings/registration_mailer.rb +13 -0
- data/app/models/decidim/meetings/agenda_item.rb +5 -0
- data/app/models/decidim/meetings/meeting.rb +15 -12
- data/app/models/decidim/meetings/question.rb +12 -12
- data/app/models/decidim/meetings/questionnaire.rb +1 -1
- data/app/models/decidim/meetings/registration.rb +19 -7
- data/app/models/decidim/meetings/{answer.rb → response.rb} +6 -6
- data/app/models/decidim/meetings/response_choice.rb +15 -0
- data/app/models/decidim/meetings/{answer_option.rb → response_option.rb} +5 -5
- data/app/packs/src/decidim/meetings/admin/destroy_meeting_alert.js +1 -1
- data/app/packs/src/decidim/meetings/admin/meetings_components_form.js +1 -8
- data/app/packs/src/decidim/meetings/admin/meetings_form.js +1 -1
- data/app/packs/src/decidim/meetings/admin/registrations_form.js +1 -1
- data/app/packs/src/decidim/meetings/admin/registrations_invite_form.js +1 -1
- data/app/packs/src/decidim/meetings/meetings_form.js +1 -1
- data/app/packs/src/decidim/meetings/meetings_polls.js +1 -1
- data/app/packs/src/decidim/meetings/poll.component.js +5 -5
- data/app/packs/stylesheets/decidim/meetings/_item.scss +5 -1
- data/app/packs/stylesheets/decidim/meetings/meetings.scss +4 -4
- data/app/permissions/decidim/meetings/admin/agenda_permissions.rb +34 -0
- data/app/permissions/decidim/meetings/admin/meeting_permissions.rb +44 -0
- data/app/permissions/decidim/meetings/admin/permissions.rb +5 -66
- data/app/permissions/decidim/meetings/admin/questionnaire_permissions.rb +30 -0
- data/app/permissions/decidim/meetings/meeting_permissions.rb +90 -0
- data/app/permissions/decidim/meetings/permissions.rb +9 -105
- data/app/presenters/decidim/meetings/admin_log/value_types/meeting_title_description_presenter.rb +1 -1
- data/app/presenters/decidim/meetings/agenda_item_presenter.rb +29 -0
- data/app/presenters/decidim/meetings/meeting_presenter.rb +11 -15
- data/app/presenters/decidim/meetings/registration_presenter.rb +24 -0
- data/app/queries/decidim/meetings/{questionnaire_user_answers.rb → questionnaire_user_responses.rb} +5 -5
- data/app/serializers/decidim/meetings/registration_serializer.rb +5 -6
- data/app/services/decidim/meetings/diff_renderer.rb +0 -1
- data/app/views/decidim/meetings/_calendar_modal.html.erb +1 -0
- data/app/views/decidim/meetings/admin/agenda/_agenda_item_fields.html.erb +1 -1
- data/app/views/decidim/meetings/admin/invites/_form.html.erb +1 -1
- data/app/views/decidim/meetings/admin/meeting_closes/_form.html.erb +1 -1
- data/app/views/decidim/meetings/admin/meetings/_form.html.erb +3 -2
- data/app/views/decidim/meetings/admin/meetings/_linked_spaces.html.erb +1 -1
- data/app/views/decidim/meetings/admin/meetings/_meeting-tr.html.erb +11 -8
- data/app/views/decidim/meetings/admin/meetings/_meeting_actions.html.erb +200 -69
- data/app/views/decidim/meetings/admin/meetings/_reminders.html.erb +19 -0
- data/app/views/decidim/meetings/admin/meetings/_services.html.erb +1 -1
- data/app/views/decidim/meetings/admin/meetings/index.html.erb +7 -5
- data/app/views/decidim/meetings/admin/meetings/manage_trash.html.erb +2 -1
- data/app/views/decidim/meetings/admin/poll/_form.html.erb +6 -6
- data/app/views/decidim/meetings/admin/poll/_question.html.erb +13 -13
- data/app/views/decidim/meetings/admin/poll/_response_option.html.erb +35 -0
- data/app/views/decidim/meetings/admin/poll/_response_option_template.html.erb +7 -0
- data/app/views/decidim/meetings/admin/poll/edit.html.erb +3 -3
- data/app/views/decidim/meetings/admin/registration_form/edit_questions.html.erb +5 -5
- data/app/views/decidim/meetings/admin/registrations/edit.html.erb +19 -39
- data/app/views/decidim/meetings/admin/registrations_attendees/index.html.erb +126 -0
- data/app/views/decidim/meetings/layouts/live_event.html.erb +1 -1
- data/app/views/decidim/meetings/meeting_closes/_form.html.erb +2 -2
- data/app/views/decidim/meetings/meetings/_form.html.erb +2 -11
- data/app/views/decidim/meetings/meetings/_meeting.html.erb +2 -2
- data/app/views/decidim/meetings/meetings/_meeting_actions.html.erb +3 -3
- data/app/views/decidim/meetings/meetings/_meeting_agenda.html.erb +2 -2
- data/app/views/decidim/meetings/meetings/_meeting_aside.html.erb +11 -10
- data/app/views/decidim/meetings/meetings/_meeting_poll_actions.html.erb +3 -3
- data/app/views/decidim/meetings/meetings/_registration_code_modal.html.erb +16 -0
- data/app/views/decidim/meetings/polls/questions/_index_admin.html.erb +1 -1
- data/app/views/decidim/meetings/polls/questions/_published_question.html.erb +5 -5
- data/app/views/decidim/meetings/polls/responses/_multiple_option.html.erb +13 -0
- data/app/views/decidim/meetings/polls/responses/_single_option.html.erb +13 -0
- data/app/views/decidim/meetings/polls/{answers → responses}/admin.html.erb +4 -4
- data/app/views/decidim/meetings/polls/{answers → responses}/index.html.erb +4 -4
- data/app/views/decidim/meetings/registration_mailer/confirmation.html.erb +6 -1
- data/config/assets.rb +2 -2
- data/config/locales/ar.yml +1 -26
- data/config/locales/bg.yml +2 -32
- data/config/locales/ca-IT.yml +86 -40
- data/config/locales/ca.yml +86 -40
- data/config/locales/cs.yml +71 -43
- data/config/locales/de.yml +87 -41
- data/config/locales/el.yml +1 -25
- data/config/locales/en.yml +89 -43
- data/config/locales/es-MX.yml +87 -41
- data/config/locales/es-PY.yml +87 -41
- data/config/locales/es.yml +87 -41
- data/config/locales/eu.yml +86 -40
- data/config/locales/fi-plain.yml +86 -40
- data/config/locales/fi.yml +85 -39
- data/config/locales/fr-CA.yml +79 -38
- data/config/locales/fr.yml +79 -38
- data/config/locales/ga-IE.yml +1 -7
- data/config/locales/gl.yml +1 -19
- data/config/locales/hu.yml +1 -22
- data/config/locales/id-ID.yml +0 -16
- data/config/locales/is-IS.yml +0 -10
- data/config/locales/it.yml +1 -29
- data/config/locales/ja.yml +88 -42
- data/config/locales/lb.yml +1 -15
- data/config/locales/lt.yml +1 -28
- data/config/locales/lv.yml +0 -16
- data/config/locales/nl.yml +1 -26
- data/config/locales/no.yml +1 -28
- data/config/locales/pl.yml +2 -32
- data/config/locales/pt-BR.yml +1 -28
- data/config/locales/pt.yml +1 -28
- data/config/locales/ro-RO.yml +56 -29
- data/config/locales/ru.yml +0 -16
- data/config/locales/sk.yml +0 -16
- data/config/locales/sl.yml +0 -4
- data/config/locales/sv.yml +85 -39
- data/config/locales/tr-TR.yml +0 -20
- data/config/locales/uk.yml +0 -12
- data/config/locales/zh-CN.yml +0 -19
- data/config/locales/zh-TW.yml +1 -26
- data/db/migrate/20181107175558_add_questionnaire_to_existing_meetings.rb +8 -2
- data/db/migrate/20200827153856_add_commentable_counter_cache_to_meetings.rb +8 -2
- data/db/migrate/20201016065302_fix_meetings_registration_terms.rb +8 -2
- data/db/migrate/20210310120731_add_followable_counter_cache_to_meetings.rb +8 -2
- data/db/migrate/20250317103343_rename_answer_to_response_in_decidim_meetings.rb +18 -0
- data/db/migrate/20250403094034_add_reminder_customization_to_decidim_meetings.rb +9 -0
- data/db/migrate/20250408071941_add_status_to_registrations_to_decidim_meetings_registrations.rb +8 -0
- data/lib/decidim/api/agenda_item_type.rb +6 -2
- data/lib/decidim/api/agenda_type.rb +6 -2
- data/lib/decidim/api/linked_resources_interface.rb +1 -1
- data/lib/decidim/api/meeting_type.rb +20 -10
- data/lib/decidim/api/service_type.rb +3 -0
- data/lib/decidim/meetings/admin_engine.rb +9 -1
- data/lib/decidim/meetings/component.rb +29 -8
- data/lib/decidim/meetings/engine.rb +6 -21
- data/lib/decidim/meetings/meeting_serializer.rb +1 -2
- data/lib/decidim/meetings/schema_org_event_meeting_serializer.rb +0 -10
- data/lib/decidim/meetings/seeds.rb +4 -13
- data/lib/decidim/meetings/test/factories.rb +10 -16
- data/lib/decidim/meetings/user_responses_serializer.rb +47 -0
- data/lib/decidim/meetings/version.rb +1 -1
- data/lib/decidim/meetings.rb +7 -9
- metadata +49 -35
- data/app/cells/decidim/meetings/attending_organizations_list_cell.rb +0 -32
- data/app/forms/decidim/meetings/answer_choice_form.rb +0 -14
- data/app/models/decidim/meetings/answer_choice.rb +0 -15
- data/app/queries/decidim/meetings/metrics/meeting_followers_metric_measure.rb +0 -31
- data/app/queries/decidim/meetings/metrics/meetings_metric_manage.rb +0 -48
- data/app/views/decidim/meetings/admin/poll/_answer_option.html.erb +0 -35
- data/app/views/decidim/meetings/admin/poll/_answer_option_template.html.erb +0 -7
- data/app/views/decidim/meetings/polls/answers/_multiple_option.html.erb +0 -13
- data/app/views/decidim/meetings/polls/answers/_single_option.html.erb +0 -13
- data/lib/decidim/meetings/download_your_data_user_answers_serializer.rb +0 -39
- data/lib/decidim/meetings/user_answers_serializer.rb +0 -47
- /data/app/views/decidim/meetings/polls/{answers → responses}/create.js.erb +0 -0
data/lib/decidim/meetings.rb
CHANGED
@@ -14,24 +14,22 @@ module Decidim
|
|
14
14
|
module Meetings
|
15
15
|
autoload :Registrations, "decidim/meetings/registrations"
|
16
16
|
autoload :MeetingSerializer, "decidim/meetings/meeting_serializer"
|
17
|
-
autoload :
|
18
|
-
autoload :DownloadYourDataUserAnswersSerializer, "decidim/meetings/download_your_data_user_answers_serializer"
|
17
|
+
autoload :UserResponsesSerializer, "decidim/meetings/user_responses_serializer"
|
19
18
|
autoload :SchemaOrgEventMeetingSerializer, "decidim/meetings/schema_org_event_meeting_serializer"
|
20
19
|
|
21
20
|
include ActiveSupport::Configurable
|
22
21
|
|
23
|
-
# Public Setting that defines whether proposals can be linked to meetings
|
24
|
-
config_accessor :enable_proposal_linking do
|
25
|
-
Decidim.const_defined?("Proposals")
|
26
|
-
end
|
27
|
-
|
28
22
|
# Public Setting that defines the interval when the upcoming meeting will be sent
|
29
23
|
config_accessor :upcoming_meeting_notification do
|
30
|
-
2.days
|
24
|
+
Decidim::Env.new("MEETINGS_UPCOMING_MEETING_NOTIFICATION", 2).to_i.days
|
31
25
|
end
|
32
26
|
|
33
27
|
config_accessor :embeddable_services do
|
34
|
-
|
28
|
+
Decidim::Env.new("MEETINGS_EMBEDDABLE_SERVICES", "www.youtube.com www.twitch.tv meet.jit.si").to_array(separator: " ")
|
29
|
+
end
|
30
|
+
|
31
|
+
config_accessor :waiting_list_enabled do
|
32
|
+
Decidim::Env.new("MEETINGS_WAITING_LIST_ENABLED", true).present?
|
35
33
|
end
|
36
34
|
end
|
37
35
|
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: decidim-meetings
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 0.31.0.rc1
|
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: 2025-09-
|
13
|
+
date: 2025-09-25 00:00:00.000000000 Z
|
14
14
|
dependencies:
|
15
15
|
- !ruby/object:Gem::Dependency
|
16
16
|
name: decidim-core
|
@@ -18,28 +18,28 @@ dependencies:
|
|
18
18
|
requirements:
|
19
19
|
- - '='
|
20
20
|
- !ruby/object:Gem::Version
|
21
|
-
version: 0.
|
21
|
+
version: 0.31.0.rc1
|
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.31.0.rc1
|
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.31.0.rc1
|
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.31.0.rc1
|
43
43
|
- !ruby/object:Gem::Dependency
|
44
44
|
name: icalendar
|
45
45
|
requirement: !ruby/object:Gem::Requirement
|
@@ -60,56 +60,56 @@ dependencies:
|
|
60
60
|
requirements:
|
61
61
|
- - '='
|
62
62
|
- !ruby/object:Gem::Version
|
63
|
-
version: 0.
|
63
|
+
version: 0.31.0.rc1
|
64
64
|
type: :development
|
65
65
|
prerelease: false
|
66
66
|
version_requirements: !ruby/object:Gem::Requirement
|
67
67
|
requirements:
|
68
68
|
- - '='
|
69
69
|
- !ruby/object:Gem::Version
|
70
|
-
version: 0.
|
70
|
+
version: 0.31.0.rc1
|
71
71
|
- !ruby/object:Gem::Dependency
|
72
72
|
name: decidim-assemblies
|
73
73
|
requirement: !ruby/object:Gem::Requirement
|
74
74
|
requirements:
|
75
75
|
- - '='
|
76
76
|
- !ruby/object:Gem::Version
|
77
|
-
version: 0.
|
77
|
+
version: 0.31.0.rc1
|
78
78
|
type: :development
|
79
79
|
prerelease: false
|
80
80
|
version_requirements: !ruby/object:Gem::Requirement
|
81
81
|
requirements:
|
82
82
|
- - '='
|
83
83
|
- !ruby/object:Gem::Version
|
84
|
-
version: 0.
|
84
|
+
version: 0.31.0.rc1
|
85
85
|
- !ruby/object:Gem::Dependency
|
86
86
|
name: decidim-dev
|
87
87
|
requirement: !ruby/object:Gem::Requirement
|
88
88
|
requirements:
|
89
89
|
- - '='
|
90
90
|
- !ruby/object:Gem::Version
|
91
|
-
version: 0.
|
91
|
+
version: 0.31.0.rc1
|
92
92
|
type: :development
|
93
93
|
prerelease: false
|
94
94
|
version_requirements: !ruby/object:Gem::Requirement
|
95
95
|
requirements:
|
96
96
|
- - '='
|
97
97
|
- !ruby/object:Gem::Version
|
98
|
-
version: 0.
|
98
|
+
version: 0.31.0.rc1
|
99
99
|
- !ruby/object:Gem::Dependency
|
100
100
|
name: decidim-participatory_processes
|
101
101
|
requirement: !ruby/object:Gem::Requirement
|
102
102
|
requirements:
|
103
103
|
- - '='
|
104
104
|
- !ruby/object:Gem::Version
|
105
|
-
version: 0.
|
105
|
+
version: 0.31.0.rc1
|
106
106
|
type: :development
|
107
107
|
prerelease: false
|
108
108
|
version_requirements: !ruby/object:Gem::Requirement
|
109
109
|
requirements:
|
110
110
|
- - '='
|
111
111
|
- !ruby/object:Gem::Version
|
112
|
-
version: 0.
|
112
|
+
version: 0.31.0.rc1
|
113
113
|
description: A meetings component for decidim's participatory spaces.
|
114
114
|
email:
|
115
115
|
- josepjaume@gmail.com
|
@@ -121,7 +121,6 @@ extra_rdoc_files: []
|
|
121
121
|
files:
|
122
122
|
- README.md
|
123
123
|
- Rakefile
|
124
|
-
- app/cells/decidim/meetings/attending_organizations_list_cell.rb
|
125
124
|
- app/cells/decidim/meetings/cancel_registration_meeting_button/cancelation_modal.erb
|
126
125
|
- app/cells/decidim/meetings/cancel_registration_meeting_button/show.erb
|
127
126
|
- app/cells/decidim/meetings/cancel_registration_meeting_button_cell.rb
|
@@ -136,6 +135,7 @@ files:
|
|
136
135
|
- app/cells/decidim/meetings/join_meeting_button/registration_modal.erb
|
137
136
|
- app/cells/decidim/meetings/join_meeting_button/remaining_slots.erb
|
138
137
|
- app/cells/decidim/meetings/join_meeting_button/show.erb
|
138
|
+
- app/cells/decidim/meetings/join_meeting_button/waitlist_button.erb
|
139
139
|
- app/cells/decidim/meetings/join_meeting_button_cell.rb
|
140
140
|
- app/cells/decidim/meetings/meeting_activity_cell.rb
|
141
141
|
- app/cells/decidim/meetings/meeting_card_metadata_cell.rb
|
@@ -162,6 +162,7 @@ files:
|
|
162
162
|
- app/commands/decidim/meetings/admin/create_meeting.rb
|
163
163
|
- app/commands/decidim/meetings/admin/export_meeting_registrations.rb
|
164
164
|
- app/commands/decidim/meetings/admin/invite_user_to_join_meeting.rb
|
165
|
+
- app/commands/decidim/meetings/admin/mark_as_attendee.rb
|
165
166
|
- app/commands/decidim/meetings/admin/publish_meeting.rb
|
166
167
|
- app/commands/decidim/meetings/admin/unpublish_meeting.rb
|
167
168
|
- app/commands/decidim/meetings/admin/update_agenda.rb
|
@@ -171,10 +172,11 @@ files:
|
|
171
172
|
- app/commands/decidim/meetings/admin/update_registrations.rb
|
172
173
|
- app/commands/decidim/meetings/admin/validate_registration_code.rb
|
173
174
|
- app/commands/decidim/meetings/close_meeting.rb
|
174
|
-
- app/commands/decidim/meetings/create_answer.rb
|
175
175
|
- app/commands/decidim/meetings/create_meeting.rb
|
176
|
+
- app/commands/decidim/meetings/create_response.rb
|
176
177
|
- app/commands/decidim/meetings/decline_invitation.rb
|
177
178
|
- app/commands/decidim/meetings/join_meeting.rb
|
179
|
+
- app/commands/decidim/meetings/join_waitlist.rb
|
178
180
|
- app/commands/decidim/meetings/leave_meeting.rb
|
179
181
|
- app/commands/decidim/meetings/update_meeting.rb
|
180
182
|
- app/commands/decidim/meetings/withdraw_meeting.rb
|
@@ -192,6 +194,7 @@ files:
|
|
192
194
|
- app/controllers/decidim/meetings/admin/meetings_controller.rb
|
193
195
|
- app/controllers/decidim/meetings/admin/meetings_poll_controller.rb
|
194
196
|
- app/controllers/decidim/meetings/admin/registration_form_controller.rb
|
197
|
+
- app/controllers/decidim/meetings/admin/registrations_attendees_controller.rb
|
195
198
|
- app/controllers/decidim/meetings/admin/registrations_controller.rb
|
196
199
|
- app/controllers/decidim/meetings/application_controller.rb
|
197
200
|
- app/controllers/decidim/meetings/calendars_controller.rb
|
@@ -200,8 +203,8 @@ files:
|
|
200
203
|
- app/controllers/decidim/meetings/live_events_controller.rb
|
201
204
|
- app/controllers/decidim/meetings/meeting_closes_controller.rb
|
202
205
|
- app/controllers/decidim/meetings/meetings_controller.rb
|
203
|
-
- app/controllers/decidim/meetings/polls/answers_controller.rb
|
204
206
|
- app/controllers/decidim/meetings/polls/questions_controller.rb
|
207
|
+
- app/controllers/decidim/meetings/polls/responses_controller.rb
|
205
208
|
- app/controllers/decidim/meetings/registrations_controller.rb
|
206
209
|
- app/controllers/decidim/meetings/versions_controller.rb
|
207
210
|
- app/events/decidim/meetings/close_meeting_event.rb
|
@@ -211,9 +214,9 @@ files:
|
|
211
214
|
- app/events/decidim/meetings/meeting_registrations_enabled_event.rb
|
212
215
|
- app/events/decidim/meetings/meeting_registrations_over_percentage_event.rb
|
213
216
|
- app/events/decidim/meetings/registration_code_validated_event.rb
|
217
|
+
- app/events/decidim/meetings/registration_marked_as_attendee_event.rb
|
214
218
|
- app/events/decidim/meetings/upcoming_meeting_event.rb
|
215
219
|
- app/events/decidim/meetings/update_meeting_event.rb
|
216
|
-
- app/forms/decidim/meetings/admin/answer_option_form.rb
|
217
220
|
- app/forms/decidim/meetings/admin/close_meeting_form.rb
|
218
221
|
- app/forms/decidim/meetings/admin/meeting_agenda_form.rb
|
219
222
|
- app/forms/decidim/meetings/admin/meeting_agenda_items_form.rb
|
@@ -223,13 +226,14 @@ files:
|
|
223
226
|
- app/forms/decidim/meetings/admin/meeting_service_form.rb
|
224
227
|
- app/forms/decidim/meetings/admin/question_form.rb
|
225
228
|
- app/forms/decidim/meetings/admin/questionnaire_form.rb
|
229
|
+
- app/forms/decidim/meetings/admin/response_option_form.rb
|
226
230
|
- app/forms/decidim/meetings/admin/validate_registration_code_form.rb
|
227
|
-
- app/forms/decidim/meetings/answer_choice_form.rb
|
228
|
-
- app/forms/decidim/meetings/answer_form.rb
|
229
231
|
- app/forms/decidim/meetings/base_meeting_form.rb
|
230
232
|
- app/forms/decidim/meetings/close_meeting_form.rb
|
231
233
|
- app/forms/decidim/meetings/join_meeting_form.rb
|
232
234
|
- app/forms/decidim/meetings/meeting_form.rb
|
235
|
+
- app/forms/decidim/meetings/response_choice_form.rb
|
236
|
+
- app/forms/decidim/meetings/response_form.rb
|
233
237
|
- app/helpers/decidim/meetings/admin/application_helper.rb
|
234
238
|
- app/helpers/decidim/meetings/admin/filterable_helper.rb
|
235
239
|
- app/helpers/decidim/meetings/application_helper.rb
|
@@ -237,6 +241,7 @@ files:
|
|
237
241
|
- app/helpers/decidim/meetings/meeting_cells_helper.rb
|
238
242
|
- app/helpers/decidim/meetings/meetings_helper.rb
|
239
243
|
- app/jobs/decidim/meetings/hide_all_created_by_author_job.rb
|
244
|
+
- app/jobs/decidim/meetings/promote_from_waitlist_job.rb
|
240
245
|
- app/jobs/decidim/meetings/send_close_meeting_reminder_job.rb
|
241
246
|
- app/jobs/decidim/meetings/upcoming_meeting_notification_job.rb
|
242
247
|
- app/mailers/decidim/meetings/admin/invite_join_meeting_mailer.rb
|
@@ -244,9 +249,6 @@ files:
|
|
244
249
|
- app/mailers/decidim/meetings/registration_mailer.rb
|
245
250
|
- app/models/decidim/meetings/agenda.rb
|
246
251
|
- app/models/decidim/meetings/agenda_item.rb
|
247
|
-
- app/models/decidim/meetings/answer.rb
|
248
|
-
- app/models/decidim/meetings/answer_choice.rb
|
249
|
-
- app/models/decidim/meetings/answer_option.rb
|
250
252
|
- app/models/decidim/meetings/application_record.rb
|
251
253
|
- app/models/decidim/meetings/invite.rb
|
252
254
|
- app/models/decidim/meetings/meeting.rb
|
@@ -255,6 +257,9 @@ files:
|
|
255
257
|
- app/models/decidim/meetings/question.rb
|
256
258
|
- app/models/decidim/meetings/questionnaire.rb
|
257
259
|
- app/models/decidim/meetings/registration.rb
|
260
|
+
- app/models/decidim/meetings/response.rb
|
261
|
+
- app/models/decidim/meetings/response_choice.rb
|
262
|
+
- app/models/decidim/meetings/response_option.rb
|
258
263
|
- app/models/decidim/meetings/service.rb
|
259
264
|
- app/packs/entrypoints/decidim_meetings.js
|
260
265
|
- app/packs/entrypoints/decidim_meetings_admin.js
|
@@ -274,20 +279,24 @@ files:
|
|
274
279
|
- app/packs/stylesheets/decidim/meetings/_list.scss
|
275
280
|
- app/packs/stylesheets/decidim/meetings/_live_event.scss
|
276
281
|
- app/packs/stylesheets/decidim/meetings/meetings.scss
|
282
|
+
- app/permissions/decidim/meetings/admin/agenda_permissions.rb
|
283
|
+
- app/permissions/decidim/meetings/admin/meeting_permissions.rb
|
277
284
|
- app/permissions/decidim/meetings/admin/permissions.rb
|
285
|
+
- app/permissions/decidim/meetings/admin/questionnaire_permissions.rb
|
286
|
+
- app/permissions/decidim/meetings/meeting_permissions.rb
|
278
287
|
- app/permissions/decidim/meetings/permissions.rb
|
279
288
|
- app/presenters/decidim/meetings/admin_log/invite_presenter.rb
|
280
289
|
- app/presenters/decidim/meetings/admin_log/meeting_presenter.rb
|
281
290
|
- app/presenters/decidim/meetings/admin_log/questionnaire_presenter.rb
|
282
291
|
- app/presenters/decidim/meetings/admin_log/value_types/meeting_title_description_presenter.rb
|
292
|
+
- app/presenters/decidim/meetings/agenda_item_presenter.rb
|
283
293
|
- app/presenters/decidim/meetings/invite_presenter.rb
|
284
294
|
- app/presenters/decidim/meetings/meeting_edition_presenter.rb
|
285
295
|
- app/presenters/decidim/meetings/meeting_presenter.rb
|
286
296
|
- app/presenters/decidim/meetings/official_author_presenter.rb
|
297
|
+
- app/presenters/decidim/meetings/registration_presenter.rb
|
287
298
|
- app/queries/decidim/meetings/filtered_meetings.rb
|
288
|
-
- app/queries/decidim/meetings/
|
289
|
-
- app/queries/decidim/meetings/metrics/meetings_metric_manage.rb
|
290
|
-
- app/queries/decidim/meetings/questionnaire_user_answers.rb
|
299
|
+
- app/queries/decidim/meetings/questionnaire_user_responses.rb
|
291
300
|
- app/serializers/decidim/meetings/base_download_your_data_serializer.rb
|
292
301
|
- app/serializers/decidim/meetings/download_your_data_invite_serializer.rb
|
293
302
|
- app/serializers/decidim/meetings/download_your_data_meeting_serializer.rb
|
@@ -323,20 +332,22 @@ files:
|
|
323
332
|
- app/views/decidim/meetings/admin/meetings/_meeting-tr.html.erb
|
324
333
|
- app/views/decidim/meetings/admin/meetings/_meeting_actions.html.erb
|
325
334
|
- app/views/decidim/meetings/admin/meetings/_meetings-thead.html.erb
|
335
|
+
- app/views/decidim/meetings/admin/meetings/_reminders.html.erb
|
326
336
|
- app/views/decidim/meetings/admin/meetings/_service.html.erb
|
327
337
|
- app/views/decidim/meetings/admin/meetings/_services.html.erb
|
328
338
|
- app/views/decidim/meetings/admin/meetings/edit.html.erb
|
329
339
|
- app/views/decidim/meetings/admin/meetings/index.html.erb
|
330
340
|
- app/views/decidim/meetings/admin/meetings/manage_trash.html.erb
|
331
341
|
- app/views/decidim/meetings/admin/meetings/new.html.erb
|
332
|
-
- app/views/decidim/meetings/admin/poll/_answer_option.html.erb
|
333
|
-
- app/views/decidim/meetings/admin/poll/_answer_option_template.html.erb
|
334
342
|
- app/views/decidim/meetings/admin/poll/_form.html.erb
|
335
343
|
- app/views/decidim/meetings/admin/poll/_question.html.erb
|
344
|
+
- app/views/decidim/meetings/admin/poll/_response_option.html.erb
|
345
|
+
- app/views/decidim/meetings/admin/poll/_response_option_template.html.erb
|
336
346
|
- app/views/decidim/meetings/admin/poll/edit.html.erb
|
337
347
|
- app/views/decidim/meetings/admin/registration_form/edit_questions.html.erb
|
338
348
|
- app/views/decidim/meetings/admin/registrations/_form.html.erb
|
339
349
|
- app/views/decidim/meetings/admin/registrations/edit.html.erb
|
350
|
+
- app/views/decidim/meetings/admin/registrations_attendees/index.html.erb
|
340
351
|
- app/views/decidim/meetings/close_meeting_reminder_mailer/close_meeting_reminder.html.erb
|
341
352
|
- app/views/decidim/meetings/directory/meetings/index.html.erb
|
342
353
|
- app/views/decidim/meetings/directory/meetings/index.js.erb
|
@@ -356,17 +367,13 @@ files:
|
|
356
367
|
- app/views/decidim/meetings/meetings/_meeting_aside.html.erb
|
357
368
|
- app/views/decidim/meetings/meetings/_meeting_minutes.html.erb
|
358
369
|
- app/views/decidim/meetings/meetings/_meeting_poll_actions.html.erb
|
370
|
+
- app/views/decidim/meetings/meetings/_registration_code_modal.html.erb
|
359
371
|
- app/views/decidim/meetings/meetings/_schema_org_event_meeting.html.erb
|
360
372
|
- app/views/decidim/meetings/meetings/edit.html.erb
|
361
373
|
- app/views/decidim/meetings/meetings/index.html.erb
|
362
374
|
- app/views/decidim/meetings/meetings/index.js.erb
|
363
375
|
- app/views/decidim/meetings/meetings/new.html.erb
|
364
376
|
- app/views/decidim/meetings/meetings/show.html.erb
|
365
|
-
- app/views/decidim/meetings/polls/answers/_multiple_option.html.erb
|
366
|
-
- app/views/decidim/meetings/polls/answers/_single_option.html.erb
|
367
|
-
- app/views/decidim/meetings/polls/answers/admin.html.erb
|
368
|
-
- app/views/decidim/meetings/polls/answers/create.js.erb
|
369
|
-
- app/views/decidim/meetings/polls/answers/index.html.erb
|
370
377
|
- app/views/decidim/meetings/polls/questions/_closed_question.html.erb
|
371
378
|
- app/views/decidim/meetings/polls/questions/_index.html.erb
|
372
379
|
- app/views/decidim/meetings/polls/questions/_index_admin.html.erb
|
@@ -374,6 +381,11 @@ files:
|
|
374
381
|
- app/views/decidim/meetings/polls/questions/_question.html.erb
|
375
382
|
- app/views/decidim/meetings/polls/questions/index.js.erb
|
376
383
|
- app/views/decidim/meetings/polls/questions/index_admin.js.erb
|
384
|
+
- app/views/decidim/meetings/polls/responses/_multiple_option.html.erb
|
385
|
+
- app/views/decidim/meetings/polls/responses/_single_option.html.erb
|
386
|
+
- app/views/decidim/meetings/polls/responses/admin.html.erb
|
387
|
+
- app/views/decidim/meetings/polls/responses/create.js.erb
|
388
|
+
- app/views/decidim/meetings/polls/responses/index.html.erb
|
377
389
|
- app/views/decidim/meetings/registration_mailer/confirmation.html.erb
|
378
390
|
- app/views/decidim/meetings/shared/_filters.html.erb
|
379
391
|
- app/views/decidim/meetings/shared/_index.html.erb
|
@@ -528,6 +540,9 @@ files:
|
|
528
540
|
- db/migrate/20240130135858_add_withdrawn_fields_on_meetings.rb
|
529
541
|
- db/migrate/20240712104245_create_decidim_meetings_meeting_link.rb
|
530
542
|
- db/migrate/20240828103603_add_deleted_at_to_decidim_meetings_meetings.rb
|
543
|
+
- db/migrate/20250317103343_rename_answer_to_response_in_decidim_meetings.rb
|
544
|
+
- db/migrate/20250403094034_add_reminder_customization_to_decidim_meetings.rb
|
545
|
+
- db/migrate/20250408071941_add_status_to_registrations_to_decidim_meetings_registrations.rb
|
531
546
|
- decidim-meetings.gemspec
|
532
547
|
- lib/decidim/api/agenda_item_type.rb
|
533
548
|
- lib/decidim/api/agenda_type.rb
|
@@ -546,7 +561,6 @@ files:
|
|
546
561
|
- lib/decidim/meetings/content_blocks/registry_manager.rb
|
547
562
|
- lib/decidim/meetings/directory.rb
|
548
563
|
- lib/decidim/meetings/directory_engine.rb
|
549
|
-
- lib/decidim/meetings/download_your_data_user_answers_serializer.rb
|
550
564
|
- lib/decidim/meetings/engine.rb
|
551
565
|
- lib/decidim/meetings/meeting_serializer.rb
|
552
566
|
- lib/decidim/meetings/polls.rb
|
@@ -558,7 +572,7 @@ files:
|
|
558
572
|
- lib/decidim/meetings/test/factories.rb
|
559
573
|
- lib/decidim/meetings/test/notifications_handling.rb
|
560
574
|
- lib/decidim/meetings/test/translated_event.rb
|
561
|
-
- lib/decidim/meetings/
|
575
|
+
- lib/decidim/meetings/user_responses_serializer.rb
|
562
576
|
- lib/decidim/meetings/version.rb
|
563
577
|
- lib/tasks/decidim_meetings.rake
|
564
578
|
homepage: https://decidim.org
|
@@ -1,32 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
require "cell/partial"
|
4
|
-
|
5
|
-
module Decidim
|
6
|
-
module Meetings
|
7
|
-
# This cell renders the list of public participating
|
8
|
-
# organizations of a meeting.
|
9
|
-
#
|
10
|
-
# Example:
|
11
|
-
#
|
12
|
-
# cell("decidim/participating_organizations_list", meeting)
|
13
|
-
class AttendingOrganizationsListCell < PublicParticipantsListCell
|
14
|
-
private
|
15
|
-
|
16
|
-
def user_group_ids
|
17
|
-
model.user_group_registrations.user_group_ids
|
18
|
-
end
|
19
|
-
|
20
|
-
def user_groups
|
21
|
-
Decidim::UserGroup.where(id: user_group_ids)
|
22
|
-
end
|
23
|
-
|
24
|
-
# Finds the public organizations (as user groups) of meeting
|
25
|
-
#
|
26
|
-
# Returns an Array of presented UserGroups
|
27
|
-
def public_participants
|
28
|
-
@public_participants ||= user_groups.map { |user_group| present(user_group) }
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
32
|
-
end
|
@@ -1,14 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Decidim
|
4
|
-
module Meetings
|
5
|
-
# This class holds a Form to save the chosen option for an answer
|
6
|
-
class AnswerChoiceForm < Decidim::Form
|
7
|
-
attribute :body, String
|
8
|
-
attribute :position, Integer
|
9
|
-
attribute :answer_option_id, Integer
|
10
|
-
|
11
|
-
validates :answer_option_id, presence: true
|
12
|
-
end
|
13
|
-
end
|
14
|
-
end
|
@@ -1,15 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Decidim
|
4
|
-
module Meetings
|
5
|
-
class AnswerChoice < Meetings::ApplicationRecord
|
6
|
-
belongs_to :answer,
|
7
|
-
class_name: "Decidim::Meetings::Answer",
|
8
|
-
foreign_key: "decidim_answer_id"
|
9
|
-
|
10
|
-
belongs_to :answer_option,
|
11
|
-
class_name: "Decidim::Meetings::AnswerOption",
|
12
|
-
foreign_key: "decidim_answer_option_id"
|
13
|
-
end
|
14
|
-
end
|
15
|
-
end
|
@@ -1,31 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Decidim
|
4
|
-
module Meetings
|
5
|
-
module Metrics
|
6
|
-
# Searches for unique Users following the next objects
|
7
|
-
# - Meetings
|
8
|
-
class MeetingFollowersMetricMeasure < Decidim::MetricMeasure
|
9
|
-
def valid?
|
10
|
-
super && @resource.is_a?(Decidim::Component)
|
11
|
-
end
|
12
|
-
|
13
|
-
def calculate
|
14
|
-
meetings = Decidim::Meetings::Meeting.where(component: @resource).joins(:component)
|
15
|
-
|
16
|
-
meetings_followers = Decidim::Follow.where(followable: meetings).joins(:user)
|
17
|
-
.where(decidim_follows: { created_at: ..end_time })
|
18
|
-
cumulative_users = meetings_followers.pluck(:decidim_user_id)
|
19
|
-
|
20
|
-
meetings_followers = meetings_followers.where(decidim_follows: { created_at: start_time.. })
|
21
|
-
quantity_users = meetings_followers.pluck(:decidim_user_id)
|
22
|
-
|
23
|
-
{
|
24
|
-
cumulative_users: cumulative_users.uniq,
|
25
|
-
quantity_users: quantity_users.uniq
|
26
|
-
}
|
27
|
-
end
|
28
|
-
end
|
29
|
-
end
|
30
|
-
end
|
31
|
-
end
|
@@ -1,48 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Decidim
|
4
|
-
module Meetings
|
5
|
-
module Metrics
|
6
|
-
class MeetingsMetricManage < Decidim::MetricManage
|
7
|
-
def metric_name
|
8
|
-
"meetings"
|
9
|
-
end
|
10
|
-
|
11
|
-
def save
|
12
|
-
cumulative.each do |key, cumulative_value|
|
13
|
-
next if cumulative_value.zero?
|
14
|
-
|
15
|
-
quantity_value = quantity[key] || 0
|
16
|
-
taxonomy_id, space_type, space_id = key
|
17
|
-
record = Decidim::Metric.find_or_initialize_by(day: @day.to_s, metric_type: @metric_name,
|
18
|
-
organization: @organization, decidim_taxonomy_id: taxonomy_id,
|
19
|
-
participatory_space_type: space_type, participatory_space_id: space_id)
|
20
|
-
record.assign_attributes(cumulative: cumulative_value, quantity: quantity_value)
|
21
|
-
record.save!
|
22
|
-
end
|
23
|
-
end
|
24
|
-
|
25
|
-
private
|
26
|
-
|
27
|
-
def query
|
28
|
-
return @query if @query
|
29
|
-
|
30
|
-
spaces = Decidim.participatory_space_manifests.flat_map do |manifest|
|
31
|
-
manifest.participatory_spaces.call(@organization).public_spaces
|
32
|
-
end
|
33
|
-
@query = Decidim::Meetings::Meeting.where(component: visible_components_from_spaces(spaces)).joins(:component)
|
34
|
-
.left_outer_joins(:taxonomizations).visible
|
35
|
-
@query = @query.where(decidim_meetings_meetings: { created_at: ..end_time })
|
36
|
-
@query = @query.group("decidim_taxonomizations.taxonomy_id",
|
37
|
-
:participatory_space_type,
|
38
|
-
:participatory_space_id)
|
39
|
-
@query
|
40
|
-
end
|
41
|
-
|
42
|
-
def quantity
|
43
|
-
@quantity ||= query.where(decidim_meetings_meetings: { created_at: start_time.. }).count
|
44
|
-
end
|
45
|
-
end
|
46
|
-
end
|
47
|
-
end
|
48
|
-
end
|
@@ -1,35 +0,0 @@
|
|
1
|
-
<% answer_option = form.object %>
|
2
|
-
|
3
|
-
<div class="card questionnaire-question-answer-option">
|
4
|
-
<div class="card-divider">
|
5
|
-
<h2 class="card-title">
|
6
|
-
<span><%= t("answer_option", scope: "decidim.forms.admin.questionnaires.answer_option") %></span>
|
7
|
-
<% if editable %>
|
8
|
-
<button class="button button__sm button__transparent-secondary small alert remove-answer-option button--title mb-2">
|
9
|
-
<%= icon("delete-bin-line") %>
|
10
|
-
<%= t("remove", scope: "decidim.forms.admin.questionnaires.answer_option") %>
|
11
|
-
</button>
|
12
|
-
<% end %>
|
13
|
-
</h2>
|
14
|
-
</div>
|
15
|
-
|
16
|
-
<div class="card-section">
|
17
|
-
<div class="row column">
|
18
|
-
<%=
|
19
|
-
form.translated(
|
20
|
-
:text_field,
|
21
|
-
:body,
|
22
|
-
tabs_id: tabs_id_for_question_answer_option(question, answer_option),
|
23
|
-
label: t("statement", scope: "decidim.forms.admin.questionnaires.answer_option"),
|
24
|
-
disabled: !editable
|
25
|
-
)
|
26
|
-
%>
|
27
|
-
</div>
|
28
|
-
</div>
|
29
|
-
|
30
|
-
<% if answer_option.persisted? %>
|
31
|
-
<%= form.hidden_field :id, disabled: !editable %>
|
32
|
-
<% end %>
|
33
|
-
|
34
|
-
<%= form.hidden_field :deleted, disabled: !editable %>
|
35
|
-
</div>
|
@@ -1,7 +0,0 @@
|
|
1
|
-
<% question = form.object %>
|
2
|
-
|
3
|
-
<script type="text/template" class="decidim-answer-option-template decidim-template" id="<%= template_id %>">
|
4
|
-
<%= fields_for "questionnaire[questions][#{question.to_param}][answer_options][]", blank_answer_option do |answer_option_form| %>
|
5
|
-
<%= render "decidim/meetings/admin/poll/answer_option", form: answer_option_form, question:, editable: question.editable? %>
|
6
|
-
<% end %>
|
7
|
-
</script>
|
@@ -1,13 +0,0 @@
|
|
1
|
-
<div class="answer-questionnaire__single-option js-check-box-collection">
|
2
|
-
<% question.answer_options.each_with_index do |answer_option, idx| %>
|
3
|
-
<% choice = answer.choices.find { |choice| choice.decidim_answer_option_id == answer_option.id } if answer %>
|
4
|
-
|
5
|
-
<%= label_tag "answer[choices][#{answer_option.id}][answer_option_id]", nil, class: "js-collection-input" do %>
|
6
|
-
<%= check_box_tag "answer[choices][#{answer_option.id}][answer_option_id]",
|
7
|
-
answer_option.id,
|
8
|
-
choice.present?, disabled: %>
|
9
|
-
|
10
|
-
<%= translated_attribute(answer_option.body) %>
|
11
|
-
<% end %>
|
12
|
-
<% end %>
|
13
|
-
</div>
|
@@ -1,13 +0,0 @@
|
|
1
|
-
<% choice = answer.choices.first if answer %>
|
2
|
-
|
3
|
-
<% question.answer_options.each_with_index do |answer_option, idx| %>
|
4
|
-
<% choice_id = "#{field_id}_choices_#{idx}" %>
|
5
|
-
|
6
|
-
<%= label_tag "#{choice_id}_answer_option" do %>
|
7
|
-
<%= radio_button_tag "answer[choices][#{question.id}][answer_option_id]",
|
8
|
-
answer_option.id,
|
9
|
-
answer_option.id == choice.try(:decidim_answer_option_id),
|
10
|
-
id: "#{choice_id}_answer_option", disabled: %>
|
11
|
-
<%= translated_attribute(answer_option.body) %>
|
12
|
-
<% end %>
|
13
|
-
<% end %>
|
@@ -1,39 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Decidim
|
4
|
-
module Meetings
|
5
|
-
class DownloadYourDataUserAnswersSerializer < Decidim::Exporters::Serializer
|
6
|
-
include Decidim::TranslationsHelper
|
7
|
-
# Serializes an user answer for download your data
|
8
|
-
def serialize
|
9
|
-
{
|
10
|
-
id: resource.id,
|
11
|
-
questionnaire: {
|
12
|
-
id: resource.question.questionnaire.id,
|
13
|
-
title: translated_attribute(resource.question.questionnaire.title),
|
14
|
-
description: translated_attribute(resource.question.questionnaire.description),
|
15
|
-
tos: translated_attribute(resource.question.questionnaire.tos)
|
16
|
-
},
|
17
|
-
question: {
|
18
|
-
id: resource.question.id,
|
19
|
-
body: translated_attribute(resource.question.body),
|
20
|
-
description: translated_attribute(resource.question.description)
|
21
|
-
},
|
22
|
-
answer: normalize_body(resource)
|
23
|
-
}
|
24
|
-
end
|
25
|
-
|
26
|
-
private
|
27
|
-
|
28
|
-
def normalize_body(resource)
|
29
|
-
attachments_for(resource) || resource.body || resource.choices.pluck(:body)
|
30
|
-
end
|
31
|
-
|
32
|
-
def attachments_for(resource)
|
33
|
-
return if resource.attachments.blank?
|
34
|
-
|
35
|
-
resource.attachments.map(&:url)
|
36
|
-
end
|
37
|
-
end
|
38
|
-
end
|
39
|
-
end
|