decidim-meetings 0.26.5 → 0.27.0.rc1
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/app/cells/decidim/meetings/content_blocks/highlighted_meetings_cell.rb +1 -1
- data/app/cells/decidim/meetings/content_blocks/upcoming_meetings/show.erb +1 -1
- data/app/cells/decidim/meetings/content_blocks/upcoming_meetings_cell.rb +2 -2
- data/app/cells/decidim/meetings/highlighted_meetings_for_component_cell.rb +10 -1
- data/app/cells/decidim/meetings/meeting_list_item_cell.rb +1 -1
- data/app/cells/decidim/meetings/meeting_m_cell.rb +1 -1
- data/app/cells/decidim/meetings/meeting_s_cell.rb +6 -0
- data/app/commands/decidim/meetings/admin/close_meeting.rb +1 -1
- data/app/commands/decidim/meetings/admin/copy_meeting.rb +5 -24
- data/app/commands/decidim/meetings/admin/create_agenda.rb +1 -1
- data/app/commands/decidim/meetings/admin/create_meeting.rb +1 -4
- data/app/commands/decidim/meetings/admin/destroy_meeting.rb +1 -1
- data/app/commands/decidim/meetings/admin/export_meeting_registrations.rb +1 -1
- data/app/commands/decidim/meetings/admin/invite_user_to_join_meeting.rb +9 -11
- data/app/commands/decidim/meetings/admin/publish_meeting.rb +1 -1
- data/app/commands/decidim/meetings/admin/unpublish_meeting.rb +1 -1
- data/app/commands/decidim/meetings/admin/update_agenda.rb +1 -1
- data/app/commands/decidim/meetings/admin/update_meeting.rb +1 -4
- data/app/commands/decidim/meetings/admin/update_question_status.rb +1 -1
- data/app/commands/decidim/meetings/admin/update_questionnaire.rb +10 -7
- data/app/commands/decidim/meetings/admin/update_registrations.rb +5 -3
- data/app/commands/decidim/meetings/admin/validate_registration_code.rb +1 -1
- data/app/commands/decidim/meetings/close_meeting.rb +1 -1
- data/app/commands/decidim/meetings/create_answer.rb +1 -1
- data/app/commands/decidim/meetings/create_meeting.rb +1 -1
- data/app/commands/decidim/meetings/decline_invitation.rb +1 -1
- data/app/commands/decidim/meetings/join_meeting.rb +6 -7
- data/app/commands/decidim/meetings/leave_meeting.rb +3 -3
- data/app/commands/decidim/meetings/update_meeting.rb +1 -1
- data/app/commands/decidim/meetings/withdraw_meeting.rb +1 -1
- data/app/controllers/concerns/decidim/meetings/admin/filterable.rb +4 -4
- data/app/controllers/concerns/decidim/meetings/filterable.rb +1 -7
- data/app/controllers/decidim/meetings/admin/meeting_copies_controller.rb +2 -2
- data/app/controllers/decidim/meetings/calendars_controller.rb +1 -1
- data/app/controllers/decidim/meetings/directory/meetings_controller.rb +17 -16
- data/app/controllers/decidim/meetings/meetings_controller.rb +21 -15
- data/app/events/decidim/meetings/meeting_registration_notification_event.rb +1 -1
- data/app/forms/decidim/meetings/admin/close_meeting_form.rb +1 -1
- data/app/forms/decidim/meetings/admin/meeting_copy_form.rb +51 -0
- data/app/forms/decidim/meetings/admin/meeting_form.rb +11 -10
- data/app/forms/decidim/meetings/admin/meeting_registration_invite_form.rb +1 -1
- data/app/forms/decidim/meetings/admin/meeting_registrations_form.rb +3 -0
- data/app/forms/decidim/meetings/answer_form.rb +0 -1
- data/app/forms/decidim/meetings/close_meeting_form.rb +1 -1
- data/app/forms/decidim/meetings/meeting_form.rb +2 -2
- data/app/helpers/decidim/meetings/application_helper.rb +8 -6
- data/app/helpers/decidim/meetings/directory/application_helper.rb +8 -6
- data/app/helpers/decidim/meetings/meetings_helper.rb +1 -3
- data/app/jobs/decidim/meetings/send_close_meeting_reminder_job.rb +17 -0
- data/app/mailers/decidim/meetings/close_meeting_reminder_mailer.rb +43 -0
- data/app/models/decidim/meetings/agenda_item.rb +1 -1
- data/app/models/decidim/meetings/answer.rb +2 -2
- data/app/models/decidim/meetings/invite.rb +2 -2
- data/app/models/decidim/meetings/meeting.rb +36 -21
- data/app/models/decidim/meetings/questionnaire.rb +6 -0
- data/app/models/decidim/meetings/registration.rb +2 -2
- data/app/packs/src/decidim/meetings/admin/meetings_form.js +0 -4
- data/app/packs/src/decidim/meetings/admin/registrations_form.js +2 -0
- data/app/presenters/decidim/meetings/admin_log/questionnaire_presenter.rb +39 -0
- data/app/queries/decidim/meetings/admin/invites.rb +1 -1
- data/app/queries/decidim/meetings/filtered_meetings.rb +1 -1
- data/app/queries/decidim/meetings/questionnaire_user_answers.rb +1 -1
- data/app/serializers/decidim/meetings/{data_portability_invite_serializer.rb → download_your_data_invite_serializer.rb} +2 -2
- data/app/serializers/decidim/meetings/{data_portability_registration_serializer.rb → download_your_data_registration_serializer.rb} +2 -2
- data/app/services/decidim/meetings/calendar/base_calendar.rb +4 -3
- data/app/services/decidim/meetings/calendar/component_calendar.rb +7 -9
- data/app/services/decidim/meetings/calendar/organization_calendar.rb +1 -1
- data/app/services/decidim/meetings/calendar_renderer.rb +4 -4
- data/app/services/decidim/meetings/close_meeting_reminder_generator.rb +68 -0
- data/app/services/decidim/meetings/meeting_iframe_embedder.rb +10 -6
- data/app/services/decidim/meetings/meeting_search.rb +7 -53
- data/app/views/decidim/meetings/_calendar_modal.html.erb +19 -2
- data/app/views/decidim/meetings/admin/meeting_copies/_form.html.erb +64 -0
- data/app/views/decidim/meetings/admin/meeting_copies/new.html.erb +1 -1
- data/app/views/decidim/meetings/admin/meetings/_form.html.erb +5 -17
- data/app/views/decidim/meetings/admin/meetings/index.html.erb +1 -1
- data/app/views/decidim/meetings/admin/registrations/_form.html.erb +9 -0
- data/app/views/decidim/meetings/close_meeting_reminder_mailer/close_meeting_reminder.html.erb +5 -0
- data/app/views/decidim/meetings/directory/meetings/_filters.html.erb +7 -7
- data/app/views/decidim/meetings/directory/meetings/_meetings.html.erb +6 -1
- data/app/views/decidim/meetings/directory/meetings/index.html.erb +1 -1
- data/app/views/decidim/meetings/directory/meetings/index.js.erb +7 -1
- data/app/views/decidim/meetings/layouts/live_event.html.erb +6 -2
- data/app/views/decidim/meetings/meetings/_count.html.erb +1 -1
- data/app/views/decidim/meetings/meetings/_filters.html.erb +7 -7
- data/app/views/decidim/meetings/meetings/_form.html.erb +4 -2
- data/app/views/decidim/meetings/meetings/_meetings.html.erb +11 -6
- data/app/views/decidim/meetings/meetings/index.html.erb +2 -2
- data/app/views/decidim/meetings/meetings/index.js.erb +2 -2
- data/config/locales/am-ET.yml +1 -0
- data/config/locales/ar.yml +10 -7
- data/config/locales/bg.yml +7 -0
- data/config/locales/ca.yml +34 -27
- data/config/locales/cs.yml +35 -28
- data/config/locales/da.yml +1 -0
- data/config/locales/de.yml +16 -77
- data/config/locales/el.yml +7 -0
- data/config/locales/en.yml +33 -27
- data/config/locales/eo.yml +1 -0
- data/config/locales/es-MX.yml +34 -27
- data/config/locales/es-PY.yml +34 -27
- data/config/locales/es.yml +34 -27
- data/config/locales/et.yml +1 -0
- data/config/locales/eu.yml +164 -204
- data/config/locales/fi-plain.yml +34 -27
- data/config/locales/fi.yml +34 -27
- data/config/locales/fr-CA.yml +31 -26
- data/config/locales/fr.yml +31 -26
- data/config/locales/ga-IE.yml +5 -9
- data/config/locales/gl.yml +23 -2
- data/config/locales/hr.yml +1 -0
- data/config/locales/hu.yml +20 -147
- data/config/locales/id-ID.yml +7 -0
- data/config/locales/is-IS.yml +4 -1
- data/config/locales/it.yml +14 -11
- data/config/locales/ja.yml +36 -29
- data/config/locales/ko.yml +1 -0
- data/config/locales/lb.yml +12 -6
- data/config/locales/lt.yml +1 -664
- data/config/locales/lv.yml +7 -0
- data/config/locales/mt.yml +1 -0
- data/config/locales/nl.yml +64 -91
- data/config/locales/no.yml +17 -12
- data/config/locales/om-ET.yml +1 -0
- data/config/locales/pl.yml +9 -14
- data/config/locales/pt-BR.yml +9 -13
- data/config/locales/pt.yml +13 -11
- data/config/locales/ro-RO.yml +18 -28
- data/config/locales/ru.yml +7 -0
- data/config/locales/si-LK.yml +1 -0
- data/config/locales/sk.yml +7 -0
- data/config/locales/sl.yml +4 -0
- data/config/locales/so-SO.yml +1 -0
- data/config/locales/sr-CS.yml +1 -0
- data/config/locales/sv.yml +20 -22
- data/config/locales/sw-KE.yml +1 -0
- data/config/locales/ti-ER.yml +1 -0
- data/config/locales/tr-TR.yml +7 -11
- data/config/locales/uk.yml +7 -0
- data/config/locales/val-ES.yml +1 -0
- data/config/locales/vi.yml +1 -0
- data/config/locales/zh-CN.yml +7 -7
- data/config/locales/zh-TW.yml +1 -0
- data/db/migrate/20210512100333_drop_decidim_meetings_minutes_table.rb +2 -2
- data/db/migrate/20210518133236_merge_minutes_with_closing_report_in_meetings_table.rb +1 -1
- data/db/migrate/20211105115625_remove_not_null_on_customize_registration_email.rb +7 -0
- data/lib/decidim/api/meeting_type.rb +1 -1
- data/lib/decidim/meetings/component.rb +7 -7
- data/lib/decidim/meetings/{data_portability_user_answers_serializer.rb → download_your_data_user_answers_serializer.rb} +2 -2
- data/lib/decidim/meetings/engine.rb +15 -1
- data/lib/decidim/meetings/test/factories.rb +3 -1
- data/lib/decidim/meetings/test/notifications_handling.rb +1 -1
- data/lib/decidim/meetings/test/translated_event.rb +2 -2
- data/lib/decidim/meetings/version.rb +1 -1
- data/lib/decidim/meetings.rb +5 -1
- metadata +29 -26
- data/app/services/decidim/meetings/directory/meeting_search.rb +0 -53
- data/config/locales/gn-PY.yml +0 -1
- data/config/locales/ka-GE.yml +0 -1
- data/config/locales/lo-LA.yml +0 -1
- data/config/locales/oc-FR.yml +0 -1
@@ -53,5 +53,5 @@ end
|
|
53
53
|
|
54
54
|
def minutes_data?(meeting)
|
55
55
|
[meeting.video_url, meeting.audio_url].any?(&:present?) ||
|
56
|
-
meeting.minutes_description.is_a?(Hash) && meeting.minutes_description.values.any?(&:present?)
|
56
|
+
(meeting.minutes_description.is_a?(Hash) && meeting.minutes_description.values.any?(&:present?))
|
57
57
|
end
|
@@ -6,6 +6,7 @@ module Decidim
|
|
6
6
|
description "A meeting"
|
7
7
|
|
8
8
|
implements Decidim::Comments::CommentableInterface
|
9
|
+
implements Decidim::Core::AuthorableInterface
|
9
10
|
implements Decidim::Core::CategorizableInterface
|
10
11
|
implements Decidim::Core::ScopableInterface
|
11
12
|
implements Decidim::Core::AttachableInterface
|
@@ -20,7 +21,6 @@ module Decidim
|
|
20
21
|
field :description, Decidim::Core::TranslatedFieldType, "The description of this meeting.", null: true
|
21
22
|
field :start_time, Decidim::Core::DateTimeType, "The time this meeting starts", null: false
|
22
23
|
field :end_time, Decidim::Core::DateTimeType, "The time this meeting ends", null: false
|
23
|
-
field :author, Decidim::Core::AuthorInterface, "If specified, the author of this meeting", null: true
|
24
24
|
field :agenda, Decidim::Meetings::AgendaType, "Agenda for this meeting, if available", null: true
|
25
25
|
|
26
26
|
def agenda
|
@@ -127,7 +127,7 @@ Decidim.register_component(:meetings) do |component|
|
|
127
127
|
end
|
128
128
|
|
129
129
|
2.times do
|
130
|
-
start_time =
|
130
|
+
start_time = [rand(1..20).weeks.from_now, rand(1..20).weeks.ago].sample
|
131
131
|
end_time = start_time + [rand(1..4).hours, rand(1..20).days].sample
|
132
132
|
params = {
|
133
133
|
component: component,
|
@@ -207,8 +207,8 @@ Decidim.register_component(:meetings) do |component|
|
|
207
207
|
user = Decidim::User.find_or_initialize_by(email: email)
|
208
208
|
|
209
209
|
user.update!(
|
210
|
-
password: "
|
211
|
-
password_confirmation: "
|
210
|
+
password: "decidim123456789",
|
211
|
+
password_confirmation: "decidim123456789",
|
212
212
|
name: name,
|
213
213
|
nickname: Faker::Twitter.unique.screen_name,
|
214
214
|
organization: component.organization,
|
@@ -236,7 +236,7 @@ Decidim.register_component(:meetings) do |component|
|
|
236
236
|
attachment_collection: attachment_collection,
|
237
237
|
attached_to: meeting,
|
238
238
|
content_type: "application/pdf",
|
239
|
-
file: ActiveStorage::Blob.
|
239
|
+
file: ActiveStorage::Blob.create_and_upload!(
|
240
240
|
io: File.open(File.join(__dir__, "seeds", "Exampledocument.pdf")),
|
241
241
|
filename: "Exampledocument.pdf",
|
242
242
|
content_type: "application/pdf",
|
@@ -248,7 +248,7 @@ Decidim.register_component(:meetings) do |component|
|
|
248
248
|
description: Decidim::Faker::Localized.sentence(word_count: 5),
|
249
249
|
attached_to: meeting,
|
250
250
|
content_type: "image/jpeg",
|
251
|
-
file: ActiveStorage::Blob.
|
251
|
+
file: ActiveStorage::Blob.create_and_upload!(
|
252
252
|
io: File.open(File.join(__dir__, "seeds", "city.jpeg")),
|
253
253
|
filename: "city.jpeg",
|
254
254
|
content_type: "image/jpeg",
|
@@ -260,7 +260,7 @@ Decidim.register_component(:meetings) do |component|
|
|
260
260
|
description: Decidim::Faker::Localized.sentence(word_count: 5),
|
261
261
|
attached_to: meeting,
|
262
262
|
content_type: "application/pdf",
|
263
|
-
file: ActiveStorage::Blob.
|
263
|
+
file: ActiveStorage::Blob.create_and_upload!(
|
264
264
|
io: File.open(File.join(__dir__, "seeds", "Exampledocument.pdf")),
|
265
265
|
filename: "Exampledocument.pdf",
|
266
266
|
content_type: "application/pdf",
|
@@ -282,7 +282,7 @@ Decidim.register_component(:meetings) do |component|
|
|
282
282
|
author = user_group.users.sample
|
283
283
|
end
|
284
284
|
|
285
|
-
start_time =
|
285
|
+
start_time = [rand(1..20).weeks.from_now, rand(1..20).weeks.ago].sample
|
286
286
|
params = {
|
287
287
|
component: component,
|
288
288
|
scope: Faker::Boolean.boolean(true_ratio: 0.5) ? global : scopes.sample,
|
@@ -2,9 +2,9 @@
|
|
2
2
|
|
3
3
|
module Decidim
|
4
4
|
module Meetings
|
5
|
-
class
|
5
|
+
class DownloadYourDataUserAnswersSerializer < Decidim::Exporters::Serializer
|
6
6
|
include Decidim::TranslationsHelper
|
7
|
-
# Serializes an user answer for data
|
7
|
+
# Serializes an user answer for download your data
|
8
8
|
def serialize
|
9
9
|
{
|
10
10
|
id: resource.id,
|
@@ -57,7 +57,7 @@ module Decidim
|
|
57
57
|
# meeting for the given participatory space.
|
58
58
|
Decidim.view_hooks.register(:upcoming_meeting_for_card, priority: Decidim::ViewHooks::LOW_PRIORITY) do |view_context|
|
59
59
|
published_components = Decidim::Component.where(participatory_space: view_context.current_participatory_space).published
|
60
|
-
upcoming_meeting = Decidim::Meetings::Meeting.where(component: published_components).
|
60
|
+
upcoming_meeting = Decidim::Meetings::Meeting.where(component: published_components).upcoming.order(:start_time, :end_time).first
|
61
61
|
|
62
62
|
next unless upcoming_meeting
|
63
63
|
|
@@ -119,6 +119,20 @@ module Decidim
|
|
119
119
|
initializer "decidim_meetings.webpacker.assets_path" do
|
120
120
|
Decidim.register_assets_path File.expand_path("app/packs", root)
|
121
121
|
end
|
122
|
+
|
123
|
+
initializer "decidim_meetings.notification_settings" do
|
124
|
+
Decidim.notification_settings(:close_meeting_reminder) { |ns| ns.settings_area = :administrators }
|
125
|
+
end
|
126
|
+
|
127
|
+
initializer "decidim_meetings.register_reminders" do
|
128
|
+
Decidim.reminders_registry.register(:close_meeting) do |reminder_registry|
|
129
|
+
reminder_registry.generator_class_name = "Decidim::Meetings::CloseMeetingReminderGenerator"
|
130
|
+
|
131
|
+
reminder_registry.settings do |settings|
|
132
|
+
settings.attribute :reminder_times, type: :array, default: [3.days, 7.days]
|
133
|
+
end
|
134
|
+
end
|
135
|
+
end
|
122
136
|
end
|
123
137
|
end
|
124
138
|
end
|
@@ -86,6 +86,8 @@ FactoryBot.define do
|
|
86
86
|
end
|
87
87
|
end
|
88
88
|
|
89
|
+
trait(:participant_author) { not_official }
|
90
|
+
|
89
91
|
trait :user_group_author do
|
90
92
|
author do
|
91
93
|
create(:user, organization: component.organization) if component
|
@@ -205,7 +207,7 @@ FactoryBot.define do
|
|
205
207
|
factory :invite, class: "Decidim::Meetings::Invite" do
|
206
208
|
meeting
|
207
209
|
user
|
208
|
-
sent_at {
|
210
|
+
sent_at { 1.day.ago }
|
209
211
|
accepted_at { nil }
|
210
212
|
rejected_at { nil }
|
211
213
|
|
@@ -13,7 +13,7 @@ shared_examples_for "emits an upcoming notificaton" do
|
|
13
13
|
.to receive(:generate_checksum).and_return "1234"
|
14
14
|
|
15
15
|
expect(Decidim::Meetings::UpcomingMeetingNotificationJob)
|
16
|
-
.to receive_message_chain(:set, :perform_later)
|
16
|
+
.to receive_message_chain(:set, :perform_later)
|
17
17
|
.with(set: meeting.start_time - Decidim::Meetings.upcoming_meeting_notification)
|
18
18
|
.with(kind_of(Integer), "1234")
|
19
19
|
|
@@ -3,7 +3,7 @@
|
|
3
3
|
shared_examples_for "a translated meeting event" do
|
4
4
|
describe "translated notifications" do
|
5
5
|
let(:en_body) { "This is Sparta!" }
|
6
|
-
let(:body) { {
|
6
|
+
let(:body) { { en: en_body, machine_translations: { ca: "C'est Sparta!" } } }
|
7
7
|
let(:participatory_process) { create :participatory_process, organization: organization }
|
8
8
|
let(:meeting_component) { create(:meeting_component, participatory_space: participatory_process) }
|
9
9
|
let(:translatable) { true }
|
@@ -13,7 +13,7 @@ shared_examples_for "a translated meeting event" do
|
|
13
13
|
let(:resource) do
|
14
14
|
create :meeting,
|
15
15
|
component: meeting_component,
|
16
|
-
title: {
|
16
|
+
title: { en: "A nice event", machine_translations: { ca: "Une belle event" } },
|
17
17
|
description: body
|
18
18
|
end
|
19
19
|
|
data/lib/decidim/meetings.rb
CHANGED
@@ -15,7 +15,7 @@ module Decidim
|
|
15
15
|
autoload :Registrations, "decidim/meetings/registrations"
|
16
16
|
autoload :MeetingSerializer, "decidim/meetings/meeting_serializer"
|
17
17
|
autoload :UserAnswersSerializer, "decidim/meetings/user_answers_serializer"
|
18
|
-
autoload :
|
18
|
+
autoload :DownloadYourDataUserAnswersSerializer, "decidim/meetings/download_your_data_user_answers_serializer"
|
19
19
|
|
20
20
|
include ActiveSupport::Configurable
|
21
21
|
|
@@ -28,6 +28,10 @@ module Decidim
|
|
28
28
|
config_accessor :upcoming_meeting_notification do
|
29
29
|
2.days
|
30
30
|
end
|
31
|
+
|
32
|
+
config_accessor :embeddable_services do
|
33
|
+
%w(www.youtube.com www.twitch.tv meet.jit.si)
|
34
|
+
end
|
31
35
|
end
|
32
36
|
|
33
37
|
module ContentParsers
|
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.27.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:
|
13
|
+
date: 2022-06-27 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.27.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.27.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.27.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.27.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.27.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.27.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.27.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.27.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.27.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.27.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.27.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.27.0.rc1
|
113
113
|
description: A meetings component for decidim's participatory spaces.
|
114
114
|
email:
|
115
115
|
- josepjaume@gmail.com
|
@@ -224,6 +224,7 @@ files:
|
|
224
224
|
- app/forms/decidim/meetings/admin/close_meeting_form.rb
|
225
225
|
- app/forms/decidim/meetings/admin/meeting_agenda_form.rb
|
226
226
|
- app/forms/decidim/meetings/admin/meeting_agenda_items_form.rb
|
227
|
+
- app/forms/decidim/meetings/admin/meeting_copy_form.rb
|
227
228
|
- app/forms/decidim/meetings/admin/meeting_form.rb
|
228
229
|
- app/forms/decidim/meetings/admin/meeting_registration_invite_form.rb
|
229
230
|
- app/forms/decidim/meetings/admin/meeting_registrations_form.rb
|
@@ -244,8 +245,10 @@ files:
|
|
244
245
|
- app/helpers/decidim/meetings/map_helper.rb
|
245
246
|
- app/helpers/decidim/meetings/meeting_cells_helper.rb
|
246
247
|
- app/helpers/decidim/meetings/meetings_helper.rb
|
248
|
+
- app/jobs/decidim/meetings/send_close_meeting_reminder_job.rb
|
247
249
|
- app/jobs/decidim/meetings/upcoming_meeting_notification_job.rb
|
248
250
|
- app/mailers/decidim/meetings/admin/invite_join_meeting_mailer.rb
|
251
|
+
- app/mailers/decidim/meetings/close_meeting_reminder_mailer.rb
|
249
252
|
- app/mailers/decidim/meetings/registration_mailer.rb
|
250
253
|
- app/models/decidim/meetings/agenda.rb
|
251
254
|
- app/models/decidim/meetings/agenda_item.rb
|
@@ -279,6 +282,7 @@ files:
|
|
279
282
|
- app/permissions/decidim/meetings/permissions.rb
|
280
283
|
- app/presenters/decidim/meetings/admin_log/invite_presenter.rb
|
281
284
|
- app/presenters/decidim/meetings/admin_log/meeting_presenter.rb
|
285
|
+
- app/presenters/decidim/meetings/admin_log/questionnaire_presenter.rb
|
282
286
|
- app/presenters/decidim/meetings/admin_log/value_types/meeting_title_description_presenter.rb
|
283
287
|
- app/presenters/decidim/meetings/invite_presenter.rb
|
284
288
|
- app/presenters/decidim/meetings/log/resource_presenter.rb
|
@@ -290,8 +294,8 @@ files:
|
|
290
294
|
- app/queries/decidim/meetings/metrics/meeting_followers_metric_measure.rb
|
291
295
|
- app/queries/decidim/meetings/metrics/meetings_metric_manage.rb
|
292
296
|
- app/queries/decidim/meetings/questionnaire_user_answers.rb
|
293
|
-
- app/serializers/decidim/meetings/
|
294
|
-
- app/serializers/decidim/meetings/
|
297
|
+
- app/serializers/decidim/meetings/download_your_data_invite_serializer.rb
|
298
|
+
- app/serializers/decidim/meetings/download_your_data_registration_serializer.rb
|
295
299
|
- app/serializers/decidim/meetings/registration_serializer.rb
|
296
300
|
- app/services/decidim/meetings/calendar/base_calendar.rb
|
297
301
|
- app/services/decidim/meetings/calendar/component_calendar.rb
|
@@ -299,8 +303,8 @@ files:
|
|
299
303
|
- app/services/decidim/meetings/calendar/meeting_to_event.rb
|
300
304
|
- app/services/decidim/meetings/calendar/organization_calendar.rb
|
301
305
|
- app/services/decidim/meetings/calendar_renderer.rb
|
306
|
+
- app/services/decidim/meetings/close_meeting_reminder_generator.rb
|
302
307
|
- app/services/decidim/meetings/diff_renderer.rb
|
303
|
-
- app/services/decidim/meetings/directory/meeting_search.rb
|
304
308
|
- app/services/decidim/meetings/meeting_iframe_embedder.rb
|
305
309
|
- app/services/decidim/meetings/meeting_search.rb
|
306
310
|
- app/views/decidim/meetings/_calendar_modal.html.erb
|
@@ -318,6 +322,7 @@ files:
|
|
318
322
|
- app/views/decidim/meetings/admin/meeting_closes/_form.html.erb
|
319
323
|
- app/views/decidim/meetings/admin/meeting_closes/edit.html.erb
|
320
324
|
- app/views/decidim/meetings/admin/meeting_closes/proposals_picker.html.erb
|
325
|
+
- app/views/decidim/meetings/admin/meeting_copies/_form.html.erb
|
321
326
|
- app/views/decidim/meetings/admin/meeting_copies/new.html.erb
|
322
327
|
- app/views/decidim/meetings/admin/meetings/_form.html.erb
|
323
328
|
- app/views/decidim/meetings/admin/meetings/_service.html.erb
|
@@ -332,6 +337,7 @@ files:
|
|
332
337
|
- app/views/decidim/meetings/admin/poll/edit.html.erb
|
333
338
|
- app/views/decidim/meetings/admin/registrations/_form.html.erb
|
334
339
|
- app/views/decidim/meetings/admin/registrations/edit.html.erb
|
340
|
+
- app/views/decidim/meetings/close_meeting_reminder_mailer/close_meeting_reminder.html.erb
|
335
341
|
- app/views/decidim/meetings/directory/meetings/_filters.html.erb
|
336
342
|
- app/views/decidim/meetings/directory/meetings/_meetings.html.erb
|
337
343
|
- app/views/decidim/meetings/directory/meetings/index.html.erb
|
@@ -404,7 +410,6 @@ files:
|
|
404
410
|
- config/locales/fr.yml
|
405
411
|
- config/locales/ga-IE.yml
|
406
412
|
- config/locales/gl.yml
|
407
|
-
- config/locales/gn-PY.yml
|
408
413
|
- config/locales/hr-HR.yml
|
409
414
|
- config/locales/hr.yml
|
410
415
|
- config/locales/hu.yml
|
@@ -413,12 +418,10 @@ files:
|
|
413
418
|
- config/locales/is.yml
|
414
419
|
- config/locales/it.yml
|
415
420
|
- config/locales/ja.yml
|
416
|
-
- config/locales/ka-GE.yml
|
417
421
|
- config/locales/ko-KR.yml
|
418
422
|
- config/locales/ko.yml
|
419
423
|
- config/locales/lb-LU.yml
|
420
424
|
- config/locales/lb.yml
|
421
|
-
- config/locales/lo-LA.yml
|
422
425
|
- config/locales/lt-LT.yml
|
423
426
|
- config/locales/lt.yml
|
424
427
|
- config/locales/lv.yml
|
@@ -426,7 +429,6 @@ files:
|
|
426
429
|
- config/locales/mt.yml
|
427
430
|
- config/locales/nl.yml
|
428
431
|
- config/locales/no.yml
|
429
|
-
- config/locales/oc-FR.yml
|
430
432
|
- config/locales/om-ET.yml
|
431
433
|
- config/locales/pl.yml
|
432
434
|
- config/locales/pt-BR.yml
|
@@ -504,6 +506,7 @@ files:
|
|
504
506
|
- db/migrate/20210903143040_add_iframe_access_level_to_decidim_meetings.rb
|
505
507
|
- db/migrate/20210922140454_transform_show_embedded_iframe_column.rb
|
506
508
|
- db/migrate/20210928095036_rename_upcoming_events_content_block_to_upcoming_meetings.rb
|
509
|
+
- db/migrate/20211105115625_remove_not_null_on_customize_registration_email.rb
|
507
510
|
- lib/decidim/api/agenda_item_type.rb
|
508
511
|
- lib/decidim/api/agenda_type.rb
|
509
512
|
- lib/decidim/api/linked_resources_interface.rb
|
@@ -518,9 +521,9 @@ files:
|
|
518
521
|
- lib/decidim/meetings/admin_engine.rb
|
519
522
|
- lib/decidim/meetings/api.rb
|
520
523
|
- lib/decidim/meetings/component.rb
|
521
|
-
- lib/decidim/meetings/data_portability_user_answers_serializer.rb
|
522
524
|
- lib/decidim/meetings/directory.rb
|
523
525
|
- lib/decidim/meetings/directory_engine.rb
|
526
|
+
- lib/decidim/meetings/download_your_data_user_answers_serializer.rb
|
524
527
|
- lib/decidim/meetings/engine.rb
|
525
528
|
- lib/decidim/meetings/meeting_serializer.rb
|
526
529
|
- lib/decidim/meetings/polls.rb
|
@@ -546,14 +549,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
|
|
546
549
|
requirements:
|
547
550
|
- - ">="
|
548
551
|
- !ruby/object:Gem::Version
|
549
|
-
version: '
|
552
|
+
version: '3.0'
|
550
553
|
required_rubygems_version: !ruby/object:Gem::Requirement
|
551
554
|
requirements:
|
552
|
-
- - "
|
555
|
+
- - ">"
|
553
556
|
- !ruby/object:Gem::Version
|
554
|
-
version:
|
557
|
+
version: 1.3.1
|
555
558
|
requirements: []
|
556
|
-
rubygems_version: 3.
|
559
|
+
rubygems_version: 3.2.22
|
557
560
|
signing_key:
|
558
561
|
specification_version: 4
|
559
562
|
summary: Decidim meetings module
|
@@ -1,53 +0,0 @@
|
|
1
|
-
# frozen_string_literal: true
|
2
|
-
|
3
|
-
module Decidim
|
4
|
-
module Meetings
|
5
|
-
module Directory
|
6
|
-
class MeetingSearch < Decidim::Meetings::MeetingSearch
|
7
|
-
text_search_fields :title, :description
|
8
|
-
|
9
|
-
def search_space
|
10
|
-
return query if options[:space].blank? || options[:space] == "all"
|
11
|
-
|
12
|
-
query.joins(:component).where(decidim_components: { participatory_space_type: options[:space].collect(&:classify) })
|
13
|
-
end
|
14
|
-
|
15
|
-
private
|
16
|
-
|
17
|
-
# Private: Creates an array of category ids.
|
18
|
-
# It contains categories' subcategories ids as well.
|
19
|
-
def all_category_ids
|
20
|
-
cat_ids = fetch_category_ids
|
21
|
-
|
22
|
-
component.flat_map do |comp|
|
23
|
-
comp
|
24
|
-
.categories
|
25
|
-
.where(id: cat_ids)
|
26
|
-
.or(comp.categories.where(parent_id: cat_ids))
|
27
|
-
.pluck(:id).tap { |ids| ids.prepend(nil) if category_ids.include?("without") }
|
28
|
-
end
|
29
|
-
end
|
30
|
-
|
31
|
-
# take a param list like ["2", "10", "Decidim__Assembly4", "Decidim__Assembly2"]
|
32
|
-
# return a param list like [47, 48, 43, 44, 45, 46, 41, 42, 27, 28, 32, 31, 29, 30, 26, 25]
|
33
|
-
def fetch_category_ids
|
34
|
-
cat_ids = category_ids.without("without")
|
35
|
-
|
36
|
-
additional_ids = cat_ids.select { |a| a =~ /Decidim__/ }
|
37
|
-
|
38
|
-
additional_ids = parse_category_ids(additional_ids)
|
39
|
-
cat_ids.collect(&:to_i).without(0).push(*additional_ids)
|
40
|
-
end
|
41
|
-
|
42
|
-
# this function expects an array of the following format : [ "Decidim__Assembly4", "Decidim__Assembly2"]
|
43
|
-
# It will transform each parameter into an array of class_name and id [["Decidim::Assembly", "4"], ["Decidim::Assembly", "2"]]
|
44
|
-
# After we rebuild the find query and retrun the category_ids for each participatory space
|
45
|
-
def parse_category_ids(additional_ids)
|
46
|
-
additional_ids = additional_ids.map { |a| a.gsub("__", "::").gsub(/(\d+)/, '.\1').split(".") }
|
47
|
-
additional_ids = additional_ids.map { |v| v.first.safe_constantize.send(:find, v.last.to_i).category_ids }
|
48
|
-
additional_ids.flatten
|
49
|
-
end
|
50
|
-
end
|
51
|
-
end
|
52
|
-
end
|
53
|
-
end
|
data/config/locales/gn-PY.yml
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
gn:
|
data/config/locales/ka-GE.yml
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
ka:
|
data/config/locales/lo-LA.yml
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
lo:
|
data/config/locales/oc-FR.yml
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
oc:
|