decidim-meetings 0.28.3 → 0.29.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
Files changed (147) hide show
  1. checksums.yaml +4 -4
  2. data/app/cells/decidim/meetings/attending_organizations_list_cell.rb +1 -1
  3. data/app/cells/decidim/meetings/cancel_registration_meeting_button_cell.rb +1 -2
  4. data/app/cells/decidim/meetings/highlighted_meetings_for_component_cell.rb +1 -2
  5. data/app/cells/decidim/meetings/join_meeting_button/remaining_slots.erb +1 -0
  6. data/app/cells/decidim/meetings/join_meeting_button_cell.rb +0 -3
  7. data/app/cells/decidim/meetings/meeting_card_metadata_cell.rb +0 -3
  8. data/app/cells/decidim/meetings/meeting_cell.rb +0 -1
  9. data/app/cells/decidim/meetings/meeting_l_cell.rb +4 -2
  10. data/app/cells/decidim/meetings/meeting_url/show.erb +5 -5
  11. data/app/cells/decidim/meetings/meeting_url_cell.rb +0 -1
  12. data/app/cells/decidim/meetings/online_meeting_link_cell.rb +0 -2
  13. data/app/cells/decidim/meetings/question_responses/show.erb +7 -3
  14. data/app/cells/decidim/meetings/question_responses_cell.rb +0 -2
  15. data/app/commands/decidim/meetings/admin/copy_meeting.rb +2 -2
  16. data/app/commands/decidim/meetings/admin/create_agenda.rb +9 -37
  17. data/app/commands/decidim/meetings/admin/create_meeting.rb +28 -61
  18. data/app/commands/decidim/meetings/admin/destroy_meeting.rb +4 -33
  19. data/app/commands/decidim/meetings/admin/update_agenda.rb +7 -35
  20. data/app/commands/decidim/meetings/admin/update_meeting.rb +30 -68
  21. data/app/commands/decidim/meetings/admin/update_question_status.rb +1 -1
  22. data/app/commands/decidim/meetings/admin/update_questionnaire.rb +19 -11
  23. data/app/commands/decidim/meetings/admin/update_registrations.rb +20 -46
  24. data/app/commands/decidim/meetings/create_answer.rb +5 -4
  25. data/app/commands/decidim/meetings/create_meeting.rb +38 -62
  26. data/app/commands/decidim/meetings/join_meeting.rb +18 -19
  27. data/app/commands/decidim/meetings/update_meeting.rb +6 -7
  28. data/app/commands/decidim/meetings/withdraw_meeting.rb +1 -1
  29. data/app/controllers/concerns/decidim/meetings/admin/invites/filterable.rb +33 -0
  30. data/app/controllers/decidim/meetings/admin/agenda_controller.rb +1 -1
  31. data/app/controllers/decidim/meetings/admin/invites_controller.rb +6 -6
  32. data/app/controllers/decidim/meetings/admin/meetings_controller.rb +2 -2
  33. data/app/controllers/decidim/meetings/admin/meetings_poll_controller.rb +12 -0
  34. data/app/controllers/decidim/meetings/application_controller.rb +1 -1
  35. data/app/controllers/decidim/meetings/live_events_controller.rb +1 -1
  36. data/app/controllers/decidim/meetings/meetings_controller.rb +3 -33
  37. data/app/controllers/decidim/meetings/polls/answers_controller.rb +10 -2
  38. data/app/controllers/decidim/meetings/registrations_controller.rb +3 -3
  39. data/app/forms/decidim/meetings/admin/meeting_registrations_form.rb +1 -1
  40. data/app/forms/decidim/meetings/admin/question_form.rb +8 -4
  41. data/app/forms/decidim/meetings/answer_form.rb +4 -4
  42. data/app/forms/decidim/meetings/meeting_form.rb +1 -1
  43. data/app/helpers/decidim/meetings/application_helper.rb +1 -5
  44. data/app/mailers/decidim/meetings/close_meeting_reminder_mailer.rb +1 -1
  45. data/app/models/decidim/meetings/meeting.rb +10 -4
  46. data/app/models/decidim/meetings/poll.rb +8 -0
  47. data/app/models/decidim/meetings/question.rb +1 -0
  48. data/app/models/decidim/meetings/questionnaire.rb +0 -6
  49. data/app/packs/src/decidim/meetings/admin/meetings_form.js +3 -3
  50. data/app/packs/src/decidim/meetings/meetings_form.js +3 -3
  51. data/app/packs/src/decidim/meetings/meetings_polls.js +5 -0
  52. data/app/packs/src/decidim/meetings/poll.component.js +32 -4
  53. data/app/packs/stylesheets/decidim/meetings/_item.scss +109 -1
  54. data/app/packs/stylesheets/decidim/meetings/_live_event.scss +0 -94
  55. data/app/permissions/decidim/meetings/permissions.rb +20 -0
  56. data/app/presenters/decidim/meetings/meeting_presenter.rb +5 -2
  57. data/app/services/decidim/meetings/calendar/component_calendar.rb +1 -1
  58. data/app/services/decidim/meetings/calendar/meeting_to_event.rb +1 -1
  59. data/app/services/decidim/meetings/close_meeting_reminder_generator.rb +1 -1
  60. data/app/services/decidim/meetings/meeting_iframe_embedder.rb +2 -2
  61. data/app/views/decidim/meetings/admin/agenda/_agenda_item.html.erb +3 -3
  62. data/app/views/decidim/meetings/admin/agenda/_agenda_item_child.html.erb +3 -3
  63. data/app/views/decidim/meetings/admin/agenda/_agenda_item_fields.html.erb +3 -3
  64. data/app/views/decidim/meetings/admin/invite_join_meeting_mailer/invite.html.erb +3 -1
  65. data/app/views/decidim/meetings/admin/invites/_form.html.erb +4 -4
  66. data/app/views/decidim/meetings/admin/invites/index.html.erb +4 -34
  67. data/app/views/decidim/meetings/admin/meetings/_form.html.erb +8 -8
  68. data/app/views/decidim/meetings/admin/meetings/_service.html.erb +3 -3
  69. data/app/views/decidim/meetings/admin/meetings/index.html.erb +2 -2
  70. data/app/views/decidim/meetings/admin/poll/_answer_option.html.erb +1 -1
  71. data/app/views/decidim/meetings/admin/poll/_answer_option_template.html.erb +1 -1
  72. data/app/views/decidim/meetings/admin/poll/_form.html.erb +26 -25
  73. data/app/views/decidim/meetings/admin/poll/_question.html.erb +18 -16
  74. data/app/views/decidim/meetings/admin/poll/edit.html.erb +4 -6
  75. data/app/views/decidim/meetings/admin/registrations/edit.html.erb +2 -4
  76. data/app/views/decidim/meetings/close_meeting_reminder_mailer/close_meeting_reminder.html.erb +1 -1
  77. data/app/views/decidim/meetings/layouts/live_event.html.erb +1 -15
  78. data/app/views/decidim/meetings/meetings/_datetime.html.erb +4 -4
  79. data/app/views/decidim/meetings/meetings/_form.html.erb +17 -17
  80. data/app/views/decidim/meetings/meetings/_meeting.html.erb +2 -1
  81. data/app/views/decidim/meetings/meetings/_meeting_agenda.html.erb +2 -2
  82. data/app/views/decidim/meetings/meetings/_meeting_aside.html.erb +3 -1
  83. data/app/views/decidim/meetings/meetings/_meeting_minutes.html.erb +1 -1
  84. data/app/views/decidim/meetings/meetings/_meeting_poll_actions.html.erb +15 -0
  85. data/app/views/decidim/meetings/polls/answers/_multiple_option.html.erb +6 -10
  86. data/app/views/decidim/meetings/polls/answers/_single_option.html.erb +4 -10
  87. data/app/views/decidim/meetings/polls/answers/admin.html.erb +34 -0
  88. data/app/views/decidim/meetings/polls/answers/index.html.erb +36 -0
  89. data/app/views/decidim/meetings/polls/questions/_closed_question.html.erb +8 -2
  90. data/app/views/decidim/meetings/polls/questions/_index_admin.html.erb +27 -24
  91. data/app/views/decidim/meetings/polls/questions/_published_question.html.erb +14 -11
  92. data/app/views/decidim/meetings/polls/questions/_question.html.erb +1 -1
  93. data/app/views/decidim/meetings/polls/questions/index.js.erb +3 -3
  94. data/app/views/decidim/meetings/polls/questions/index_admin.js.erb +3 -3
  95. data/app/views/devise/mailer/join_meeting.html.erb +3 -1
  96. data/app/views/devise/mailer/join_meeting.text.erb +3 -1
  97. data/config/locales/ar.yml +0 -10
  98. data/config/locales/bg.yml +44 -12
  99. data/config/locales/ca.yml +44 -12
  100. data/config/locales/cs.yml +24 -12
  101. data/config/locales/de.yml +44 -12
  102. data/config/locales/el.yml +0 -10
  103. data/config/locales/en.yml +44 -12
  104. data/config/locales/es-MX.yml +44 -12
  105. data/config/locales/es-PY.yml +44 -12
  106. data/config/locales/es.yml +44 -12
  107. data/config/locales/eu.yml +44 -12
  108. data/config/locales/fi-plain.yml +44 -12
  109. data/config/locales/fi.yml +44 -12
  110. data/config/locales/fr-CA.yml +44 -12
  111. data/config/locales/fr.yml +44 -12
  112. data/config/locales/ga-IE.yml +0 -5
  113. data/config/locales/gl.yml +0 -4
  114. data/config/locales/hu.yml +0 -7
  115. data/config/locales/id-ID.yml +0 -3
  116. data/config/locales/is-IS.yml +0 -3
  117. data/config/locales/it.yml +0 -8
  118. data/config/locales/ja.yml +44 -12
  119. data/config/locales/lb.yml +0 -3
  120. data/config/locales/lt.yml +0 -10
  121. data/config/locales/lv.yml +0 -3
  122. data/config/locales/nl.yml +0 -10
  123. data/config/locales/no.yml +0 -9
  124. data/config/locales/pl.yml +44 -12
  125. data/config/locales/pt-BR.yml +17 -12
  126. data/config/locales/pt.yml +0 -8
  127. data/config/locales/ro-RO.yml +0 -10
  128. data/config/locales/ru.yml +0 -3
  129. data/config/locales/sk.yml +0 -3
  130. data/config/locales/sv.yml +3 -14
  131. data/config/locales/tr-TR.yml +0 -4
  132. data/config/locales/uk.yml +0 -3
  133. data/config/locales/zh-CN.yml +0 -4
  134. data/config/locales/zh-TW.yml +0 -10
  135. data/db/migrate/20240130135858_add_withdrawn_fields_on_meetings.rb +23 -0
  136. data/decidim-meetings.gemspec +1 -1
  137. data/lib/decidim/api/meeting_type.rb +3 -0
  138. data/lib/decidim/meetings/component.rb +2 -2
  139. data/lib/decidim/meetings/engine.rb +5 -1
  140. data/lib/decidim/meetings/meeting_serializer.rb +3 -1
  141. data/lib/decidim/meetings/seeds.rb +25 -15
  142. data/lib/decidim/meetings/test/factories.rb +1 -1
  143. data/lib/decidim/meetings/test/notifications_handling.rb +1 -1
  144. data/lib/decidim/meetings/version.rb +1 -1
  145. data/lib/tasks/decidim_meetings.rake +1 -1
  146. metadata +23 -19
  147. data/app/views/decidim/meetings/admin/agenda/show.html.erb +0 -0
@@ -83,7 +83,7 @@ sv:
83
83
  'false': Tidigare
84
84
  'true': Kommande
85
85
  scope_id_eq:
86
- label: Indelning
86
+ label: Omfång
87
87
  with_any_origin:
88
88
  label: Ursprung
89
89
  values:
@@ -120,8 +120,8 @@ sv:
120
120
  maps_enabled: Karta aktiverad
121
121
  registration_code_enabled: Registreringskod aktiverad
122
122
  resources_permissions_enabled: Åtgärdsbehörigheter kan ställas in för varje möte
123
- scope_id: Indelning
124
- scopes_enabled: Aktivera indelningar
123
+ scope_id: Omfång
124
+ scopes_enabled: Omfång aktiverade
125
125
  terms_and_conditions_url_for_meeting_creators: Adress till användarvillkor för mötesförfattare
126
126
  step:
127
127
  announcement: Meddelande
@@ -248,12 +248,8 @@ sv:
248
248
  non_user: Icke befintlig deltagare
249
249
  select_user: Välj deltagare
250
250
  index:
251
- filter:
252
- all: Alla
253
- sent: Skickat
254
251
  invite_attendee: Bjud in deltagare
255
252
  invites: Inbjudningar
256
- search: Sök
257
253
  meeting_closes:
258
254
  edit:
259
255
  close: Stäng
@@ -355,14 +351,12 @@ sv:
355
351
  iframe_embed_type:
356
352
  embed_in_meeting_page: Bädda in på mötessidan
357
353
  none: Ingen
358
- open_in_live_event_page: Öppna i live event sida (med valfria omröstningar)
359
354
  open_in_new_tab: Öppna länk i ny flik
360
355
  last_activity:
361
356
  new_meeting: 'Nytt möte:'
362
357
  layouts:
363
358
  live_event:
364
359
  close: stäng
365
- questions: Frågor
366
360
  mailer:
367
361
  invite_join_meeting_mailer:
368
362
  invite:
@@ -494,12 +488,9 @@ sv:
494
488
  title: Titel
495
489
  polls:
496
490
  questions:
497
- closed_question:
498
- question_results: Resultat
499
491
  index:
500
492
  empty_questions: Under hela mötet kommer några frågor att skickas och du kommer kunna svara på dem. De kommer att visas här.
501
493
  index_admin:
502
- admin_dashboard: Adminpanel
503
494
  question: Fråga
504
495
  received_answer: mottaget svar
505
496
  received_answers: mottagna svar
@@ -544,8 +535,6 @@ sv:
544
535
  private_meeting: Privat möte
545
536
  transparent: Transparent
546
537
  withdraw: Tillbakadragna
547
- withdraw:
548
- error: Ett fel uppstod när mötet skulle tas bort.
549
538
  metrics:
550
539
  meetings:
551
540
  description: Antal skapade möten
@@ -199,12 +199,8 @@ tr:
199
199
  non_user: Mevcut olmayan katılımcı
200
200
  select_user: Katılımcı seç
201
201
  index:
202
- filter:
203
- all: Tümü
204
- sent: Gönderilen
205
202
  invite_attendee: Katılımcı davet et
206
203
  invites: Davetler
207
- search: Arama
208
204
  meeting_closes:
209
205
  edit:
210
206
  close: Kapat
@@ -164,11 +164,8 @@ uk:
164
164
  non_user: Не чинний учасник
165
165
  select_user: Оберіть учасника
166
166
  index:
167
- filter:
168
- sent: Надіслано
169
167
  invite_attendee: Запросити учасника
170
168
  invites: Запрошення
171
- search: Шукати
172
169
  meeting_closes:
173
170
  edit:
174
171
  close: Закрити
@@ -186,12 +186,8 @@ zh-CN:
186
186
  non_user: 非现有参与者
187
187
  select_user: 选择参与者
188
188
  index:
189
- filter:
190
- all: 所有的
191
- sent: 已发送
192
189
  invite_attendee: 邀请参与者
193
190
  invites: 邀请
194
- search: 搜索
195
191
  meeting_closes:
196
192
  edit:
197
193
  close: 关闭
@@ -273,13 +273,9 @@ zh-TW:
273
273
  non_user: 不存在的參與者。
274
274
  select_user: 選擇參與者
275
275
  index:
276
- filter:
277
- all: 全部
278
- sent: 傳送
279
276
  invite_attendee: 邀請的與會者
280
277
  invites: 邀請
281
278
  registrations_disabled: 你無法邀請參加者,因為註冊已被禁用。
282
- search: 搜尋
283
279
  meeting_closes:
284
280
  edit:
285
281
  close: 關閉
@@ -396,7 +392,6 @@ zh-TW:
396
392
  body: 會議<a href="%{meeting_path}">"%{meeting_title}"</a>等待關閉,請使用“關閉會議”按鈕添加會議報告。
397
393
  greetings: 問候,<br/>%{organization_name}<br/><a href="%{organization_url}">%{organization_url}</a>
398
394
  hello: 哈囉,%{username}!
399
- subject: 您現在可以在 %{organization_name} 平台上透過報告結束您的會議。
400
395
  conference_venues: 會議場地
401
396
  content_blocks:
402
397
  upcoming_meetings:
@@ -413,7 +408,6 @@ zh-TW:
413
408
  iframe_embed_type:
414
409
  embed_in_meeting_page: 嵌入會議頁面
415
410
  none: 沒有
416
- open_in_live_event_page: 在直播活動頁面開啟(附加投票選項)
417
411
  open_in_new_tab: 在新頁籤中開啟 URL
418
412
  last_activity:
419
413
  meeting_updated: '會議已更新:'
@@ -421,7 +415,6 @@ zh-TW:
421
415
  layouts:
422
416
  live_event:
423
417
  close: 關閉
424
- questions: 問題
425
418
  mailer:
426
419
  invite_join_meeting_mailer:
427
420
  invite:
@@ -552,12 +545,9 @@ zh-TW:
552
545
  title: 標題
553
546
  polls:
554
547
  questions:
555
- closed_question:
556
- question_results: 問題結果
557
548
  index:
558
549
  empty_questions: 在本次會議期間,您將收到一些問題並且您可以回答這些問題。這些問題將會在此顯示。
559
550
  index_admin:
560
- admin_dashboard: 管理員儀表板
561
551
  edit: 在管理面板中編輯
562
552
  question: 問題
563
553
  received_answer: 收到回答
@@ -0,0 +1,23 @@
1
+ # frozen_string_literal: true
2
+
3
+ class AddWithdrawnFieldsOnMeetings < ActiveRecord::Migration[6.1]
4
+ class CustomMeeting < Decidim::Meetings::ApplicationRecord
5
+ self.table_name = "decidim_meetings_meetings"
6
+ end
7
+
8
+ def up
9
+ add_column :decidim_meetings_meetings, :withdrawn_at, :datetime
10
+
11
+ CustomMeeting.where(state: "withdrawn").find_each do |meeting|
12
+ meeting.withdrawn_at = meeting.updated_at
13
+ meeting.save!
14
+ end
15
+ end
16
+
17
+ def down
18
+ # rubocop:disable Rails/SkipsModelValidations
19
+ CustomMeeting.where.not(withdrawn_at: null).update_all(state: :withdrawn)
20
+ # rubocop:enable Rails/SkipsModelValidations
21
+ remove_column :decidim_meetings_meetings, :withdrawn_at
22
+ end
23
+ end
@@ -19,7 +19,7 @@ Gem::Specification.new do |s|
19
19
  "homepage_uri" => "https://decidim.org",
20
20
  "source_code_uri" => "https://github.com/decidim/decidim"
21
21
  }
22
- s.required_ruby_version = "~> 3.1.0"
22
+ s.required_ruby_version = "~> 3.2.0"
23
23
 
24
24
  s.name = "decidim-meetings"
25
25
  s.summary = "Decidim meetings module"
@@ -45,6 +45,9 @@ module Decidim
45
45
  object.audio_url if object.closing_visible?
46
46
  end
47
47
 
48
+ field :withdrawn_at, Decidim::Core::DateTimeType, description: "The date and time this meeting was withdrawn", null: true
49
+ field :withdrawn, GraphQL::Types::Boolean, "Whether this meeting has been withdrawn or not", method: :withdrawn?, null: true
50
+
48
51
  field :created_at, Decidim::Core::DateTimeType, description: "The date and time this minutes was created", null: true
49
52
  field :updated_at, Decidim::Core::DateTimeType, description: "The date and time this minutes was updated", null: true
50
53
 
@@ -19,12 +19,12 @@ Decidim.register_component(:meetings) do |component|
19
19
  resource.template = "decidim/meetings/meetings/linked_meetings"
20
20
  resource.card = "decidim/meetings/meeting"
21
21
  resource.reported_content_cell = "decidim/meetings/reported_content"
22
- resource.actions = %w(join comment)
22
+ resource.actions = %w(join comment reply_poll)
23
23
  resource.searchable = true
24
24
  end
25
25
 
26
26
  component.register_stat :meetings_count, primary: true, priority: Decidim::StatsRegistry::MEDIUM_PRIORITY do |components, start_at, end_at|
27
- meetings = Decidim::Meetings::FilteredMeetings.for(components, start_at, end_at).except_withdrawn
27
+ meetings = Decidim::Meetings::FilteredMeetings.for(components, start_at, end_at).not_withdrawn
28
28
  meetings.count
29
29
  end
30
30
 
@@ -32,7 +32,11 @@ module Decidim
32
32
  resource :live_event, only: :show
33
33
  namespace :polls do
34
34
  resources :questions, only: [:index, :update]
35
- resources :answers, only: [:index, :create]
35
+ resources :answers, only: [:index, :create] do
36
+ collection do
37
+ get :admin
38
+ end
39
+ end
36
40
  end
37
41
  end
38
42
  scope "/meetings" do
@@ -46,7 +46,9 @@ module Decidim
46
46
  url:,
47
47
  related_proposals:,
48
48
  related_results:,
49
- published: meeting.published_at.present?
49
+ published: meeting.published_at.present?,
50
+ withdrawn: meeting.withdrawn?,
51
+ withdrawn_at: meeting.withdrawn_at
50
52
  }
51
53
  end
52
54
 
@@ -59,6 +59,7 @@ module Decidim
59
59
  def meeting_params(component:, type:, author_type:)
60
60
  start_time = ::Faker::Date.between(from: 20.weeks.ago, to: 20.weeks.from_now)
61
61
  end_time = start_time + [rand(1..4).hours, rand(1..20).days].sample
62
+ registration_type = Decidim::Meetings::Meeting::REGISTRATION_TYPES.keys.sample
62
63
 
63
64
  params = {
64
65
  component:,
@@ -78,6 +79,7 @@ module Decidim
78
79
  registrations_enabled: [true, false].sample,
79
80
  available_slots: (10..50).step(10).to_a.sample,
80
81
  author: participatory_space.organization,
82
+ registration_type:,
81
83
  registration_terms: Decidim::Faker::Localized.wrapped("<p>", "</p>") do
82
84
  Decidim::Faker::Localized.paragraph(sentence_count: 3)
83
85
  end,
@@ -118,6 +120,15 @@ module Decidim
118
120
  params # :in_person
119
121
  end
120
122
 
123
+ params = case registration_type
124
+ when :on_different_platform
125
+ params.merge(registration_url: Faker::Internet.url)
126
+ when :on_this_platform
127
+ params.merge(registrations_enabled: true)
128
+ else
129
+ params # registration_disabled
130
+ end
131
+
121
132
  case author_type
122
133
  when :user
123
134
  params.merge(
@@ -132,7 +143,7 @@ module Decidim
132
143
  user_group:
133
144
  )
134
145
  else
135
- params # oficial
146
+ params # official
136
147
  end
137
148
  end
138
149
 
@@ -146,12 +157,23 @@ module Decidim
146
157
  def create_meeting!(component:, type: :in_person, author_type: :official)
147
158
  params = meeting_params(component:, type:, author_type:)
148
159
 
149
- Decidim.traceability.create!(
160
+ resource = Decidim.traceability.create!(
150
161
  Decidim::Meetings::Meeting,
151
162
  admin_user,
152
163
  params,
153
164
  visibility: "all"
154
165
  )
166
+
167
+ Decidim::EventsManager.publish(
168
+ event: "decidim.events.meetings.meeting_created",
169
+ event_class: Decidim::Meetings::CreateMeetingEvent,
170
+ resource:,
171
+ followers: resource.participatory_space.followers
172
+ )
173
+
174
+ Decidim::Comments::Seed.comments_for(resource)
175
+
176
+ resource
155
177
  end
156
178
 
157
179
  def create_service!(meeting:)
@@ -178,19 +200,7 @@ module Decidim
178
200
  def create_meeting_registration!(meeting:)
179
201
  r = SecureRandom.hex(4)
180
202
  email = "meeting-registered-user-#{meeting.id}-#{r}@example.org"
181
- name = "#{::Faker::Name.name} #{meeting.id} #{r}"
182
- user = Decidim::User.find_or_initialize_by(email:)
183
-
184
- user.update!(
185
- password: "decidim123456789",
186
- name:,
187
- nickname: ::Faker::Twitter.unique.screen_name,
188
- organization:,
189
- tos_agreement: "1",
190
- confirmed_at: Time.current,
191
- personal_url: ::Faker::Internet.url,
192
- about: ::Faker::Lorem.paragraph(sentence_count: 2)
193
- )
203
+ user = find_or_initialize_user_by(email:)
194
204
 
195
205
  Decidim::Meetings::Registration.create!(
196
206
  meeting:,
@@ -57,7 +57,7 @@ FactoryBot.define do
57
57
  end
58
58
 
59
59
  trait :withdrawn do
60
- state { "withdrawn" }
60
+ withdrawn_at { Time.current }
61
61
  end
62
62
 
63
63
  trait :in_person do
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- shared_examples_for "emits an upcoming notificaton" do
3
+ shared_examples_for "emits an upcoming notification" do
4
4
  context "when it is a future meeting" do
5
5
  let(:future_start_date) { 3.days.from_now }
6
6
 
@@ -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.28.3"
7
+ "0.29.0.rc1"
8
8
  end
9
9
  end
10
10
  end
@@ -3,7 +3,7 @@
3
3
  namespace :decidim_meetings do
4
4
  # For privacy reasons we recommend that you delete this registration form when you no longer need it.
5
5
  # By default this is 3 months after the meeting has passed
6
- desc "Remove registration forms belonging to meetings that have ended more than X months ago"
6
+ desc "Removes registration forms belonging to meetings that have ended more than X months ago"
7
7
  task :clean_registration_forms, [:months] => :environment do |_t, args|
8
8
  args.with_defaults(months: 3)
9
9
 
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.28.3
4
+ version: 0.29.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: 2024-09-10 00:00:00.000000000 Z
13
+ date: 2024-07-16 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.28.3
21
+ version: 0.29.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.3
28
+ version: 0.29.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.28.3
35
+ version: 0.29.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.28.3
42
+ version: 0.29.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.28.3
63
+ version: 0.29.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.28.3
70
+ version: 0.29.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.28.3
77
+ version: 0.29.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.28.3
84
+ version: 0.29.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.28.3
91
+ version: 0.29.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.28.3
98
+ version: 0.29.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.28.3
105
+ version: 0.29.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.28.3
112
+ version: 0.29.0.rc1
113
113
  description: A meetings component for decidim's participatory spaces.
114
114
  email:
115
115
  - josepjaume@gmail.com
@@ -182,6 +182,7 @@ files:
182
182
  - app/commands/decidim/meetings/update_meeting.rb
183
183
  - app/commands/decidim/meetings/withdraw_meeting.rb
184
184
  - app/controllers/concerns/decidim/meetings/admin/filterable.rb
185
+ - app/controllers/concerns/decidim/meetings/admin/invites/filterable.rb
185
186
  - app/controllers/concerns/decidim/meetings/component_filterable.rb
186
187
  - app/controllers/concerns/decidim/meetings/polls_resources.rb
187
188
  - app/controllers/decidim/meetings/admin/agenda_controller.rb
@@ -310,7 +311,6 @@ files:
310
311
  - app/views/decidim/meetings/admin/agenda/_form.html.erb
311
312
  - app/views/decidim/meetings/admin/agenda/edit.html.erb
312
313
  - app/views/decidim/meetings/admin/agenda/new.html.erb
313
- - app/views/decidim/meetings/admin/agenda/show.html.erb
314
314
  - app/views/decidim/meetings/admin/invite_join_meeting_mailer/invite.html.erb
315
315
  - app/views/decidim/meetings/admin/invites/_form.html.erb
316
316
  - app/views/decidim/meetings/admin/invites/index.html.erb
@@ -348,6 +348,7 @@ files:
348
348
  - app/views/decidim/meetings/meetings/_meeting_agenda.html.erb
349
349
  - app/views/decidim/meetings/meetings/_meeting_aside.html.erb
350
350
  - app/views/decidim/meetings/meetings/_meeting_minutes.html.erb
351
+ - app/views/decidim/meetings/meetings/_meeting_poll_actions.html.erb
351
352
  - app/views/decidim/meetings/meetings/edit.html.erb
352
353
  - app/views/decidim/meetings/meetings/index.html.erb
353
354
  - app/views/decidim/meetings/meetings/index.js.erb
@@ -355,7 +356,9 @@ files:
355
356
  - app/views/decidim/meetings/meetings/show.html.erb
356
357
  - app/views/decidim/meetings/polls/answers/_multiple_option.html.erb
357
358
  - app/views/decidim/meetings/polls/answers/_single_option.html.erb
359
+ - app/views/decidim/meetings/polls/answers/admin.html.erb
358
360
  - app/views/decidim/meetings/polls/answers/create.js.erb
361
+ - app/views/decidim/meetings/polls/answers/index.html.erb
359
362
  - app/views/decidim/meetings/polls/questions/_closed_question.html.erb
360
363
  - app/views/decidim/meetings/polls/questions/_index.html.erb
361
364
  - app/views/decidim/meetings/polls/questions/_index_admin.html.erb
@@ -511,6 +514,7 @@ files:
511
514
  - db/migrate/20210928095036_rename_upcoming_events_content_block_to_upcoming_meetings.rb
512
515
  - db/migrate/20211105115625_remove_not_null_on_customize_registration_email.rb
513
516
  - db/migrate/20230427105701_change_types_and_registration_types_on_meetings.rb
517
+ - db/migrate/20240130135858_add_withdrawn_fields_on_meetings.rb
514
518
  - decidim-meetings.gemspec
515
519
  - lib/decidim/api/agenda_item_type.rb
516
520
  - lib/decidim/api/agenda_type.rb
@@ -560,14 +564,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
560
564
  requirements:
561
565
  - - "~>"
562
566
  - !ruby/object:Gem::Version
563
- version: 3.1.0
567
+ version: 3.2.0
564
568
  required_rubygems_version: !ruby/object:Gem::Requirement
565
569
  requirements:
566
- - - ">="
570
+ - - ">"
567
571
  - !ruby/object:Gem::Version
568
- version: '0'
572
+ version: 1.3.1
569
573
  requirements: []
570
- rubygems_version: 3.3.7
574
+ rubygems_version: 3.4.10
571
575
  signing_key:
572
576
  specification_version: 4
573
577
  summary: Decidim meetings module