decidim-meetings 0.26.7 → 0.27.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (166) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/meetings/content_blocks/highlighted_meetings_cell.rb +1 -1
  3. data/app/cells/decidim/meetings/content_blocks/upcoming_meetings/show.erb +1 -1
  4. data/app/cells/decidim/meetings/content_blocks/upcoming_meetings_cell.rb +2 -2
  5. data/app/cells/decidim/meetings/highlighted_meetings_for_component_cell.rb +10 -1
  6. data/app/cells/decidim/meetings/meeting_list_item_cell.rb +1 -1
  7. data/app/cells/decidim/meetings/meeting_m_cell.rb +1 -1
  8. data/app/cells/decidim/meetings/meeting_s_cell.rb +6 -0
  9. data/app/commands/decidim/meetings/admin/close_meeting.rb +1 -1
  10. data/app/commands/decidim/meetings/admin/copy_meeting.rb +5 -24
  11. data/app/commands/decidim/meetings/admin/create_agenda.rb +1 -1
  12. data/app/commands/decidim/meetings/admin/create_meeting.rb +1 -5
  13. data/app/commands/decidim/meetings/admin/destroy_meeting.rb +1 -1
  14. data/app/commands/decidim/meetings/admin/export_meeting_registrations.rb +1 -1
  15. data/app/commands/decidim/meetings/admin/invite_user_to_join_meeting.rb +9 -11
  16. data/app/commands/decidim/meetings/admin/publish_meeting.rb +2 -2
  17. data/app/commands/decidim/meetings/admin/unpublish_meeting.rb +1 -1
  18. data/app/commands/decidim/meetings/admin/update_agenda.rb +1 -1
  19. data/app/commands/decidim/meetings/admin/update_meeting.rb +1 -5
  20. data/app/commands/decidim/meetings/admin/update_question_status.rb +1 -1
  21. data/app/commands/decidim/meetings/admin/update_questionnaire.rb +10 -7
  22. data/app/commands/decidim/meetings/admin/update_registrations.rb +5 -3
  23. data/app/commands/decidim/meetings/admin/validate_registration_code.rb +1 -1
  24. data/app/commands/decidim/meetings/close_meeting.rb +1 -1
  25. data/app/commands/decidim/meetings/create_answer.rb +1 -1
  26. data/app/commands/decidim/meetings/create_meeting.rb +1 -1
  27. data/app/commands/decidim/meetings/decline_invitation.rb +1 -1
  28. data/app/commands/decidim/meetings/join_meeting.rb +6 -7
  29. data/app/commands/decidim/meetings/leave_meeting.rb +3 -3
  30. data/app/commands/decidim/meetings/update_meeting.rb +1 -1
  31. data/app/commands/decidim/meetings/withdraw_meeting.rb +1 -1
  32. data/app/controllers/concerns/decidim/meetings/admin/filterable.rb +4 -4
  33. data/app/controllers/concerns/decidim/meetings/filterable.rb +1 -7
  34. data/app/controllers/decidim/meetings/admin/meeting_copies_controller.rb +2 -2
  35. data/app/controllers/decidim/meetings/calendars_controller.rb +1 -1
  36. data/app/controllers/decidim/meetings/directory/meetings_controller.rb +17 -16
  37. data/app/controllers/decidim/meetings/meetings_controller.rb +21 -15
  38. data/app/events/decidim/meetings/meeting_registration_notification_event.rb +1 -1
  39. data/app/forms/decidim/meetings/admin/close_meeting_form.rb +1 -1
  40. data/app/forms/decidim/meetings/admin/meeting_copy_form.rb +51 -0
  41. data/app/forms/decidim/meetings/admin/meeting_form.rb +11 -15
  42. data/app/forms/decidim/meetings/admin/meeting_registration_invite_form.rb +1 -1
  43. data/app/forms/decidim/meetings/admin/meeting_registrations_form.rb +3 -0
  44. data/app/forms/decidim/meetings/answer_form.rb +0 -1
  45. data/app/forms/decidim/meetings/close_meeting_form.rb +1 -1
  46. data/app/forms/decidim/meetings/meeting_form.rb +2 -2
  47. data/app/helpers/decidim/meetings/application_helper.rb +10 -19
  48. data/app/helpers/decidim/meetings/directory/application_helper.rb +8 -6
  49. data/app/helpers/decidim/meetings/meetings_helper.rb +1 -3
  50. data/app/jobs/decidim/meetings/send_close_meeting_reminder_job.rb +17 -0
  51. data/app/mailers/decidim/meetings/close_meeting_reminder_mailer.rb +43 -0
  52. data/app/models/decidim/meetings/agenda_item.rb +1 -1
  53. data/app/models/decidim/meetings/answer.rb +2 -2
  54. data/app/models/decidim/meetings/invite.rb +2 -2
  55. data/app/models/decidim/meetings/meeting.rb +36 -21
  56. data/app/models/decidim/meetings/questionnaire.rb +6 -0
  57. data/app/models/decidim/meetings/registration.rb +2 -2
  58. data/app/packs/src/decidim/meetings/admin/meetings_form.js +0 -4
  59. data/app/packs/src/decidim/meetings/admin/registrations_form.js +2 -0
  60. data/app/presenters/decidim/meetings/admin_log/questionnaire_presenter.rb +39 -0
  61. data/app/presenters/decidim/meetings/meeting_presenter.rb +6 -1
  62. data/app/queries/decidim/meetings/admin/invites.rb +1 -1
  63. data/app/queries/decidim/meetings/filtered_meetings.rb +1 -1
  64. data/app/queries/decidim/meetings/questionnaire_user_answers.rb +1 -1
  65. data/app/serializers/decidim/meetings/{data_portability_invite_serializer.rb → download_your_data_invite_serializer.rb} +2 -2
  66. data/app/serializers/decidim/meetings/{data_portability_registration_serializer.rb → download_your_data_registration_serializer.rb} +2 -2
  67. data/app/services/decidim/meetings/calendar/base_calendar.rb +4 -3
  68. data/app/services/decidim/meetings/calendar/component_calendar.rb +7 -9
  69. data/app/services/decidim/meetings/calendar/organization_calendar.rb +1 -1
  70. data/app/services/decidim/meetings/calendar_renderer.rb +4 -4
  71. data/app/services/decidim/meetings/close_meeting_reminder_generator.rb +68 -0
  72. data/app/services/decidim/meetings/meeting_iframe_embedder.rb +10 -6
  73. data/app/services/decidim/meetings/meeting_search.rb +7 -53
  74. data/app/views/decidim/meetings/_calendar_modal.html.erb +19 -2
  75. data/app/views/decidim/meetings/admin/meeting_copies/_form.html.erb +64 -0
  76. data/app/views/decidim/meetings/admin/meeting_copies/new.html.erb +1 -1
  77. data/app/views/decidim/meetings/admin/meetings/_form.html.erb +5 -17
  78. data/app/views/decidim/meetings/admin/meetings/index.html.erb +1 -1
  79. data/app/views/decidim/meetings/admin/registrations/_form.html.erb +10 -1
  80. data/app/views/decidim/meetings/close_meeting_reminder_mailer/close_meeting_reminder.html.erb +5 -0
  81. data/app/views/decidim/meetings/directory/meetings/_filters.html.erb +7 -7
  82. data/app/views/decidim/meetings/directory/meetings/_meetings.html.erb +6 -1
  83. data/app/views/decidim/meetings/directory/meetings/index.html.erb +1 -1
  84. data/app/views/decidim/meetings/directory/meetings/index.js.erb +7 -1
  85. data/app/views/decidim/meetings/layouts/live_event.html.erb +6 -2
  86. data/app/views/decidim/meetings/meetings/_count.html.erb +1 -1
  87. data/app/views/decidim/meetings/meetings/_filters.html.erb +7 -7
  88. data/app/views/decidim/meetings/meetings/_form.html.erb +4 -2
  89. data/app/views/decidim/meetings/meetings/_linked_meetings.html.erb +1 -1
  90. data/app/views/decidim/meetings/meetings/_meetings.html.erb +11 -6
  91. data/app/views/decidim/meetings/meetings/index.html.erb +2 -2
  92. data/app/views/decidim/meetings/meetings/index.js.erb +2 -2
  93. data/config/locales/am-ET.yml +1 -0
  94. data/config/locales/ar.yml +9 -260
  95. data/config/locales/bg.yml +7 -0
  96. data/config/locales/ca.yml +34 -27
  97. data/config/locales/cs.yml +35 -28
  98. data/config/locales/da.yml +1 -0
  99. data/config/locales/de.yml +16 -77
  100. data/config/locales/el.yml +7 -0
  101. data/config/locales/en.yml +33 -27
  102. data/config/locales/eo.yml +1 -0
  103. data/config/locales/es-MX.yml +34 -27
  104. data/config/locales/es-PY.yml +34 -27
  105. data/config/locales/es.yml +34 -27
  106. data/config/locales/et.yml +1 -0
  107. data/config/locales/eu.yml +164 -204
  108. data/config/locales/fi-plain.yml +34 -27
  109. data/config/locales/fi.yml +34 -27
  110. data/config/locales/fr-CA.yml +31 -26
  111. data/config/locales/fr.yml +31 -26
  112. data/config/locales/ga-IE.yml +5 -9
  113. data/config/locales/gl.yml +23 -2
  114. data/config/locales/hr.yml +1 -0
  115. data/config/locales/hu.yml +20 -147
  116. data/config/locales/id-ID.yml +7 -0
  117. data/config/locales/is-IS.yml +4 -1
  118. data/config/locales/it.yml +14 -11
  119. data/config/locales/ja.yml +40 -33
  120. data/config/locales/ko.yml +1 -0
  121. data/config/locales/lb.yml +12 -6
  122. data/config/locales/lt.yml +1 -664
  123. data/config/locales/lv.yml +7 -0
  124. data/config/locales/mt.yml +1 -0
  125. data/config/locales/nl.yml +64 -91
  126. data/config/locales/no.yml +17 -12
  127. data/config/locales/om-ET.yml +1 -0
  128. data/config/locales/pl.yml +9 -14
  129. data/config/locales/pt-BR.yml +9 -13
  130. data/config/locales/pt.yml +13 -11
  131. data/config/locales/ro-RO.yml +18 -40
  132. data/config/locales/ru.yml +7 -0
  133. data/config/locales/si-LK.yml +1 -0
  134. data/config/locales/sk.yml +7 -0
  135. data/config/locales/sl.yml +4 -0
  136. data/config/locales/so-SO.yml +1 -0
  137. data/config/locales/sr-CS.yml +1 -0
  138. data/config/locales/sv.yml +20 -22
  139. data/config/locales/sw-KE.yml +1 -0
  140. data/config/locales/ti-ER.yml +1 -0
  141. data/config/locales/tr-TR.yml +7 -11
  142. data/config/locales/uk.yml +7 -0
  143. data/config/locales/val-ES.yml +1 -0
  144. data/config/locales/vi.yml +1 -0
  145. data/config/locales/zh-CN.yml +7 -7
  146. data/config/locales/zh-TW.yml +1 -654
  147. data/db/migrate/20210512100333_drop_decidim_meetings_minutes_table.rb +2 -2
  148. data/db/migrate/20210518133236_merge_minutes_with_closing_report_in_meetings_table.rb +1 -1
  149. data/db/migrate/20211105115625_remove_not_null_on_customize_registration_email.rb +7 -0
  150. data/lib/decidim/api/meeting_type.rb +1 -1
  151. data/lib/decidim/meetings/component.rb +7 -7
  152. data/lib/decidim/meetings/{data_portability_user_answers_serializer.rb → download_your_data_user_answers_serializer.rb} +2 -2
  153. data/lib/decidim/meetings/engine.rb +15 -1
  154. data/lib/decidim/meetings/test/factories.rb +3 -1
  155. data/lib/decidim/meetings/test/notifications_handling.rb +1 -1
  156. data/lib/decidim/meetings/test/translated_event.rb +2 -2
  157. data/lib/decidim/meetings/version.rb +1 -1
  158. data/lib/decidim/meetings.rb +5 -1
  159. metadata +29 -28
  160. data/app/services/decidim/meetings/directory/meeting_search.rb +0 -53
  161. data/config/locales/fa-IR.yml +0 -1
  162. data/config/locales/gn-PY.yml +0 -1
  163. data/config/locales/ka-GE.yml +0 -1
  164. data/config/locales/kaa.yml +0 -1
  165. data/config/locales/lo-LA.yml +0 -1
  166. data/config/locales/oc-FR.yml +0 -1
@@ -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 = Faker::Date.between(from: 20.weeks.ago, to: 20.weeks.from_now)
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: "decidim123456",
211
- password_confirmation: "decidim123456",
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.create_after_upload!(
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.create_after_upload!(
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.create_after_upload!(
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 = Faker::Date.between(from: 20.weeks.ago, to: 20.weeks.from_now)
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 DataPortabilityUserAnswersSerializer < Decidim::Exporters::Serializer
5
+ class DownloadYourDataUserAnswersSerializer < Decidim::Exporters::Serializer
6
6
  include Decidim::TranslationsHelper
7
- # Serializes an user answer for data portability
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).published.upcoming.order(:start_time, :end_time).first
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 { Time.current - 1.day }
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) # rubocop:disable RSpec/MessageChain
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) { { "en": en_body, "machine_translations": { "ca": "C'est Sparta!" } } }
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: { "en": "A nice event", "machine_translations": { "ca": "Une belle event" } },
16
+ title: { en: "A nice event", machine_translations: { ca: "Une belle event" } },
17
17
  description: body
18
18
  end
19
19
 
@@ -4,7 +4,7 @@ module Decidim
4
4
  # This holds the decidim-meetings version.
5
5
  module Meetings
6
6
  def self.version
7
- "0.26.7"
7
+ "0.27.0.rc1"
8
8
  end
9
9
  end
10
10
  end
@@ -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 :DataPortabilityUserAnswersSerializer, "decidim/meetings/data_portability_user_answers_serializer"
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.26.7
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: 2023-05-11 00:00:00.000000000 Z
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.26.7
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.26.7
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.26.7
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.26.7
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.26.7
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.26.7
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.26.7
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.26.7
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.26.7
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.26.7
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.26.7
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.26.7
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/data_portability_invite_serializer.rb
294
- - app/serializers/decidim/meetings/data_portability_registration_serializer.rb
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
@@ -396,7 +402,6 @@ files:
396
402
  - config/locales/et-EE.yml
397
403
  - config/locales/et.yml
398
404
  - config/locales/eu.yml
399
- - config/locales/fa-IR.yml
400
405
  - config/locales/fi-pl.yml
401
406
  - config/locales/fi-plain.yml
402
407
  - config/locales/fi.yml
@@ -405,7 +410,6 @@ files:
405
410
  - config/locales/fr.yml
406
411
  - config/locales/ga-IE.yml
407
412
  - config/locales/gl.yml
408
- - config/locales/gn-PY.yml
409
413
  - config/locales/hr-HR.yml
410
414
  - config/locales/hr.yml
411
415
  - config/locales/hu.yml
@@ -414,13 +418,10 @@ files:
414
418
  - config/locales/is.yml
415
419
  - config/locales/it.yml
416
420
  - config/locales/ja.yml
417
- - config/locales/ka-GE.yml
418
- - config/locales/kaa.yml
419
421
  - config/locales/ko-KR.yml
420
422
  - config/locales/ko.yml
421
423
  - config/locales/lb-LU.yml
422
424
  - config/locales/lb.yml
423
- - config/locales/lo-LA.yml
424
425
  - config/locales/lt-LT.yml
425
426
  - config/locales/lt.yml
426
427
  - config/locales/lv.yml
@@ -428,7 +429,6 @@ files:
428
429
  - config/locales/mt.yml
429
430
  - config/locales/nl.yml
430
431
  - config/locales/no.yml
431
- - config/locales/oc-FR.yml
432
432
  - config/locales/om-ET.yml
433
433
  - config/locales/pl.yml
434
434
  - config/locales/pt-BR.yml
@@ -506,6 +506,7 @@ files:
506
506
  - db/migrate/20210903143040_add_iframe_access_level_to_decidim_meetings.rb
507
507
  - db/migrate/20210922140454_transform_show_embedded_iframe_column.rb
508
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
509
510
  - lib/decidim/api/agenda_item_type.rb
510
511
  - lib/decidim/api/agenda_type.rb
511
512
  - lib/decidim/api/linked_resources_interface.rb
@@ -520,9 +521,9 @@ files:
520
521
  - lib/decidim/meetings/admin_engine.rb
521
522
  - lib/decidim/meetings/api.rb
522
523
  - lib/decidim/meetings/component.rb
523
- - lib/decidim/meetings/data_portability_user_answers_serializer.rb
524
524
  - lib/decidim/meetings/directory.rb
525
525
  - lib/decidim/meetings/directory_engine.rb
526
+ - lib/decidim/meetings/download_your_data_user_answers_serializer.rb
526
527
  - lib/decidim/meetings/engine.rb
527
528
  - lib/decidim/meetings/meeting_serializer.rb
528
529
  - lib/decidim/meetings/polls.rb
@@ -548,14 +549,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
548
549
  requirements:
549
550
  - - ">="
550
551
  - !ruby/object:Gem::Version
551
- version: '2.7'
552
+ version: '3.0'
552
553
  required_rubygems_version: !ruby/object:Gem::Requirement
553
554
  requirements:
554
- - - ">="
555
+ - - ">"
555
556
  - !ruby/object:Gem::Version
556
- version: '0'
557
+ version: 1.3.1
557
558
  requirements: []
558
- rubygems_version: 3.1.6
559
+ rubygems_version: 3.2.22
559
560
  signing_key:
560
561
  specification_version: 4
561
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
@@ -1 +0,0 @@
1
- fa:
@@ -1 +0,0 @@
1
- gn:
@@ -1 +0,0 @@
1
- ka:
@@ -1 +0,0 @@
1
- kaa:
@@ -1 +0,0 @@
1
- lo:
@@ -1 +0,0 @@
1
- oc: